スタディサプリ BRAND SITE

Staff interview

#29

突貫工事で生じた技術的負債を、オーナーシップを持ちながら各自の施策で解消

MVP

データプラットフォームチーム

Data Platform Team

データプラットフォームチーム
SECTION 01担当者プロフィールSECTION 02データ基盤チームは「縁の下の力持ち」、不自由なく分析ができる環境を常に整備SECTION 03信頼性向上に必要な複数の施策を、各自がオーナーシップを持ちながら推進SECTION 04データ基盤をベースに、機械学習技術を生かしたプロダクト作りにチャレンジ

01. 担当者プロフィール

担当者プロフィール

- お名前:橘高 允伸 / Masanobu Kittaka
- 組織名:まなびデータソリューション部
- 入社時期:2019年 04月

担当者プロフィール

- お名前:海沼 玲史 / Reiji Kainuma
- 組織名:まなびデータソリューション部
- 入社時期:2018年 02月

担当者プロフィール

- お名前:丹田 尋 / Jin Tanda
- 組織名:まなびデータソリューション部
- 入社時期:2020年 04月

担当者プロフィール

- お名前:谷口 正樹 / Masaki Taniguchi
- 組織名:まなびデータソリューション部
- 入社時期:2021年 04月

スタディサプリのプロダクトにおいて、データが果たす役割は計り知れません。ユーザーがどのくらいの頻度でどんなコンテンツを学習していったか、キャンペーンを通してどれだけの効果が上がったかといった効果を把握し、次の施策を検討するには、データ分析が不可欠です。まなびデータプラットフォームグループは、その根幹となるデータ基盤を開発、運用するだけでなく、信頼性の向上に向けたさまざまな施策を実施し、MVPを受賞しました。メタデータの整備やインフラのコード化といった取り組みを責任を持って進めていった橘高允伸さん、海沼玲史さん、丹田尋さん、谷口正樹さんにお話を伺いました。

02. データ基盤チームは「縁の下の力持ち」、不自由なく分析ができる環境を常に整備

Q:皆さんの経歴を教えてください。

海沼:私はこのチームの中で唯一の中途入社です。元々サーバーサイドエンジニアチームに所属しており、異動でデータチームに加わりました。Webチームならではの知見をデータチームに浸透させ、データ基盤を支えるインフラのコード化などを推進してきました。

橘高:僕は大学院卒業後にリクルートに入社し、以来四年目の今に至るまで、スタディサプリのデータ基盤の開発・運用に携わってきました。最近はデータプロダクトの開発・運用にも関わっています。

丹田:僕も大学院卒業後にリクルートに入社し、今年で三年目になりました。橘高さんと同様にデータ基盤の開発・運用に従事しつつ、機械学習(Machine Learning、以後「ML」)プロダクトの開発にも加わっています。

谷口:僕は新卒入社で今年二年目になります。今回MVPの対象となったプロジェクトには、入社一年目、メタデータ管理の担当として携わっていました。

Q:そもそも、スタディサプリのデータ基盤はどのような役割を果たしているのでしょうか。

海沼:プロダクトチームだけでは全体の売り上げは把握できても、離脱率はどのくらいなのか、マーケティングキャンペーンの成果はどのように出ているのか、といった細かな事業状況まで把握するのが困難でした。しかし、こうした細部がわからなければ、将来的なプロダクトの成長性は確保できません。そこを補い、可視化するためにデータチームが立ち上がりました。

スタディサプリのデータチームには、分析を行うチームが存在しています。直近のアプリのインストール数やそれにひも付いたサブスクリプション数といったユーザーの状況を把握するのは非常に重要です。分析チームがそうしたデータを作るための基盤を開発し、運用し、必要な分析をいつでも行える環境を提供することが、データ基盤チームの主な業務です。

橘高:データ基盤チームの大きな役割は、スタディサプリが提供している小中高、ENGLISH、スクール・進路というすべてのドメインにまたがってデータを整理し、データサイエンティストをはじめとする分析チームに信頼できるデータを提供することです。また、マーケティングチームのレポーティング用に、毎日新鮮なデータを提供することも重要な役割です。

Q:いわゆる「データレイク」のようなものですか?

