myRoupeiro 〜 サッカーの試合のログを取ってデータ分析するアプリ 〜 ver.2 の使いかた

Ver.2

myroupeiro_ver2

English

myRoupeiroって何ですの?

「myRoupeiro」はサッカーの試合記録をとってプレーを分析するための無料アプリです。

  • 試合のビデオを観ながら、誰がいつどこでどのようにボールに関与したのかをポチポチと記録して、データ分析結果を可視化するツールです
  • 試合におけるシュートやパスなど、さまざまなイベントデータを記録し可視化することができます
  • 可視化した分析結果は対話的に確認することができます
  • 分析結果はhtmlファイルに保存されるので、他のデバイスで確認したり、チームで共有したりできます
  • 入力したデータはcsvファイルとxmlファイルに保存されるので、別途自分で好きなように加工して使うこともできます
  • データは詳細に記録することも、気になるものだけざっくり記録することもできます
  • ハーフサイズのコートにも対応しているので少年サッカーの分析にも使えます
  • 完全無料です

もともとは本サイトの運営者が、自分たちのサッカーチームの試合記録・分析用に良かれと思って作成したプログラムです。これを誰でも使用できるようにアプリ化したものがmyRoupeiroです(androidのみ)。

myroupeiro_ver2-playstore
myRoupeiro – soccer analyzer
Google Play で手に入れよう

Roupeiro(ポルトガル語、「ホペイロ」と読みます)は、サッカーチームの用具係という意味で、チームを支える大事な裏方のことです。

これにちなんで、チームを支えるための役立つツールになればいいなと思い、myRoupeiroという名称にしました。

myRoupeiroで分析した結果を、日々の練習や次の試合に活かしていただければうれしいです。

こんな感じです

試合中のイベントを可視化してみる

  • シュート
  • ゴール
  • パス
  • フリーキック etc.

チームデータを眺めてみる

  • 試合スタッツ
  • チームのイベントデータ
  • パスマトリックス
myRoupeiro_individual_data

個人データを分析してみる

  • 個人のイベントデータ
  • パス方向、距離、成否割合
  • ヒートマップ
  • イベントマップ

試合中のイベントを時系列で追ってみる

myroupeiro_ver2_event_logger_with_video_img

データ入力画面

試合中のさまざまなイベントをぽちぽち記録していきます

アプリ内でビデオも再生できます(ver.2.0.0から)

注意事項

  • ビデオ再生ができるようになりました(ver.2.0.0から)
  • あくまでビデオカメラで追って撮影できた範囲で、ボールの近くでプレーした選手に注目して記録と分析をするためのアプリです。
    ですので、ボールそのものの動きや、選手たちのオフザボールでの動きや試合を通してのトラッキングデータを分析したい、といった用途には対応していません
  • 日本語入力・表示(試合情報とチーム情報)にも対応しています。

使い方

<データ記録編>

誰がいつどこでどのようにボールに関与したのか(ここでは「イベント」と呼ぶことにします)を記録していきます。

アプリの起動と終了

myroupeiro_ver2_icon_img
起動 通常のアプリの起動と同じように、アイコンをタップすれば起動します
終了 通常のアプリの終了と同じように、Androidのタスクボタン(□)をタップしてマルチタスク画面を表示し、起動中のmyRoupeiroをスワイプして終了します

メモ:myRoupeiroには完全なオートセーブ機能が付いていませんが、イベントデータを追加するたびにデータを保存することができるセミオートセーブ機能を実装しました。これを活用することで、こまめにデータを保存することができます。

画面の説明

ホーム画面

アプリを起動するとホーム画面が表示されます。

myroupeiro_ver2_main_screen
Create New data新規のデータを作成します
マッチインフォメーション画面に移動します
Continue with existing data既にあるデータファイル(.csvと.xml)を読み込んでデータの記録を続けます
Review analyzed data作成済みの解析データファイル(.html)を読み込んでデータの表示を行います
manualマニュアルページ(外部ページ = このページ)へ移動します
licenseアプリのライセンスを確認します
privacy policyプライバシーポリシーのページ(外部ページ=当ブログの別ページ)へ移動します
パレットアイコンアプリのベースカラーを変更できます(お好みで)

マッチインフォメーション画面

試合情報を入力します。

