【事例】国立大学法人 東京大学
当社監訳書籍『アジャイルデータモデリング - 組織にデータ分析を広めるためのテーブル設計ガイド』の寄稿事例をWEB掲載しています。
- 本書における寄稿事例の位置づけについては寄稿事例について を参照してください。
- 本ページに掲載している画像および図表については、いずれも同書籍からの引用となります。
国立大学法人 東京大学
寄稿者:経済学研究科 金融教育研究センター 特任研究員 横山翔
東京大学の授業におけるデータ分析の事例をご紹介します。民間企業の提供データを「ファクト」、オープンデータを「ディメンション」として扱い、シンプルなスタースキーマの形式で提供することで、学生たちが柔軟なデータ分析を行うことができました。
風音屋では2023年度、2024年度の2年間に渡り、東京大学における今回の授業を支援してまいりました。民間企業だけではなく教育現場や研究活動といったアカデミックな環境でもデータモデリングが役立つことをお伝えします。
筆者は風音屋で培った知見を社会に還元すべく、東京大学の特任研究員を兼任し、「民間企業のデータを用いた経済分析」や「学生向けのデータ分析の授業」に取り組んでおります。本稿では授業の取り組みをご紹介します。

図1 Pythonによるデータ分析の授業概要
*1 本稿では23年度春学期の内容を紹介しております。秋学期や翌24年度のプロアクティブラーニングセミナーでも講師を担当しました。
*2 所属情報は実施当時のものとなります。
授業概要は図1となります。プロアクティブラーニングセミナーはいわゆる「サブゼミ」なのですが、正規の授業として位置付けられており、本ゼミとは別に単位が出ます。渡辺先生に代わり、筆者(横山)がメインの講師を担当しております。