海沼:データレイクという言葉ですと、単なるデータの集積場所というニュアンスがあるように思います。これに対し我々は、分析者にヒアリングを行い、それぞれのやりたいことに踏み込んだ上で整形などを加え、ほぼそのままレポーティングに使えるようなデータマートを提供していることが大きな特徴だと思います。

丹田:大事なのは、データ分析者が不自由なくデータを分析できる環境を整えることです。ですので地道なことですが、障害を発生させず、データの品質を担保していく「縁の下の力持ち」のような部分を意識して取り組んでいます。

谷口:加えて、データ分析者からはしばしば「こんな分析を実現するにはどのデータを活用すべきだろうか」といった問い合わせがあります。それらに素早く適切に答えていくサポート的な業務にも取り組んでいます。

Q:今、各種分析に活用するデータはどのくらいの容量になるのでしょうか?

橘高:データを格納しているBigQueryのストレージは300TBに上ります。それらに1日5000件以上のクエリがあり、テーブル数は6000件以上です。10人に満たないチームで、スタディサプリの多様なプロダクトに関するデータを整備し、基盤として支えています。この数字を見ると、あらためて縁の下の力持ちだと感じますね。

03. 信頼性向上に必要な複数の施策を、各自がオーナーシップを持ちながら推進

Q:今回データ基盤の信頼性向上の取り組みが評価され、MVPを受賞されましたが、背景を教えてください。

橘高:このプロジェクトの前に、データ基盤をTreasure DataからBigQueryに移行する大規模なプロジェクトがあり、2021年4月に完了しました。移行自体は無事に終えられましたが、その過程でもっと改善できる点がいくつか見えてきました。そこで、移行が終わったタイミングでインフラのコード化に取り組むことで、人に依存せず、誰でも基盤を再現できるようにしたいと考えました。

海沼:以前の基盤ではコスト的な課題に加え、同時に実行できるクエリ数に上限があり、日常業務の中で「待ち」が発生していました。また、いくつかの処理が複数のプラットフォーム上で分散して行われてパズル的に組み合わせたワークフローが構築されており、実行失敗の検知が遅れ復旧に余計な手間が発生するなど決して小さくない負債も抱えていました。

そうした問題をBigQueryという一つのプラットフォームに載せ替えることで解決しました。しかし、突貫工事で進めた分、技術的負債は避けられません。それを改修していったのがこの一年でした。ただ、チーム全員で何か1つのプロジェクトに取り組むのではなく、おのおのが「僕はこの課題に取り組みたいと思っています」と上長に相談し、それを適切に交通整理して、それぞれやりたいことを責任を持って進めていった形です。

谷口:僕が主に担当したのは、データマネジメントのうちメタデータの整理でした。BigQueryの各テーブルと、その中の各列がどのような役割を果たすものか、どういった形式の値が格納されているかという説明文を作り、書き足していく作業を一から進めました。ちょうどデータマネジメントや信頼性向上に関する問題意識が高まっていたタイミングで、上長から「一から作ることになるけれど、メタデータ基盤の整備をやってみない?」と声をかけられ、ぜひやりますと手を挙げました。

橘高:ある程度データ基盤に慣れてくると、「見れば自分でわかるよね」となりがちです。しかし利用者の観点から見ると、数百行、時には千行を超えるクエリを読み解き、「どこからデータが来ており、どのようにテーブルができているか」を把握するのは困難です。その意味で、新卒という立場でチームに加わった谷口さんが、利用者の視点に立って「これを見ればすぐにわかる」というメタデータを整備し、個別に問い合わせがなくてもここさえ参照すればわかるという環境を整えてくれたのは、とても素晴らしい取り組みだったと思います。

Q:反響はありましたか?

谷口:新しいインターフェースも用意したため、使い勝手がよくなったと反響をもらっています。また、新卒の成果発表会でもこの取り組みを発表し、「どのテーブルがどのテーブルに依存しているか」を可視化したグラフを紹介したところ、他の領域のチームの方からも質問を受けました。データの信頼性に対する全社的な意識の高まりを感じました。

Q:取り組みの中では、インフラのコード化も進めましたね。