ビデオプレーヤーを使用する場合は動画ファイルを選択し読み込みます。

myroupeiro_ver2_mymatch_informatin_screen_w_annotation
Match Title Here試合名を入力します。入力された試合名はデータファイルや分析ファイルのファイル名に付与されます
*入力なしの場合は”untitled_match_data”とファイル名に付与されます
Team Name自チーム名と相手チーム名を入力します
*入力なしの場合は”my team”または”opp team”と表示されます
③④Kickoff Date and Timeキックオフ日時を各アイコンから選択します
*入力しなくても使えます。
Pitch sizeピッチサイズをノーマルサイズ(68m x 105 m)またはハーフサイズ (50 m x 68 m)から選択します
*非選択の場合はノーマルサイズとみなされます
Video Playerビデオプレーヤーを使用する場合はボタンをONにして、動画ファイルを選択します

イベント入力画面

イベントの入力などを行います(画面はビデオ再生をしない場合のもの)。

myroupeiro_ver2_event_logger_now_entering

メニューバー

myroupeiro_ver2_event_logger_menu
≡ (メニュー)チーム情報入力などのメニューを開きます
セーブデータをセーブします
分析データを分析し、分析データのファイルを生成します
Remove ads短い動画広告の視聴を完了することで、一定時間すべての広告を非表示にすることができます
ホームmyRoupeiro起動時のホーム画面に戻ります

・メニュー

myroupeiro_ver2_menu_opened_w_annotation
Edit Match Infoマッチインフォメーション画面を開きます
Edit My Team member自チームのメンバー情報の入力画面を開きます
Edit Opp Team member 相手チームのメンバー情報の入力画面を開きます
Remove ads短い動画広告の視聴を完了することで、一定時間すべての広告を非表示にすることができます (メニューバーのRemove adsアイコンと同じです)
Auto save ?オートセーブ(セミオートですが)機能をOnにします
*イベントデータを追加するたびにデータを保存するようになります
バージョン情報アプリのバージョン

・チームのメンバー情報の入力画面

選手の背番号、選手名、ポジションの設定画面です(画面は自チーム用)

24名まで設定できます。

myroupeiro_ver2_my_team_info
Number背番号
Name選手名
Positionポジション(ドロップダウンからポジションを選択します)

メモ
・入力なしの場合は元々表示されている番号と名前が使用されます
・選手のポジションの入力は任意です(データ解析に影響はありません)

ビデオ時間入力前半/後半選択・Kickoff時間入力

myroupeiro_ver2_event_logger_video_time

Video Time・記録したいイベントが起こったビデオの表示時間(時間、分、秒)を入力します
・上向きの矢印を押すと1ずつ進みます。下向きの矢印を押すと1ずつ戻ります
1st period
/ 2nd period
前半、後半を選択します(選択しなければ前半であるとみなされます)

メモ;myRoupeiroではビデオ映像を観ながら記録することを想定しているので、”ビデオ時間”を入力するようにしています。

・ビデオプレーヤーを使用している場合

myroupeiro_ver2_event_logger_with_video_w_annotation

メモ;ビデオプレーヤーの画面をタップすると再生/一時停止ができます。再生画面の左側/右側をダブルタップと10秒(再生時)/ 1秒(一時停止時)の再生ポイントの移動ができます

Video time入力ボックスにビデオプレーヤーの時間を反映させるための設定ができます

myroupeiro_ver2_video_time_syncronization_setting
Sync VIDEO TIME with Video playerOnにすると、ビデオプレーヤーの時間がVIDEO TIMEの表示に反映されます
Time Offsetビデオプレーヤーの時間に任意の時間を加算してVIDEO TIMEの表示を調整します

Player/Area

myroupeiro_ver2_event_logger_player_and_area
チーム名自チーム名/相手チーム名を表示しています
*設定はマッチインフォメーション画面で行います
得点自チーム/相手チームの得点を入力します
*最終結果で構いません
change ends両チームのエンド(陣地)を入れ替えます
clear dots選手の選択を解除し、イベントに関与した場所に描画したポイントを消去します
選手リスト自チーム/相手チームの選手リストを表示しています
*設定はそれぞれのチームメンバー情報の入力画面で行います
*イベントに関与した選手をここから選択します
*「dest」はボールの受け手がいなかった時のボールの行き先を記録するときに使用します
プレーエリア選手がピッチのどこでイベントに関与したかを指定する領域です

