GPSデータのリハビリ活用法(サッカー) "They can't help you if they are not on the pitch"
Maruです。
今回もTableauの話ですが、ついにサッカー関連データを使っていきます。
今回使用するデータはあるサッカーチームのGPSデータです。(このデータは全てランダム生成したものです。)
このデータを使って、怪我をした選手がリハビリからチーム練習に復帰するにあたってどのくらいの目安で復帰する基準にするかを可視化しました。
データ内容
格納されているデータは以下の通りです。
日付/ Date (2015、2016シーズンのデータという設定)
選手名/ Player Name(Player 1, Player 2, Player 3…)
総走行距離/ Total Distance(1回の練習または試合で何m移動したか)
ハイスピード距離/ High-Speed Distance(一定のスピード以上で移動した距離)
スプリント距離/ Sprint Distance(スプリントで移動した距離)
加速/ Acceleration
減速/ Deceleration
1分あたりの総走行距離/ Total Distance per minute
1分あたりのハイスピード距離/ High-Speed Distance per minute
1分あたりのスプリント距離/ Sprint Distance per minute
1分あたりの加減速回数/ Accel & Decel per minute
最高速度/ Max Velocity
md minus (試合日をMD(Match Day)とした時に何日前か)
team day type (チーム全体のその日の活動内容)
status (team day typeに関わらずその個人の状態。available, rehab, individual training等)
Viz作成
目的がリハビリ中の選手をチーム練習に合流させるタイミングの見極めに使用することのなので、前年(2015シーズン)の怪我をしていない時の平均値と現在(2016シーズン)のリハビリ期間での平均値を比較しました。
計算フィールドを使用し、必要なデータの作成
まずは2015の怪我をしていない時の数値を計算フィールドで作成しました。
これをTotal Distanceだけでなく、High-Speed、Sprint、Accel&Decel per minuteでも作成します。
次に2016のリハビリ期間での数値を作成します。
これも怪我していない時の数値同様、他の項目でも作成します。
1度作成したものを複製して、必要なところだけ入れ替えるやり方が早いかと思います。
棒グラフ作成
先ほど作成したデータをMD Minus毎でみていきます。
2016リハ時の数値を列に、MD Minusを行に入れます。
今回はMD-4からMD-1までしか使わないので他をフィルターします。
2015の通常時の数値を詳細に入れ、レファレンスラインを入れます。
分布(Distribution)にして、各セルごとに2015の通常時の数値の30%, 50%, 70%, 100%が表示されるようにします。(30%, 50%, 70%, 100%は何となく決めたので用途に合わせて調整してください)
これで、リハビリ時の平均値が通常時の平均に比べてどのくらいなのかが見れるようになりました。
これを他の項目でも同様に作成します。
ただ、これだとまだチーム全体の平均になっていますので、選手フィルターを作成します。
MD Minusの説明
MD Minusとは何なのかを説明しますが、専門的な話なのでスキップしていただいても大丈夫です。
まずはJリーグの1シーズンの流れから説明します。
毎年、2月くらいにリーグ戦が始まり(2026年から変わります)、11月下旬〜12月上旬にかけて40試合前後を戦っていくという流れになります。
なので、基本的には毎週末、土曜か日曜のどちらかに試合があります。
その試合に向けて、4日間の練習で準備していくというのが1番多いパターンだと思います。
下の図の通り、その日の練習によって負荷が違うため、全ての練習日の平均とリハビリ時の数値を比較してしまうと、1番負荷の強い日に耐える準備でできているのかが不明になってしまうためMD Minus毎で分けています。
もちろんこれはチームによって差があるので、参考程度です。
選手フィルター
今回はダッシュボードにフィルターで選択した選手名をタイトルっぽく表示したかったのでTableau公式サイトを参考にしました。
フィルターに基づいて動的タイトルを作成する
1つ目の動画です。
タイムラインの作成
このダッシュボードでは平均値の比較だけでなく、日毎に実際にどれくらいの数値を出していたのかを見るタイムラインも作成しました。
これはTableauを使ったことのある方であればかなり簡単なグラフになっています。
1分あたりの数値のデータもあるので、二重軸を使用して棒グラフと線グラフを重ねました。
日付を全て表示するとかなりの量になってグラフが見えなくなるので、フィルターで調整できるようになっています。
これを他の数値も同様に作成しました。
ダッシュボード作成
ついにダッシュボード作成に入っていきます。
Total Distance, High-Speed, Sprint, Accel&Decelの4つの棒グラフがあるのでうまく均等に入るよう、Vertical Containerを先にダッシュボードに追加します。
これを入れた後に、4つの棒グラフを入れるとうまく均等に配分されました。
次に先ほど作成した選手フィルターをタイトルっぽくなるように入れます。
左に選手名、真ん中にグラフの説明、右にフィルターとなるよう配置します。
これでホーム画面的な、Overallが見れるページの完成です。
次にタイムラインのダッシュボードも作成します。
ここは比較的簡単で、コンテナも必要なく、グラフの上に選手フィルターで作成したものを表示するだけです。
次にダッシュボードのアクションを使用して、各棒グラフをクリックしたときにそれぞれのタイムラインに移動できるようにします。
これをすると、ツールヒントの中に青文字で指定したダッシュボードに飛ぶボタンが出てきます。
実際にタイムラインのダッシュボード画面に飛んでいればOK
まとめ
いかがだったでしょうか。いきなりかなり専門的な内容でしたが、誰かの参考になれば嬉しいです。
まずは怪我をしないことが1番大事ですが、1シーズン通して戦っていれば誰かしら怪我はするもの。なので怪我をした後にいかに早く復帰するかも、同じくらい大事だと思います。このようなダッシュボードを使用することで、
チーム練習に復帰可能かどうかの客観的視点が持てる。
復帰後に再受傷するリスクを下げることができる。
リハビリ期間のトレーニング目標の設定が客観的にできる。
等の多くのメリットがあると思います。
少し話は逸れますが、先日、海外のウェビナーに参加したときにすごい共感した言葉を仰った方がいて、タイトルにもつけました。
"They can't help you if they are not on the pitch"
"ピッチに立てないのであれば、チームを助けることはできない"
まさにその通りで、どれだけ上手い選手でも、怪我をして練習にも参加できない状態だと、チームにとってプラスには一歳なりません。
今回作成したダッシュボードもそうですけど、こういった考え方も誰かの為になればと思いnoteを書きました。
また今後もサッカー✖️Tableauの話をしていこうと思います!
最後まで読んでくださりありがとうございました!
この記事が気に入ったらサポートをしてみませんか?