丹田:僕が小中高プロダクトのデータ基盤に関するインフラのコード化を、海沼さんがスタディサプリENGLISHのデータ基盤に関するインフラのコード化を担当しました。同じクラウドサービスをベースにして開発を進めたため、互いの知見を流用することができ、開発コストや工数を短縮できたことは良かったと思います。インフラのコード化だけでなく、片方のチームでジョブの監視フローを改善し、効果があればもう一方でも流用するといった動きも生まれました。

メンバーそれぞれの思いに合わせて業務が割り振られ、オーナーシップを持って進めることができました。ただ、属人化はいいことではありません。その点今回の取り組みは、一人一人が密になりすぎず、疎になりすぎずという形で連携して取り組むことができた、非常にいい体制だったと思っています。

Q:具体的にはどのような仕組みで、インフラのコード化をしているのでしょうか?

丹田:データ基盤はGCP上に構築しており、Terraformを採用してインフラのコード化を進めました。GUIで一つ一つ設定していく方法ですと、それが本当に適切な設定か他の人が確認できませんし、ミスが生じる恐れもあります。各種設定をコード化し、GitHub上で管理することで、例えば「このバーチャルマシンの構成はこれでいいよね」とチームメンバーと一緒にレビューでき、属人化も避けられます。また、同じ構成のインスタンスをもう一台追加したいときや、新たな環境を追加したい場合などの再現性も担保できます。

海沼:他にもメリットがあります。1つは変更の履歴を残せることです。何らかの障害が起こって対応する際に、過去の変更履歴をコード上で追って、どのように対応したかを把握できます。これはガバナンスの面でも重要です。継ぎ足し、継ぎ足しで管理者権限を与えていくと、気付いたときにはあまりに多くの権限が与えられた状態になり、リスクが高くなります。担当者に与えるのは常に最小権限にとどめ、必要なくなれば消去できるようになっているのは、セキュリティ面でもうれしいことです。

Q:こうした取り組みを進めていく上で、他のステークホルダーとの調整はどう進めましたか?

丹田:良い意味で、上長がメンバーそれぞれの裁量に任せてくれ、オーナーシップを持って進めることができました。インフラのコード化の例ですと、すでに社内でTerraformによるコード管理基盤を整備していたSREチームと非常に密にコミュニケーションを取りながら進めることができました。互いの領域に染み出しながら、チーム同士の結束力を生かしたことでスムーズに開発できたと思います。

Q:進める中でのコミュニケーションやネゴシエーションについてはどうでしたか?

海沼:リクルートのエンジニアは皆、そこが強いですね。常に、データを使う人がより使いやすくなるにはどうすればいいかを考えながら基盤を整えるのが業務ですから、コミュニケーションを取ってヒアリングをしなければ始まらず、ゴールもわかりません。

谷口:僕の場合は、メタデータのプロジェクトが始まった時から、データマネジメントグループの方と二人でチームを組み、「どういった形を目指すべきか」を密にコミュニケーションを取りながら進めていきました。

橘高:データ基盤チームとして、小中高とENGLISH、それぞれのプロダクト向けにSlack上に「目安箱」というチャンネルを設けています。データに関するちょっとした相談やお願い事をカジュアルに話してもらうためのものです。また、週に一回「案件相談会」を開催し、データサイエンティストやアナリストの方から相談を受けて議論したり、具体的に進めていくべき案件を決めたりしています。

Q:積極的にコミュニケーションを取ろうとする体制を用意しているのは興味深いです。

海沼:データ基盤は、使われなければただの基盤に過ぎません。使ってもらってはじめて価値が発生すると考えています。ですので、データ基盤を使う人、使いたい人の要望を常に吸い上げ、改善していく姿勢を見せることが大事だと考えています。目安箱というチャンネルの名前も、ハードルの低さを感じてもらうための工夫の一つです。それは今後も同様で、「こんなことをやりたいんだけれど……」という漠然とした相談から入り、ヒアリングを重ね、ユーザーに使ってもらうためにどうすればいいかを考え続けていきたいと思っています。

04. データ基盤をベースに、機械学習技術を生かしたプロダクト作りにチャレンジ

Q:では、他の皆さんも、今後チャレンジしていきたいことをお聞かせください。

丹田:新卒で入社し、まずデータ基盤を知ることで、「データがどのように流れ、どんな処理が加わって使える状態になっているか」を深く理解することができました。こうした知識を糧に、今後はデータプロダクトに関する業務、具体的にはML技術との掛け合わせで、エンドユーザーに直に貢献できるプロダクトに挑戦していきたいと考えています。