Before event

イベント前のボールの状態です

myroupeiro_ver2_event_logger_before_event

ball holder; 誰がボールを持っていたか

oneself自分自身
allymy teamの選手
oppopp teamの選手
loose ballルーズボール/ボール保持者なし
drop ballドロップボール
None非該当

ball state; ボールの高さの状態

grounderグラウンダー
lowピッチから頭までの浮き球
high頭より上の浮き球

Event

イベント選択タブ;イベントのタイプを選択するためのタブ

横にスクロールできます

myroupeiro_ver2_event_logger_event_tabs
PASSパスに関連するイベント
SHOTシュートに関連するイベント
RECOVERYボール回収やクリアに関連するイベント
FAULT RECEIVEDファールを受けた場合
SET PIECEセットプレー、スローイン、キックオフなど
BALL OUTアウトオブプレーになったプレー
CARDカード
CHALLENGEプレスやタックル、デュエルなどチャレンジングなプレー
CARRYボールを運ぶドリブルや、トラップとボールキープ

イベント内容選択ボタン;イベントの内容を選択するボタン群

myroupeiro_ver2_event_logger_event_buttons
attemptイベントのタイプの小分類
result1成功と失敗(良い失敗/悪い失敗)
result2結果の内容(該当するものがあれば選択します)
pressure
state
イベント時のプレッシャー状態
body partsプレーに関わった体の部位
Direct/Indirectダイレクトプレーか否か
ball state afterイベント後のボールの高さの状態
next playイベント後の次の展開
next holderイベント後の次のボール保持者

その他のボタン/領域

add eventボタンイベントをデータテーブルに追加します
myroupeiro_ver2_event_logger_add_event_button
Back-to-top ボタンMove to the top of the screen.
*イベントが記録された直後では選手の選択/イベント発生場所の指定もクリアします
myroupeiro_ver2_event_logger_to_top_button
通知エリアメッセージ表示領域
myroupeiro_ver2_event_logger_message_area
Stretch tableデータテーブルを広げて表示します
Edit rowチェックボックスにチェックを入れたデータ行を編集します
Ascend/Descend orderイベントデータの時間を元に降順/昇順に並べます
Delete rowチェックボックスにチェックを入れたデータ行を削除します
myroupeiro_ver2_event_logger_data_table_buttons
データテーブル追加したイベントを表示する領域
myroupeiro_ver2_event_logger_data_table_area

メモ; データテーブルのデータ行を長押しするとポップアップでそのデータを確認することができます。

イベントの記録の方法

イベントをぽちぽちと選択し記録していきます。

*選択状態のボタンを再度タップすると選択が解除されます

1マッチインフォメーション画面でタイトル、チーム名、キックオフ時間、ピッチサイズなどを入力します
ビデオプレーヤーを使用する場合は試合動画のファイルを選択します(ファイル容量が大きい場合はimportに数分かかる場合があります)
2チームのメンバー情報の入力画面で選手情報を入力します
3試合のビデオを観ながら、イベントが発生した時間をVideo Timeに入力します
*Sync VIDEO TIME with Video playerがOnの場合はビデオプレーヤーの時間がVideo Timeに反映されます
4前半/後半を選択します
5イベントに関与した選手を選択し、イベントに関与した場所をタップします

パス等でボールの受け手がいる場合は、さらに受け手の選手を選択し、ボールを受けた場所をタップします(パスが失敗した等のためにボールの受け手がいない場合は選手の代わりにdestを選択し、ボールの行き先となった場所をタップします)
*ボールの出し手の入力が常に先になり、受け手の入力が後になります。
*clear dotsで選手の選択とイベントに関与した場所の指定をリセットできます
6Before eventからイベント前のボールホルダーとボールの高さの状態を選択します
7イベント選択タブからイベントのタイプを選択します
8attemptからnext holderまでのそれぞれのイベント内容を選択します
*該当するものがなければそのままにしておきます
9add eventボタンを押してイベントデータをデータテーブルに追加します
103から9を繰り返します
*結果の選択は順不同でOKです

メモ;
イベントが重なった場合、例えば相手ボールのインターセプトがそのままパスになった場合、「リカバリー/インターセプト」と「パス」の2つのイベントに分けて入力すると良いです。