図2 授業スケジュール
*3 https://py4etrics.github.io/
授業は4つのステップに分かれております(図2)。 初日はプログラミング言語である「Python」の基本的な紹介とハンズオンを行いました。授業の前半では、Pythonを使って計量経済分析のハンズオンを行いました。
授業の後半では「ネクストエンジン」が保有するECサイトの取引データを使って実証分析を行いました。天候などのオープンデータと組み合わせて重回帰分析を行ったり、商品カテゴリ別に物価指数の推移を可視化するといった取り組みを行いました。
最終日にはゲストを招いて成果発表会を行いました。NE株式会社からは執行役員・三原様とデータマネジメント担当・熱田様、グーグル・クラウド・ジャパンからは山田様が参加しました。学生によるプレゼンテーションの後、ゲストと学生とで質疑応答を行いました。
ネクストエンジンを運営しているのがNE株式会社です。例えば、筆者が「ゆずたそストア」という通販ショップを運営して、「ゆずたそシャツ」を2,800円で売りたいと思ったときに、楽天やアマゾンといった複数のプラットフォームで商品を販売し、横断管理できるツールです。
日本国内のEC市場が年間で13.2兆円だと言われており*4、ネクストエンジンでは、そのうち1兆円を超える流通データを保有しています。 商品名や購入者情報のマスキングやサンプリングをしていますが、それでも1兆円規模の取引データを授業や研究で扱えるというのは、研究機関・教育機関としては極めて有益です。
*4 経済産業省「令和3年度 電子商取引に関する市場調査 報告書」
EC取引データとは別に、天気、気温、カレンダーといったオープンデータも利用しています。 天候や気温で売れ行きが変わるのではないか。 休日と平日とで通販サイトの使い方が変わるのではないか。そういった仮説をもとにしてデータ分析を行えるようになります。
筆者が事前準備したデータに加えて、学生たちは分析に必要となるデータを自主的に集めてくれました。例えば、楽天やアマゾンでの大型セールの期間を調べて、「日付」「サイト名」「セール詳細」の3列からなるシンプルなテーブルを整備しました。大幅な値引きやポイント還元がなされる場合、顧客の消費行動が変化するであろうことが予想されます。
取引に関するデータは「ファクト」に該当し、天気、気温、休祝日、セール有無といったデータは「ディメンション」に該当します。これらのデータをシンプルなスタースキーマの形式で扱うことで、学生たちはスムーズにデータ仕様を把握することが可能となります。Pythonでファクトとディメンションを自由自在に結合し、データ分析を実施していました。
図3 東京大学の授業におけるデータ基盤のシステム構成例
システム構成は図3となります。図の左半分ではデータ連携の方法を記載しています。データ提供者がGoogle CloudのBigQueryを利用する場合はAnalytics Hubという機能を経由してデータを受け取り、データ提供者がSnowflakeを利用する場合はデータシェアリング機能でデータを受け取っています。オープンデータについては風音屋社内のオープンデータ基盤にて統合し、SnowflakeとBigQuery間のデータの受け渡しにはデータ転送ツールTROCCOを利用しました。複数のExcelシートを学生1人1人が個別にダウンロードせずとも、一箇所にアクセスすれば常に全てのデータが揃っているという状態を実現しました。
図の右半分は、データ分析の授業で使うための独立したインフラ環境です。権限を厳密に管理し、この環境の中でデータ分析作業が完結するようにしています。学生たちはVertex AI Workbenchでデータ分析を行い、分析結果をレポートとしてまとめました。Vertex AI Workbenchは、Jupyter LabやJupyter Notebookと呼ばれる有名なオープンソースソフトウェアに相当するクラウドサービスで、Pythonの実行環境を提供し、データ分析を支援する機能が充実しています。わざわざ教室に集まってモニターにPC画面を投影せずとも、ブラウザ経由でサンプルコードの受け渡しやレビューが完結します。
図4 データ分析の授業の成果報告スライド(一部抜粋)
最終日にはデータ分析の成果発表が行われました(図4)。特定の商品カテゴリの物価がどのように変動しているのか。国が出しているCPIという物価指数と連動してるのか、それとも違うのか。物価変動の内訳が、高価格帯の商品がたくさんあるのか、低価格帯の商品がたくさんあるのか、それともどの商品も同じような価格帯なのか、といったことを可視化しています。物価班とは別に、マーケティング分野に関心のあるチームでは、重回帰分析を用いてセールや天候の影響を分析していました。
最後に、授業アンケートの結果をご紹介します。文意を損ねない範囲で抜粋・編集しております。授業の雰囲気が少しでも伝わればと思います。
- データ分析の雰囲気を体験できて楽しかったです。データ量が多く、最初は戸惑いましたが、調べながらやれば意外とできるんだなと思いました。
- データの結合や重回帰分析など、実践的な分析プロセスを学べました。Pythonを使うのは初めてだったため、手探りの中でコードを書いたり、エラーに立ち向かったりと、大変ではありましたが、達成感を得られました。
- 最初はコーディングや統計手法を難しく感じていましたが、実際に分析を始めると「何をどのように分析するか」「どのように考察するか」のほうがよっぽど難しかったです。
- マーケティングの最前線で働かれている方々の前で成果発表をして、フィードバックをいただけたことは、貴重な機会だったなと感じました。とても良い経験になりました。
- 計量経済学の授業で学んだことを、Pythonで手を動かして再現できました。さまざまな応用方法を想像できるようになったと思います。他の授業を受けるときのモチベーションも上がりました。
プログラミングやデータベースに不慣れな学生たちが、3ヶ月という短い期間で成果報告までたどり着けたのは、本人たちの努力や創意工夫に加えて、モダンなデータ分析環境を整備・提供できたことも大きかったと考えています。テーブル設計の観点では、民間企業の提供データを「ファクト」、オープンデータを「ディメンション」として扱い、シンプルなスタースキーマの形式で提供することで、学生たちが柔軟なデータ分析を行うことが可能となりました。
本稿では大学の授業におけるデータ分析の事例をご紹介しました。データモデリングが民間企業だけではなく教育現場や研究活動にも役立つことを理解していただければと思います。