ジミー・バトラーがチームに加入した2025年2月以降、ゴールデンステート・ウォリアーズは復調を維持し2025/04/06時点ではプレーオフ進出圏内の5位につけています。そこで今回は、ジミー・バトラーがウォリアーズに対してどのような影響を与えたのかをチーム・選手の2つの側面から分析を進めていきたいと思います。
なお、データはBigDataBallウェブサイトにて購入したPbP. BDB(いわゆるPlay By Playデータ、過去記事を参照)を使用しており、分析は統計ソフトRにより実行しています。
※データ分析を実践する際に参考にしている書籍『Basketball Data Science: With Applications in R』の紹介記事も書いていますので、よろしければご確認ください。
ジミー・バトラー加入前後でみるウォリアーズのFour Factorsの変化<TO Ratioが改善>
まずは、ジミー・バトラーの加入によりチーム全体にどのような変化が生まれたのかを探るために、加入前の2025/01/27時点と加入後の2025/03/31時点のウォリアーズのFour factorsとRtgを比較します。
(※数値は過去記事(2025/01/27の数値はこちら、2025/03/31の数値はこちら。Four FactorsとRtgの内容についてはこちらを参照)で算出したものを利用。)
下記は、ウォリアーズのオフェンス面のFour FactorsとRtgを1/27時点の数値と3/31時点の数値で並べたものです。()内はリーグ順位を示します。
Golden State Warriors’ offensive Four Factors as of Jan-27 and Mar-31 in 2025 season
| Four Factors | Before Jimmy Butler joined 2025/1/27 | After Jimmy Butler joined 2025/3/31 | 
| eFG% | 53.1(21) | 53.47(21) | 
| TO Ratio | 14.08(14) | 13.76(12) | 
| OREB% | 27.11(6) | 27.2(5) | 
| FT Rate | 15.2(30) | 18.1(25) | 
| ORtg | 109.34(18) | 111.5(17) | 
各数値を見るとジミー・バトラー加入前後で若干の変動が確認できますが、()内のリーグ順位に限ってみれば大きな変動は見られません。
次に、ウォリアーズのディフェンス面のFour FactorsとRtgを同様の手法で並べたものを示します。
Golden State Warriors’ defensive Four Factors as of Jan-27 and Mar-31 in 2025 season
| Four Factors | Before Jimmy Butler joined 2025/1/27 | After Jimmy Butler joined 2025/3/31 | 
| eFG% | 53.64(10) | 54.03(14) | 
| TO Ratio | 14.43(13) | 15.31(4) | 
| DREB% | 76.05(9) | 75.82(10) | 
| FT Rate | 19.19(18) | 19.1(16) | 
| DRtg | 109.52(10) | 108.94(7) | 
上記の表を確認すると、ジミー・バトラー加入前後でウォリアーズのディフェンス面のTO Ratio(相手チームのポゼッションあたりでどれだけターンオーバーを誘発したか)に明確な改善が見られます。この結果により予想されることを以下にまとめます。
👆TO Ratio(Defensive)に注目
 1⃣ 数値として+0.88pt 上昇
 2⃣ リーグ順位としては 13位 → 4位にジャンプアップ
この変化は非常に大きな改善であり、ウォリアーズが相手チームからより多くのターンオーバーを奪えている(=ディフェンスの圧力が増している)ことを意味しています。
👆この変化の背景として考えられる要素
 1⃣ 好ディフェンダーであるジミー・バトラーによって、スティールが増加した可能性
 2⃣ 同選手の加入によって、他の選手もより積極的にプレッシャーをかけるようになった
📜補足:他のディフェンススタッツとの関連
 1⃣ DRtgも 109.52 → 108.94 と若干改善(※リーグ内順位も10位 → 7位)
 2⃣ eFG%や FT Rate は大きな変化はなし
    → 主にターンオーバー誘発による守備貢献が大きいと見られる
