本日開催された「第74回R勉強会@東京 (#TokyoR) 」にて「Soccer × Attribution Analysis」の題目でLTをしました。
発表内容
概要
マーケティング分析の手法である「アトリビューション分析」を、趣味のサッカーに適用する話です。
課題と目的
サッカーでは一般にゴールを取る人が目立つ傾向にありますが、ゴールに至る過程も同様に大切です。いわゆる「いぶし銀」の活躍をする選手も合わせて評価する仕組みを作りたいと考えました。
手法
そこで、全過程を考慮し評価するマーケティングの手法「アトリビューション分析」を用います。詳細は下記リンクなどをご参照ください。
ケーススタディ
DAZNで再生して、浦和レッズのゴールシーン4試合8ゴール分についてデータセットを作成しました。以下のような形式でデータを保持しています。
"森脇 > 興梠 > 興梠 > 宇賀神 > 槙野 > 柏木 > 宇賀神 > 青木 > 武藤"
「興梠 > 興梠」となっている箇所は、「興梠選手がパスを受け取ってドリブルをした」という意味です。
library(ChannelAttribution) # ヒューリスティックモデルを推定 H = heuristic_models(Data, 'path', 'total_conversions') # マルコフ連鎖モデルを推定 M = markov_model(Data, 'path', 'total_conversions', out_more = TRUE)
data.frameを作成し、Rの ChannelAttribution パッケージに突っ込みました。
CRAN - Package ChannelAttribution
結果と考察
全過程を考慮し評価する「線形モデル」や「マルコフ連鎖モデル」において、「終点モデル」や「起点モデル」であまり目立たなかった宇賀神選手、長澤選手、青木選手の貢献度が高くなっていると分かります。彼らは「点に直接は関与しなくても中盤で奮闘している選手」であり、ある程度定性的に妥当性ある結果が得られていると思います。
マルコフ連鎖モデルでは、数式に基づいた応用的な議論の可能性も秘めています。例えば特定の選手が欠場した場合に「代わりに誰を入れることでゴール数を極力減らさないようにできるか」など、数字に基づいた検討が可能です。
ちなみに、ChannelAttribution パッケージでは手軽に推移確率行列を出力できます。