Q:たとえば、ユーザーの学習履歴に関するデータをMLで解析し、最適な学習内容をリコメンドしていく、といったイメージでしょうか?

丹田:まさしくそんなイメージです。また、ユーザーの学習傾向を分析し、そのままでは解約してしまう可能性の高いユーザーに何らかの手を打ったり、プランの乗り換えを後押しするアップセルの施策を打ったりと、幅広い可能性があると考えています。

谷口:私がチャレンジしたいことも丹田さんと重なる部分があり、MLによるデータの利活用を新たなプロダクトに生かしていきたいと考えています。またチームとしては、分散しているデータを集約し、整形し、渡した後、MLモデルをどこで動かし、どう継続的に改良していくかというML基盤の整備やMLOpsも視野に入れ、染み出しながら取り組んでいければと思っています。

橘高:二人からの話にあがった分野には、自分もぜひ取り組みたいと考えています。また、社内のアナリストやデータサイエンティストへの価値提供という観点では、まだデータ基盤チームに依頼しないと実現できない事柄があるため、そこを自動化したいと考えています。依頼する側はもっと気軽にセルフサービス的にできますし、依頼される側の負荷も減って新たなプロジェクトに集中できると考えています。

Q:最後に、リクルートの良さについてお聞かせください。

海沼:「学習」という領域には、明確な答えがあるわけではありません。その中で、個々のユーザーにとってのプロダクト利用価値を最大化していくアダプティブなプロダクト開発は、分析者にとっても最も熱いテーマだと思います。社会的に意義のある領域にデータの側面で携われるのは、本当に意義あることだと思います。

橘高:新卒で入社してきて思ったのは、周囲に経験豊富な先輩が多く、様々なことを学べることです。同時に、個人の意見を尊重し、フラットに接してくれる職場だと感じています。意見が違えばきちんと議論し、どうすべきかを話し合えますし、良さそうな意見であればそのまま任せてくれる懐の深さがあります。

谷口:データスペシャリストとして入社してくるメンバーは本当に優秀な人が多いですね。同期の中にも優秀なエンジニア、優秀なデータアナリストが数多くおり、恵まれた環境だと思っています。また、リクルートという会社の中にはさまざまな領域があり、それぞれデータ基盤チームやデータサイエンティストがいます。ドメインは違えど同じ技術スタックを扱っている人たちから新たな観点や技術を知り、多面的に物事を見ることができます。そういう意味で、切磋琢磨するには非常にいい環境だと思います。

丹田:重複しますが、まずは若手でもどんどん意見を言える環境だということです。また、リクルート社内では「Will」と言っていますが、自分のやりたいことが尊重される環境です。そして何より、若手でもオーナーシップを持って業務を進められることが魅力です。谷口さんが担当したメタデータプロジェクトがまさにそうですが、周囲の方々がちょうどいい距離感で見守る中で成長できる機会に恵まれていると思います。

取材時期:2022年5月

記事中で紹介した事業(名称や内容含む)や人物及び肩書については取材当時のものであり、現時点で異なる可能性がございます。

スタディサプリの開発主体であったQuipper Japanは組織再編のため、2021年10月に株式会社リクルートに事業譲渡しています。

スタッフインタビューの記事

部長

笹部 和幸 - Staff interview #02

世にも奇妙な英語学習マーケット

室長

池田 脩太郎 - Staff interview #03

最強の講師陣との運命的な出会い。つないだのは“サプリの理念”

ビジネス職

田久保 健太 - Staff interview #04

片足の彼との出会い

最新の記事

MVP

到達度CBT TPMチーム - Staff interview #36

内製に加え新たに「パートナー開発」という選択肢も武器に、プロダクト価値の最大化を引き続き追求

MVP

進学情報プロダクト運用業務リスクマネジメントプロジェクトチーム - Staff interview #38

事業の進化を停滞させないために。組織の垣根を越えて挑戦した、プロダクト運用におけるリスクマネジメント

MVP

中学領域DM施策チーム - Staff interview #37

新たなコミュニケーションチャネルの開発で見えた、大幅チャーン改善の兆し