イベントデータの修正

1データテーブルにおいて修正したいイベントデータ行をのチェックボックスにチェックを入れてEdit rowボタンを押します
add eventボタンの表示が”+”から”✔️”に変わります
2イベントデータの編集が終わったら、”✔️”表示のadd eventボタンを押して編集を終了します

メモ; イベントデータの行をロングタップすると、ポップアップでその行の内容を確認することができます。ポップアップを消す場合は画面のどこかをタップします。

イベントの削除

1データテーブルにおいて削除したいイベントデータの行をのチェックボックスをタップしてチェック状態にします
2Delete rowボタンで削除します

メモ; 削除したデータ行は元に戻すことはできませんので慎重に

データの保存

入力したデータを保存します。

1メニューバーのsave ボタンをタップします
2ファイル名を指定してsaveします
3.xmlファイルと.csvが生成します。
.xmlファイル試合データと選手データを格納しています
.csvファイルイベントデータを格納しています

メモ:
・こまめにデータを保存することをお勧めします
・データは「ダウンロード」フォルダに保存されます

データの読み込み

myRoupeiroで作成したデータファイル(.xmlファイル、.csvファイル)を読み込みます

1ホーム画面でContinue with existing dataタップします
2読み込みたい.xmlと.csvファイルを選択し、Importボタンをタップして読み込みます
*Androidではファイル選択画面でファイルを長押しすると、複数ファイルを選択できるようになります
*1ファイルずつ読み込むこともできます

<データ分析編>

分析を開始する

画面上部にあるメニューバーの分析ボタンをタップすると、分析が始まり、分析が終了するとMatch Results 画面に移動します。

myroupeiro_ver2_event_logger_analyze_button

Match Results 画面

この画面を起点に、それぞれの分析結果を表示することができます

myroupeiro_ver2_match_result_screen
Event Dataイベントデータ分析結果
Team Dataチームデータ分析結果
Individual Data選手の個人データ分析結果
Time Series of Dataイベントが発生した場所の時系列表示
return to homeホーム画面(アプリ起動時の画面)に戻ります

メモ:
・分析結果はhtmlファイルに保存されるので(データは「ダウンロード」フォルダに保存されます)、他のデバイスのブラウザ上で確認したり、チームで共有したりできます

<Event Data>

myRoupeiro_freekicks
*Freekicksの結果例
データ名説明
Shotsシュート
Goalsゴールに直結したイベント
Cornersコーナーキックとその次のイベント
Freekicksフリーキックとその次のイベント
Challengesプレス(緩いものも含む)、デュエル、タックル、 チャレンジングなドリブル
Recoveriesパスのインターセプト、ボール回収など
Turnoversパスをインターセプトされて攻守が切り替わった、などの攻守の切り替わり
Shot Assistsシュートをアシストしたイベント
Assistsゴールをアシストしたイベント
Passes成功したパスの出し手と受け手の位置。矢印はボー ルの移動方向
Passers成功したパスの出し手
Receivers成功したパスの受け手

ポップアップについて
マーカーをマウスオーバーするとポップアップで詳細を確認することができます。
例;Shots

myRoupeiro_shots
ポップアップの表示説明
1(-23.32, -2.04)センターマークを原点(0, 0)としたx座標とy座標 (原点からのおおよそのx軸距離とy軸距離(メートル))
2Time 52ʼ25”ビデオでの表示時間(試合の経過時間とは一致していません)
3sane (no.10 Byern)プレーヤー名(背番号 チーム名)
4oneselfイベントの前のボールの保持者
5grounderイベントの前のボールの高さ
6SHOTイベントのタイプ
7Successイベントの成否(result1)
8GOALイベントの結果 (result2)
9loose pressイベント時に受けているプレッシャー状態(その他の例;自分_on_相手)
10foot Lプレーした部位
11INDIRECTダイレクトプレーかどうか
12ON TARGET枠に飛んだかどうか
13longイベント後のボールの飛距離。longは30m程度上
14highイベント後のボールの高さ(high; 頭より上)
15KICK OFFイベント後の次のプレー(ゴールだったので、次はキックオフ)

<Team Data>

Stats tableについて

