スポーツ分野での Oracle Cloud 活用事例をまとめてみる（Sports Analytics on OCI）

この記事は [Oracle Cloud Infrastructure Advent Calendar 2021,](https://qiita.com/advent-calendar/2021/oci) Day 14 です。

個人的な興味で気になっている、スポーツ分野でのIT活用ですが、Oracle Cloud, Oracle Cloud Infrastructure (OCI)を活用した事例が色々と登場していて、ちょっとまとめてみたいと思います。

公開されているリリースノート等の情報を元に引用・記載しています。まとめた際に私の解釈に誤りがあったらごめんなさい。

# :soccer: プレミアリーグ

イングランドのプレミアリーグで、2021-22シーズンからOracle Cloudを活用したMatch Insights-Powered by Oracle Cloud を開始しました。daznを見ていると、試合中に様々なスタッツが時折Oracle Cloudロゴと共に表示されます。

**プレミアリーグとMatch Insights—Powered by Oracle Cloud: ファン・エクスペリエンスの再考**
https://www.oracle.com/jp/premier-league/

## 扱うデータや分析の内容
開幕戦で試合中に表示する指標として、以下が挙げられています。

* Attacking Threat (攻撃の脅威)
    * 次の10秒間にゴールを決める可能性がどの程度あるかを追跡する（過去の何千ものゲームのデータから算出）
* Win Probability (勝利確率)
    * このままいくと...どっちが勝つかを確率で示す（4年間の試合データを使用。勝率は、試合の残りの部分を100,000回シミュレートする）
* Average Position (平均ポジション)
    * ボール保持時・非保持時 に分けて、選手の平均ポジションを示す

どのようなデータを使用し、何を分析するかについて、以下の記述もありました。

* Oracle Cloud Infrastructureは、コンピュータビジョンを使用してフィールド上のプレーヤーのあらゆる動きを追跡するプレミアリーグパートナーからのリアルタイムデータを取り込みます。データ取り込み後、機械学習モデルはデータを選別して洞察を明らかにし、それらを放送局、モバイルアプリ、ソーシャルメディアチャネルに配信します

* プレミアリーグとオラクルのチームは、これらの機械学習モデルを開発し、ファンが好む分析を提供するために協力しています

## 利用しているOracleのサービス

残念ながら、公開情報は見つけられず。

Oracle Cloud Infrastructure（OCI）にデータが入る、ということは記載されているので、リアルタイムデータ分析という観点からは、後述する[Sail GPで使用しているサービス群](https://qiita.com/mikika/items/7c40117c1cff3ae7ab99#sailboat-sail-gp)に記載しているものの全部または一部を利用しているのではと勝手に推察しています。

## その他関連リンク

* New this season: Premier League brings fans Match Insights—Powered by Oracle Cloud
    * https://www.oracle.com/news/connect/premier-league-oracle-cloud-match-insights.html
* Premier League set to deliver advanced football analytics using Oracle Cloud Infrastructure
    * https://www.oracle.com/news/connect/premier-league-oracle-help-fans-love-beautiful-game-more.html
* Stats Centre - Powered by Oracle Cloud
    * https://www.premierleague.com/stats
* Premier League Selects Oracle Cloud Infrastructure to Power New Advanced Football Analytics
    * https://www.oracle.com/news/announcement/premier-league-selects-oracle-cloud-infrastructure-2021-05-06/

## ひとことメモ（感想）

daznで最近の試合を見てみたところ、Win Probability (勝利確率)が表示されていました。例えばこの試合では、前半30分。ホームで2-0だとほぼほぼ(93%)勝つでしょ、とのこと。（「2-0は危険なスコア」というのは日本固有なんですかね？！気のせいですかね？）。実際にこのあとアーセナルが3-0で勝利しました。
![IMG_9900 - コピー (3).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/297987/5619e0b4-dff0-9c44-00fd-9e6eda449ee9.jpeg)


# :soccer: Seattle Sounders FC (MLS)

シアトルを拠点とするサッカークラブ、MLSのSeattle Sounders FCが、OCIを活用してチームのパフォーマンスを向上させています。
長年のビデオハイライトや、その他のマーケティング資産など、ファンとのエンゲージメントを高めるために使用するデジタルアセットの管理もOCIで行っています。

**Seattle Sounders FC gets data science in the game with Oracle**
https://www.oracle.com/customers/seattle-sounders-fc/

## 扱うデータや分析の内容

データ活用のビジョンとして、「チームの戦術戦略、プレーのスタイル、ライブゲーム中のプレーヤーのパフォーマンス、スカウトなどに影響を与える新しいアプローチを開発すること」と言っています。

* 重要なデータセットの1つは、メジャーリーグサッカー（MLS）によってチームに提供される選手の追跡データ
    * 25秒ごとにフィールド上のすべてのプレーヤーからの測定値を使用。追跡データは、すべての試合の数百万行のデータとなる。これに、シーズンの合計400を超えるMLS試合の掛け算がデータ量。
* 追跡データ、イベントデータ、フィットネスデータなどの、あらゆる関連データ

現在着手しているプロジェクトとして、以下が挙げられています。

* パターン検出。映像のコンピュータービジョンを使用して、選手の「プレーのパターン」の識別を自動化。各パターンが得点につながる頻度も評価
* 選手がディフェンダーからスペースを作成したことを検出し、このスペースの作成を定量化して、チームが新しいトレーニング戦術とゲーム戦略を開発できるようにします。また、ゴールの脅威の確率を計算することにより、チームは、特定の時間枠での試合中にゴールが得点される可能性をより正確に予測することを期待しています。
* 動画への自動的なタグ付け機能。これにより、メタデータタグがビデオアーカイブに自動的に追加され、過去の映像を簡単に検索できるため、より価値のあるものになります

マーケティング業務では、ファンとのエンゲージメントを高めるために使用する過去のハイライト動画や、その他のマーケティング資産を運用・管理しています。これらの資産は、チームの総データストレージボリュームの3分の2に相当しています。

## 利用しているOracleのサービス

* データレイクハウスを構築し、分析・可視化、選手の追跡データを使用した機械学習モデルの作成
    * Oracle Analytics Cloud
    * OCI Data Science
    * Oracle Autonomous Database
* デジタルメディア資産を管理（ファンとのエンゲージメントを高めるための過去の動画など）
    * Oracle Content Management
    * Object Storage

## ひとことメモ（感想）

ゴールを生み出す状況や、いかにその状況を作り出すかを定量化することについて、世界各地で様々な研究が行われていますが、Seattle Sounders FCではどのようなデータ、指標、方法で行っているかはとても気になりました（が、流石にそこまでは詳しく書いていませんでしたが、一つ記載されていたのは、いかにスペースを作ったか、という点。それを再現性高くやっていこうというアプローチ）。本記事とは全く関連有りませんが、例えば Football LABのサイトでは、このシュートが決まる確率はどのくらいか？を示すゴール期待値のモデル作成には、どのような要素（説明変数）を利用しているか[こちらに記載があります](https://www.football-lab.jp/pages/expected_goal/)。ゴールへの距離、シュート時に使用した体の部位、などなど。

フィットネスデータの管理により、怪我の予知や予防に役立っていることを期待します。

# :basketball: Golden State Warriors (NBA)

サンフランシスコを拠点とする、バスケットボールクラブ、NBAのGolden State Warriorsは、15年以上にわたってOracle社とパートナーシップを築いています。2021年7月に、クラブの練習施設の名前を「Oracle Performance Center」とし、リアルタイム分析で使用するダッシュボード（Warriors Player Dashboard）の実装を行っています。

**Warriors Announce Oracle as Team Performance Center Partner**
https://www.oracle.com/news/announcement/golden-state-warriors-and-oracle-2021-07-28/

**The Warriors and Oracle Launch New Technology Platform to Track Player Performance**
https://www.oracle.com/news/announcement/warriors-player-dashboard-2021-11-3/

## 扱うデータや分析の内容

Warriors Player Dashboardは、Warriorsの選手とコーチにリアルタイムの統計とや、選手のパフォーマンスデータを提供する独自のシステムです。

* ほぼリアルタイムのゲームと練習の指標を集約して比較し、選手のショットパフォーマンスがどのように異なるか、リーグ平均とどのように比較するかを理解することで、チームのプレーヤー開発を強化する
* プラットフォームには、ウォリアーズの練習やホームゲームやロードゲームのショット追跡統計を使用して、3つのショットゾーン（3ポインター、top of the keyからのショット、ミッドレンジのジャンプショット）に焦点を当てた365日間の履歴レコードを組み込んだリーダーボードを含む
* ダッシュボードには、各プレーヤーのショット数の合計、フィールドゴールのパーセンテージ、およびショットあたりのポイントが表示される
* 包括的なダッシュボードによって、例えば、練習ではコーナーからの3 Point ショットを練習しているのに試合中はtop of the key からシュートしている選手、といった矛盾を簡単に明らかにし、選手とコーチがより多くのゲームに勝つための戦略を調整するのに役立つ
* 過去および瞬間の空間ショットパフォーマンスデータを組み合わせて、リアルタイムの意思決定をサポートする

分析の遅れをなくすことで、Warriors Player Dashboardの結合されたデータセットにより、より効率的な評価が可能になり、チームが練習とゲームのパフォーマンス戦略へのアプローチを改善するのに役立ちます。

Warriorsが新しい選手の獲得する際にも、このプラットフォームはチームのコート内戦略を形作るための鍵となります。

画像は下記より引用：
https://www.oracle.com/news/tools-resources/gsw.html
![warriors-player-dashboard-sidhu1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/297987/6f580fb5-599e-9aac-448f-8063e0d7b302.jpeg)

## 利用しているOracleのサービス

残念ながら、公開情報は見つけられず。

Oracle Cloud Infrastructure（OCI）にデータが入る、ということは記載されているので、リアルタイムデータ分析という観点からは、後述する[Sail GPで使用しているサービス群](https://qiita.com/mikika/items/7c40117c1cff3ae7ab99#sailboat-sail-gp)に記載しているものの全部または一部を利用しているのではと勝手に推察しています。

## ひとことメモ（感想）

練習からこれだけガチガチに数値指標が見れるようだと、強くなりそうですが選手は大変そう...?!

ちなみにこの練習施設、Oracle Performance Centerには、フルレングスのバスケットボールコート2面、バスケットボールフープ6つ、4,000平方フィートのウェイトルーム、チームのロッカールーム、トレーニングエリア、サウナ、トリートメント（身体のケア）エリアが備わっているとのこと。さらに、キッチン、チームラウンジ、理髪店、シアターなどのアメニティスペースもあるそうで...なんだかすごい施設で見学してみたいです。（え！）

# :checkered_flag: Red Bull Racing Honda (F1) 

Red Bull Racing Hondaは、公式のクラウド・インフラストラクチャおよびカスタマーエクスペリエンス・プラットフォーム・プロバイダーとしてOracle Cloudを選定しました。

**Red Bull Racing Hondaとオラクル — スピードを追及するパートナーシップ**
https://www.oracle.com/jp/redbullracing/

## 扱うデータや分析の内容

**レッドブル・レーシング・ホンダとオラクル、F1におけるデータ・アナリティクスの向上で連携**
https://www.oracle.com/jp/corporate/pressrelease/jp20210326.html
より引用します。
F1は、データドリブンなスポーツであると表現されます。各チームは分析と詳細にこだわり、それがトラック上の競合優位性をもたらします。最先端テクノロジー企業2社の連携には、レッドブル・レーシングの車両パフォーマンス向上のためのデータ利用の最適化と強化が含まれます。これは複数年のロードマップで実現され、オントラックとオフトラックの両方のエンジニアリング・オペレーションに関連し、「Oracle Cloud Infrastructure」の広範な人工知能と機械学習の機能が利用されます。


## 利用しているOracleのサービス

公式クラウド・プラットフォームとして「Oracle Cloud Infrastructure」を選択し、初期プロジェクトにおいて車両パフォーマンス、機械学習、アナリティクスに注力。

カスタマーエクスペリエンス・プラットフォーム・プロバイダーとして、以下のようなOracleAdvertising and Customer Experience（CX）アプリケーションを使用して、ファンが究極の乗り心地を実現できるよう、統計と指標へのアクセスを可能にします。

* Oracle Unity Customer Data Platform
* Oracle CrowdTwist Loyalty and Engagement
* Oracle Responsys Campaign Management

## その他関連リンク

LiveLabで Workshop形式で体験できます。

* [LiveLab] Red Bull Racing Honda Win: Develop an Interactive Map of a Racetrack Workshop
    * https://apexapps.oracle.com/pls/apex/dbpm/r/livelabs/view-workshop?wid=896
* [LiveLab] Learn Analytics and Machine Learning with Red Bull Racing Workshop
    * https://apexapps.oracle.com/pls/apex/dbpm/r/livelabs/view-workshop?wid=909

## ひとことメモ（感想）

あまり詳しくないのでたくさん書くことができないのですが、HONDAの広告、そして劇的な幕切れ。最終節の映像を後から見て感動しました...。

# :sailboat: Sail GP 

2019年からはじまったセーリング（ヨット）国別対抗戦。エンジンはついておらず、帆が受ける風の力と5人のセーラー（船員）で、高速に水上を移動することを競いますが、その速さは、[時速100km以上になることもあるそう](https://post.tv-asahi.co.jp/post-98447/)です。フォイル（水中翼）を操作し、水面から離れることで高速化を実現する 双胴船（カタマラン）ベースのヨット「F50」が採用されています。

各艇のデータは、Oracle Cloudを介してリアルタイムにストリーミングされ、戦略的・戦術的な意思決定に役立てられていることが、2019年開始当初から発表されています。

**SAILGP POWERED BY WIND AND ORACLE CLOUD**
https://ja.sailgp.com/news/sail-gp-powered-by-oracle-cloud/

**SailGP、Oracleを利用してチームのパフォーマンスとファン・エクスペリエンスを強化**
https://www.oracle.com/jp/sailgp/

以下の映像は2020年のものです。
![image (59).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/297987/52322f28-d26e-f25a-b46f-a9b1dd116f56.png)

## 扱うデータや分析の内容

分析内容や使用するサービスは、[リファレンスアーキテクチャーのページ](https://docs.oracle.com/en/solutions/sailgp-on-oci/#GUID-BAA8876A-3DEB-4095-9F8A-4DE6A2DB9A48)に詳しく記載があります。

* F50は、船内センサーは約30,000の固有のデータポイントをキャプチャ
* F50船舶からのデータは、衛星接続を介して、専用の1Gbps FastConnectを使用してOCIに転送される
    * レースの場所によってFastConnectサービスを利用できない場合は、IPSecVPN接続で代用
* データポイントには、**ボートの姿勢、速度、ピッチ、水と風の状態、および船員の生体認証**を含む
* データや指標はSailGPのメディアパートナーにブロードキャストされ、アプリを通じて、世界中のファンが楽しむことが可能（レース中、スマホアプリから様々な指標が見れます）

## 利用しているOracleのサービス

同じく[リファレンスアーキテクチャーのページ](https://docs.oracle.com/en/solutions/sailgp-on-oci/#GUID-BAA8876A-3DEB-4095-9F8A-4DE6A2DB9A48)に詳しく記載があります。一部抜粋すると、

* データ受信、ジャイロスコープやGPSのような複雑なデータに対する前処理・関連イベントの検出
    * Compute Instance
    * OCI Streaming
    * Oracle Stream Analytics
* 前処理後のデータに対する複雑な分析
    * Autonomous Database
* メディアパートナーへのデータ公開
    * Oracle REST Data Services（ORDS）
* 別のSailGPカスタムアプリケーションの実行で使用するデータの処理（センサーから1Hzのテレメトリ信号を受信し、MySQLサーバーを使用してそのデータを処理）
    * MySQL
* Autonomous DatabaseとMySQLのデータ連携に利用
    * GoldenGate 
* 負荷を監視し、負荷に応じて仮想マシン(VM)のCPUやメモリをスケーリングを実現
    * Notifications, Logging
* 環境をセキュリティ高く保つ
    * Oracle Cloud Guard

以下の構成図はこちらより引用
SailGP: Real-time stream analytics platform deployment on Oracle Cloud
https://docs.oracle.com/en/solutions/sailgp-on-oci/#GUID-BAA8876A-3DEB-4095-9F8A-4DE6A2DB9A48

![sailgp-oci.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/297987/49d561f8-c9a1-bb25-cac1-6a9e46d33def.png)

## その他関連リンク

LiveLabで Workshop形式で体験できます。

* [LiveLab] Learn Analytics and Machine Learning with SailGP Workshop
    * https://apexapps.oracle.com/pls/apex/dbpm/r/livelabs/view-workshop?wid=868

## ひとことメモ（感想）

扱うデータはスポーツにまつわるものであっても、システムの構成は業務システムと何ら変わらず、ということを改めて気づかせてくれるアーキテクチャー構成図。Autonomous DatabaseとMySQLを両方利用, GoldenGateでデータ連携といったOracleならではの構成も面白いです。引用元の[リファレンスアーキテクチャーのページ](https://docs.oracle.com/en/solutions/sailgp-on-oci/#GUID-BAA8876A-3DEB-4095-9F8A-4DE6A2DB9A48)には、ここでは割愛した内容や詳細が掲載されています。



# :speech_balloon: 最後に（あとがき）

事前の分析から緻密に設計されたセットプレーが、勝敗を分けることもあるでしょう。強風吹き荒れるスタジアムで、コイントスの結果が試合の行方を決定づける一つの要素になることもあるでしょう。アスリートは、筋肉系の怪我などの故障を予防し、常にベストなパフォーマンスで試合に臨みたいと考えることでしょう。瞬時に変わる状況、シナリオのないドラマ...退屈な日常に、熱狂と非日常を与えてくれるスポーツ観戦は、これからもたくさんの楽しみと喜びを私達にもたらしてくれることでしょう。
あらゆる必然や偶然に対し、データとITの力で、少しでも勝つこと成功することへの確率を高めることが出来ていくこと、どのようなデータを使ってどのような方法で行っているか、ということは、とても興味深いと思いこのまとめを書いた次第でした。Sports x IT 分野での事例はこれからも着目していきたいと思います。