以上のにように、ジミー・バトラーの加入後、ウォリアーズのディフェンスにおけるTO Ratioは大きく改善し、リーグ上位クラスに食い込むようになりました。これは、同選手の守備的な影響が数字にも明確に表れている好例かと思われます。
ここではTO Ratioの改善が見られたことから、次はウォリアーズのスティール数(STL)を各選手ごとに注目していきます。
ジミー・バトラー加入前後でみる各プレイヤーのスティール数の変化<ドレイモンド・グリーンのスティール数が大幅に増加>
下記は、ウォリアーズの選手の1試合当たりのスティール数について、2024-25シーズン開幕~1/25の期間と1/28~4/1の期間で区切って集計し、表にまとめたものです(最終行には1試合あたりのチームのスティール数を表示しています)。
(※選手の表示に関しては1/28~4/1の期間における1試合当たりスティール数が多い順番で表示。表を作成するために使用した統計ソフトRのコマンドは後述を参照。)
Steals per game of Golden State Warriors’ player
| Player | Steals per game prior to Jan-28 in 2025 season | Steals per game from Jan-28 to Apr-1 in 2025 season | 
| Draymond Green | 0.78 | 1.8 | 
| Jimmy Butler III | NA | 1.1 | 
| Stephen Curry | 0.93 | 1.03 | 
| Moses Moody | 0.4 | 0.97 | 
| Brandin Podziemski | 0.71 | 0.93 | 
| Buddy Hield | 0.89 | 0.9 | 
| Gary Payton II | 0.49 | 0.8 | 
| Quinten Post | 0.02 | 0.5 | 
| Gui Santos | 0.18 | 0.43 | 
| Kevon Looney | 0.64 | 0.43 | 
| Dennis Schroder | 0.33 | 0.33 | 
| Jonathan Kuminga | 0.64 | 0.23 | 
| Andrew Wiggins | 0.8 | 0.13 | 
| Pat Spencer | 0.18 | 0.13 | 
| Jackson Rowe | NA | 0.1 | 
| Kevin Knox II | NA | 0.07 | 
| Yuri Collins | NA | 0.07 | 
| Lindy Waters III | 0.47 | 0.03 | 
| Trayce Jackson-Davis | 0.47 | 0.03 | 
| De’Anthony Melton | 0.16 | NA | 
| Kyle Anderson | 0.58 | NA | 
| Reece Beekman | 0.02 | NA | 
| *Team Average | 8.69 | 10.03 | 
上記の表を確認すると、チームのスティール数(1試合あたり)の増加はもちろんの事、特定の選手のスタッツにも大きな変化が見られます。この結果により考えられることを以下にまとめます。
👆チーム平均のスティール数(1試合あたり)
1⃣ +1.34本の増加(約15.4%アップ)
この増加により、2月のチームのスティール数(1試合あたり)は10.5本でリーグ2位、3月の同スタッツは9.9本でリーグ1位まで上昇し、リーグトップ水準のチームスティールをマークするようになりました。(スタッツはNBA公式より引用。)このことによりチーム全体の守備連携の向上やチーム全体の守備行動の活性化がうかがえます。
👆各選手のスティール数の変化に注目
  1⃣ ドレイモンド・グリーン    0.78 → 1.80
  2⃣ ステフィン・カリー      0.93 → 1.03
  3⃣ モーゼス・ムーディー     0.40 → 0.97
  4⃣ ブランディン・ポジェムスキー 0.71 → 0.93
  5⃣ ゲイリー・ペイトンⅡ     0.49 → 0.80
ジミー・バトラー自身の1.1本(試合当たり)という守備力が加わっただけではなく、複数選手に関しては、明確にスティール数が伸びていることが分かります。ジミー・バトラーが加わったことで、パスコースの遮断やディフェンスのローテーションの改善などがなされた可能性も考えられます。また、もともと好ディフェンダーであるドレイモンド・グリーンに関しては、ジミー・バトラーの加入に伴い守備負担が軽減され、ドレイモンド本来のディフェンス面での読みやタイミングを窺う能力が復活したのかもしれません。
なお、今季のウォリアーズのスティールの実際の場面をNBA公式で確認することが出来ます。実際のスティールの場面について、2月以降のスティールに特に注目してみると、スティール後のポゼッションで得点を獲得している頻度が増えているような印象を受けました。
そこで次は、NBA公式で公表されている%PTS Off TO(相手ターンオーバー後のポゼッションでチームが獲得した得点の割合)に注目していきます。
ジミー・バトラー加入前後でみるウォリアーズのトラジションオフェンスの変化<%PTS Off TOがリーグトップへ>
下記は、ウォリアーズの%PTS Off TO(相手ターンオーバー後のポゼッションでチームが獲得した得点の割合)に関して、月別にその推移をまとめた表およびグラフとなります。
(※()内はリーグ順位を示し、実際の数値はNBA公式HPより引用。グラフを作成するために使用した統計ソフトRのコマンドは後述を参照。)
Golden State Warriors’ %PTS OFF TO in 2024-25 season
| October | November | December | January | February | March | |
| %PTS OFF TO | 19.9(4) | 15.5(16) | 16.2(16) | 15.7(14) | 20.8(1) | 18.1(1) | 

上記のチャートを確認すると、ジミー・バトラーの加入前後である1月以前と2月以降でリーグ順位が大きく変動していることが分かります。上記チャートから読み取れる事や、既に確認したTO Ratioの改善、スティール数の増加も踏まえた上で考えられる事を下記にまとめていきます。
👆ウォリアーズの%PTS Off TOの月別推移
  1⃣ 1月まで(ジミー・バトラー加入前)
   → %PTS Off TOはリーグ中位
   → 相手チームのTOVはあっても得点につながっていなかった可能性あり
  2⃣ 2月・3月(ジミー・バトラー加入以降)
   → %PTS Off TOはリーグ1位に上昇
   → TOVからのポゼッションをしっかりと得点につなげている
👆チームディフェンスの向上とトランジションオフェンスの相乗効果
  1⃣ チームディフェンスの向上により相手チームのTOVが増加
    → ジミー・バトラーの加入、ドレイモンドの復調などもあって守備の連携・圧力が強化
    → その結果、相手のターンオーバーをより多く誘発できるようになった
  2⃣ スティール数の増加に伴いトランジションオフェンスの機会が増加
    → ドレイモンド、バトラー、カリーなどがスティールで攻撃起点を作り出す
    → スティール後に走る選手の位置取りや判断などトランジションの完成度が上がっている
  3⃣ スティールを起点に“得点する力”も向上したことで%PTS Off TOが急上昇
    → 2月・3月にリーグトップの%PTS Off TOをマーク
    → 単なるスティール数の増加にとどまらず、そこから効率よく得点を取れるようになった