myRoupeiro_statstable
*Barcelonaのデータは主要なものしか記録していないので、パスの数字と成功率は実際とは異なります。
項目説明
GOAL得点数
BALL POSSESSIONボール保持率(%)
*my Teamのボール保持時間からの概算
SHOTS(On target)シュート本数
*シュートの意図がみられたが惜 しくもボールに触れなかったもの(result2; close to touch)を含む
*括弧内は枠内シュート数
PASSES(Success)成功したパス数
*括弧内は成功率(%)
DUEL
GROUND(Won)
空中戦でないデュエル勝ち数
*括弧内は勝率(%)
DUEL
AERIAL(Won)
空中戦のデュエル勝ち数
*括弧内は勝率(%)
CORNERSコーナーキック数
PENALTIESペナルティーキック数
CARDSカードを出された数

Tree Mapについて

ボールに関わった全イベントをまとめています。

myRoupeiro_event_treemap
  • 前半と後半に分けて表示しています。
  • そこに、イベントの種類ごとに分類された結果が入れ子になっています。
  • さらに、それぞれのイベントの中に個人ごとの結果が入れ子になっています。
  • 面積が大きいものほどイベントのカウント数が多いことになります。
  • 入れ子になっている部分をタップすることで内訳を見ることができます
    • その他の主な内訳
      • 成功/良い失敗/悪い失敗
      • プレッシャー状態(フリー/緩いプレス/1対1/1対多/多対1)
      • プレー部位
      • ダイレクトプレー/ダイレクトプレーでない
      • プレー方向
      • ボール飛距離(ボールを蹴った場合)etc.
        *選択したときに出てくる数字はイベントがカウントされた回数
        *Noneは無視します

Pass Matrixについて

成功したパスの出し手と受け手を示すマトリックス表です

myRoupeiro_passmatrix

*縦軸; 出し手 / 横軸; 受け手

*パスの数が多いほど赤色が濃くなります

<Individual Data>

個人データです。

myRoupeiro_individual_data
Event tree map個人が関与したイベントとその内訳
*タップで詳細を確認することができます
Pass direction/distance全パスの内訳 (方向、距離、本数、その方向での成否)
*体の向きに関係なく、常に相手ゴールライン側が上で、自陣ゴールライン側が下
*円の内側から、
・ショートパス(15m程度まで)
・ミドルパス(15m〜30m程度まで)
・ロングパス(30m程度以上)
*本数が多いほど色が濃い
Heat mapイベント発生場所と回数
*前半と後半の攻撃方向が同じ方向になるように表示しています
Event mapイベント発生場所と種類
*前半と後半の攻撃方向が同じ方向になるように表示しています
*下にある凡例のクリックで表示のon/offができます

<Time Series of Events>

時系列でイベントを発生場所とともに確認できます

ドットの色はイベント直前のボールホルダー(Before eventの段でball holderとして入力されたもの)を示しています

●;自チームボール

●;ルーズボール

●;相手ボール

<イベントの定義/説明>

*チームの状況に合わせて使いやすいように再解釈、再定義しても良いと思います

PASS; パス

大分類説明
normal普通のパス
CROSSクロス
THROUGH BALLスルーパス
DEEP BALLディフェンス裏狙いのハイボール
Kick(GK)ボールキャッチ後のGKのキックによるパス
Throw(GK)ボールキャッチ後のGKのスローによるパス
VOLUNTARY意図的にボールを相手に返した
小分類説明
OFFSIDEオフサイドになる
CLEARANCEクリアされる
assistアシストする
Loose ballルーズボールになる
SAVEDキーパーにセーブまたはキャッチされる
Mistake(opp)パスの質は低かったが相手のミスで何故かうまくいった
Pass to opps相手チームにパスをしてしまった
Aiming spaceスペース狙い
miskickミスキック/パスミス
OUTそのままアウトオブプレーになる
INTERCEPTIONインターセプトされる
BLOCKEDブロックされる
REFEREE HIT審判に当たる

SHOT; シュート

大分類説明
GOALゴール
BLOCKEDブロックされる
SAVEDキーパーにセーブまたはキャッチされる
WOODWORK枠に当たる
OUT枠外でそのままアウトオブプレー
Close to touch惜しくも触れなかった(シュートとしてカウント)
REFEREE HIT審判に当たった
方向説明
ON TARGET枠内シュート
OFF TARGET枠外シュート

Recovery; リカバリー

大分類説明
CLEARANCEクリアした
INTERCEPTIONインターセプトした
Ball recoveryルーズボール/セカンドボールの回収またはその意図のあるプレー
BLOCKEDシュート/クロスをブロックした
Course block相手の進行方向をブロックしてボールを守る
Catch(GK)GKがキャッチ(自チームが守備のとき)
REFEREE HIT審判に当たった
小分類説明
Own goalオウンゴールになった

FAULT RECEIVED; ファールを受ける

大分類説明
Get FKフリーキックを得た
ADVANTAGEアドバンテージが適用された
PENALTYPKを得た

BALL OUT; ボールアウトオブプレー

大分類説明
CLEARANCEクリアしてアウトオブプレーにする
VOLUNTARYプレーを中断するために意図的にアウトオブプレーにする
FORCED審判によるプレーの停止
END HALF前半/後半終了
REFEREE HIT審判に当たる
Mistouchボールコントロールを失敗してアウトオブプレーになる
HAND BALLハンド

SET PIECE; セットプレー

大分類説明
GOAL KICKゴールキック
FREE KICKフリーキック
FREE KICK SHOTシュート意図のあるフリーキック
CORNER KICKコーナーキック
THROW INスローイン
KICK OFFキックオフ
RETAKENセットプレーのやり直し
小分類説明
BLOCKEDブロックされる
CLEARANCEクリアされる
assistアシストする
GOALゴールする
SAVEDキーパーにセーブまたはキャッチされる
WOODWORK枠に当たる
OUT枠外でそのままアウトオブプレー
Aiming spaceスペース狙い
Own goalオウンゴールで得点した
方向説明
ON TARGET枠内シュート
OFF TARGET枠外シュート

CHALLENGE; チャレンジ

大分類説明
pressingプレス
TACKLEタックル
DRIBBLEドリブルを仕掛ける
GROUND地上戦デュエル
AERIAL空中戦デュエル
小分類説明
FAULTファウルする
ADVANTAGEアドバンテージ適用
PENALTYPKを与える
THEFTボールを奪われる
WONデュエル勝ち
LOSTデュエル負け

参考;作者の場合、「pressing」は、目立った良い効果があったものは「Success」、目立った悪影響のあったものは「Bad failure」、それら以外は「Good failure」としています

CARRY; キャリー

大分類説明
DRIBBLE仕掛けない運ぶドリブル
Trapトラップ
keepボールキープ
小分類説明
Ball outアウトオブプレーになる
CLEARANCEクリアされる
THEFTボールを奪われる
FAULTファウルする
Loose ballルーズボールになる

その他の項目

分類項目説明
プレー結果Successプレーが成功した
Bad Failure「そこでそれはだめ」なプレーや質の低いプレーによる失敗
Good Failure意図的で質も比較的良いプレーをしたが成功しなかった
プレッシャー状態Freeフリー
Loose press緩いプレッシャー
1_on_11対1またはそれに近い状態
1_on_many1対多またはそれに近い状態
many_on_1多対1またはそれに近い状態
Opp_free相手にフリーでプレーさせている(自チームが守備目線のとき)
プレー部位Foot R/Foot L/foot either右足/左足/両方または不明
HEAD
Body胴体
both hands両手
hand R右手
hand L左手
ダイレクトプレーDIRECT/INDIRECTダイレクト/ダイレクトでない
距離short/middle/long〜15m/15〜30m/30m〜 (およそ)
ボールの高さの状態grounder/low/highグラウンダー/地面から頭まで/頭より上
次の展開inplayインプレー
THROW INスローイン
GOAL KICKゴールキック
CORNER KICKコーナーキック
FREE KICKフリーキック
drop ballドロップボール
PENALTYPK
KICK OFFキックオフ(ゴール後の次のプレーとして)
lost score失点
次のボール保持者my ball/opp ball自分のチーム/相手チーム
loose ballルーズボール
refereeレフェリー
イベント前ボール状態grounder/low/highグラウンダー/地面から頭までの間/頭より上
イベント前ボール保持者oneself自分自身
ally味方チームメイト
opp相手チーム
loose ballルーズボール
drop ballドロップボールで再開