以上を考慮すると、ジミー・バトラーの加入はウォリアーズのディフェンスの質を高めると同時に、チーム全体のトランジション(ディフェンス→オフェンス)の精度にも影響を与えたと考えられます。その結果、スティール数とトランジションオフェンスが一体となって向上する相乗効果が生まれ、これが%PTS Off TOのリーグトップという結果に繋がったと思われます。
おわりに
今回はジミー・バトラーの加入がウォリアーズに与えた影響について、TO Ratioとスティール数を起点に確認していきました。同選手の加入によりウォリアーズのディフェンスは、TO Ratioの改善やスティール数の増加などのように目に見える形で強化されました。また、これらの改善にとどまらず、チーム全体のトランジションオフェンスの精度を高めたという点でも極めてインパクトが大きかったと考えられます。
なお、個人能力の高いジミー・バトラーの加入がウォリアーズの復調に大きな影響を与えたのは確かだと思われますが、各選手の変化や復調に関しては同選手の加入以外にもいくつかの要因があると考えられます。3月の月間最優秀守備選手に選出されたドレイモンド・グリーンを例に挙げると、メンタル・コンディションの改善や最優秀守備選手賞(DPOY)獲得へのモチベーションの復活などもあり、これらもプレー復調の要因として考えられそうです。
(※メンタル・コンディションの改善についてはESPNの記事、DPOY獲得へのモチベーションの復活についてはGolden State of Mindの記事を参考。)
それでは、今回のトラッシュトークは以上です。
※参考<統計ソフトRに入力するコマンド>
統計ソフトRのインストール手順をまとめた記事も作成していますので、よろしければご参考ください。
library(BasketballAnalyzeR)
library(dplyr)
library(ggplot2)
dts.PbP.2425 <- read.csv(file="(10-22-2024)-(04-02-2025)-combined-stats.csv")
PbP2425 <- PbPmanipulation(dts.PbP.2425)
# Table of STL per game
PbP2425g <- subset(PbP2425, steal!="" & oppTeam=="GSW")
PbP2425g1 <- PbP2425g %>%
              filter(date < "2025-01-28")
PbP2425g2 <- PbP2425g %>%
              filter(date > "2025-01-25")
table1 <- table(PbP2425g1$steal)
table2 <- table(PbP2425g2$steal)
data1 <- data.frame(table1)
data1 <- rename(data1, Player1=Var1, STL1=Freq)
data2 <- data.frame(table2)
data2 <- rename(data2, Player2=Var1, STL2=Freq)
data3 <- full_join(data1, data2, by=c("Player1"="Player2"))
game1 <- table(PbP2425g1$game_id)
GP1 <- nrow(game1)
game2 <- table(PbP2425g2$game_id)
GP2 <- nrow(game2)
datagsw <- data.frame(Player=data3$Player1, STL1=data3$STL1/GP1, STL2=data3$STL2/GP2)
dataGSW <- data.frame(Player=datagsw$Player, STL1perGame=round(datagsw$STL1, 2), STL2perGame=round(datagsw$STL2, 2))
sort1 <- order(dataGSW$STL2perGame, decreasing=TRUE)
dataGSW[sort1,]
team_avg_STL1 <- sum(data3$STL1, na.rm = TRUE)/GP1
team_avg_STL2 <- sum(data3$STL2, na.rm = TRUE)/GP2
team_avg_row <- data.frame( 
 Player = "Team Average",
  STL1perGame = round(team_avg_STL1, 2),
  STL2perGame = round(team_avg_STL2, 2)
)
dataGSW_with_avg <- rbind(dataGSW[sort1,], team_avg_row)
write.csv(dataGSW_with_avg, "dataGSW_with_team_avg.csv", row.names = FALSE)
# Chart of %PTS Off TO
df <- data.frame(
  Month = factor(c("Oct", "Nov", "Dec", "Jan", "Feb", "Mar"),
                 levels = c("Oct", "Nov", "Dec", "Jan", "Feb", "Mar")),
  Rank = c(4, 16, 16, 14, 1, 1)
)
ggplot(df, aes(x = Month, y = Rank, group = 1)) +
  geom_line(color = "steelblue", size = 1.2) +
  geom_point(size = 3, color = "darkblue") +
  geom_text(aes(label = Rank), vjust = -0.8, size = 4) +  
  geom_vline(xintercept = 4.5, linetype = "dashed", color = "red") +
  scale_y_reverse(breaks = seq(1, 30, 5)) +
  labs(
    title = "%PTS Off TO - League Ranking (by Month)",
    subtitle = "Improvement after Jimmy Butler joined",
    x = "Month",
    y = "League Rank"
  ) +
  theme_minimal() 
  
  
  
  
 
  
