サイバーエージェンの社外向けカンファレンスCA BASE NEXTで、「事業立ち上げにデータサイエンティストは必要なのか?」というタイトルで発表しました。 https://ca-base-next.cyberagent.co.jp/2021/sessions/start-up-and-data-science/
事業立ち上げにデータサイエンティストは必要なのか?1CA BASE NEXT 2021藤田 光明
View Slide
藤田光明 Komei Fujita2018年度 新卒入社AI事業本部 DX本部小売セクターデータサイエンティスト興味● ビジネス x 経済学 / CFML(反実仮想機械学習)● A/Bテストを通したプロダクトグロース@ko-fujita @6km6km2
話すこと自分のサイバーエージェントでの経験をもとに、事業立ち上げとデータサイエンス(DS)について整理してみます。今所属しているプロダクトは、まだ具体的なことを話せません。ご了承ください。3
サイバーエージェントでやってきたこと事業フェーズの異なる2つのプロダクトを経験したDynalyst (2018 - 2020)● リエンゲージメント広告プラットフォーム(DSP)● ジョインした時点で4-5年目● 市場シェアも大きい● たくさんの機械学習モデルが運用されている自分がやってきたこと(一例)● MLモデルの開発からプロダクト実装まで● 共同研究 with AI Lab (WWW2020に採択)● A/Bテスト基盤の設計・構築● 10人弱のデータサイエンスチームマネジメント小売の新規事業 (2020 - )● 小売の購買データを用いたデジタルマーケティングプラットフォーム● 初期メンバーとしてジョイン● 当初は売るものもない、顧客もいない自分がやってきたこと● ???4
1.ビジネスモデルとデータサイエンス2.事業フェーズとデータサイエンス3.データサイエンティストによる事業立ち上げへの貢献4.事業立ち上げをやってみて思ったこと目次5
1. ビジネスモデルとデータサイエンス6
事業立ち上げにおける「事業」とは?● 世の中には様々な事業がある○ これらをひとまとめに議論するのは難しい● データサイエンスにとってのビジネスモデルを整理して、本発表がスコープとする「事業」を明確にする7
データサイエンスにとってのビジネスモデルおおまかに2パターン1. 分析・予測自体が商品である場合2. 分析・予測の結果を使った意思決定が商品である場合8
1. 分析・予測自体が商品である場合プロダクト例● 分析コンサル: 分析レポートが商品● google cloud vision api: 画像認識できるAIが商品● 極予測AI: クリエイティブからスコアを算出するAIが商品9
1. 分析・予測自体が商品である場合● 事業の立ち上げ期からデータサイエンスは必要○ 分析・予測そのものがないと商品が成立しない顧客 DSモデル作成AIによる予測10
2. 分析・予測の結果を使った意思決定が商品である場合「意思決定」が商品とは?11
ビジネスにおける意思決定の例● ECサイトでユーザにどの商品を推薦すべきか?● どのユーザに割引クーポンを配るべきか?● 施策A, Bがあるときにどちらを選ぶべきか?● ある商品の値段を上げるべきかどうか単位 / 頻度 / 決定方法が違うが、いずれも意思決定12
意思決定の結果、売上/利益が発生するモデル作成DS購買確率商品A: 40%商品B: 20%商品C: 30%商品Aを推薦(意思決定)AI13顧客
意思決定の結果、売上/利益が発生するモデル作成DS購買確率商品A: 40%商品B: 20%商品C: 30%商品Aを推薦(意思決定)AI14顧客データサイエンスの役割は分析・予測を通して、意思決定の質やスピードを「改善」して売上/利益を向上させること
2. 分析・予測の結果を使った意思決定が商品である場合● 立ち上げ期にデータサイエンスが必要なのか?● 最初はなくてもよさそうな気がする?○ 商品の推薦: まずはランキングで○ クーポン対象: とりあえず過去買った人に○ 施策AorB: そもそも比較したい施策が複数あることがあまりない以降では、意思決定が商品である場合に絞って議論する15
2. 事業フェーズとデータサイエンス16
立ち上げとグロース本発表では以下のように各事業フェーズを定義しておく● 立ち上げフェーズ○ 売上が立っていない段階○ 顧客はゼロかテストクライアント(or ベータユーザ)のみ○ 目的: スケールする売り方を見つける● グロースフェーズ○ 売上が立ち始めて顧客が増えていく段階○ 目的: 売上をより大きくしたり、コストを下げたり17
[再掲]サイバーエージェントでやってきたこと事業フェーズの異なる2つのプロダクトを経験したグロースフェーズDynalyst (2018 - 2020)● リエンゲージメント広告プラットフォーム○ DSP: Demand Side Platform● ジョインした時点で4-5年目● 市場シェアも大きい● たくさんの機械学習モデルが運用されている立ち上げフェーズ小売の新規事業 (2020 - )● 小売の購買データを用いたデジタルマーケティングプラットフォーム● 初期メンバーとしてジョイン● 売るものもない、顧客もいない各事業フェーズでのデータサイエンスを自分の経験をもとに整理する18
Dynalystでのデータサイエンス● 扱えるデータ○ 過去数年分(数TB/日)の広告配信ログ○ 顧客や提携先の大量のデータ● データサイエンスでできること○ データドリブンな施策の立案・評価○ 既に運用されているMLモデルの改善○ プロダクトの新たな強みをつくるための新しい予測機能の追加19
小売の新規事業でのデータサイエンス● 扱えるデータ○ 「扱える」= 「クエリできる」という意味でいうと不可能○ 各所に様々な形式の購買 / ユーザ / 提携データが散らばっている○ サービス独自のデータ(広告配信ログなど)は当然なし● データサイエンスでできること?○ データが扱えないので何もできない?○ 改善する対象がないのでデータサイエンスによる改善ができない?20
事業フェーズごとのデータサイエンス※ 立ち上げ時でも有用な外部のデータが手に入る場合がある● データあり: 代理店の広告クリエイティブ配信実績、協業先の購買データなど自分の所属プロダクトはこのパターン、DXの文脈でCAでも増えてきた● データなし: ABEMAなどのtoCサービスではこのパターンが多そう以降では前者のパターンを中心に話すが、後者でも当てはまる部分はある(と思う...)データDSによる改善の必要性立ち上げフェーズ△(or ✕※)△(or ✕)グロースフェーズ◎ ◎21
事業フェーズごとのデータサイエンスデータDSによる改善の必要性立ち上げフェーズ△(or ✕※)△(or ✕)グロースフェーズ◎ ◎22※ 立ち上げ時でも有用な外部のデータが手に入る場合がある● データあり: 代理店の広告クリエイティブ配信実績、協業先の購買データなど自分の所属プロダクトはこのパターン、DXの文脈でCAでも増えてきた● データなし: ABEMAなどのtoCサービスではこのパターンが多そう以降では前者のパターンを中心に話すが、後者でも当てはまる部分はある(と思う...)データサイエンティストは必要なのか??
3. データサイエンティストによる事業立ち上げへの貢献23
[参考]データ分析組織立ち上げに関する議論鮭さん、TJOさん(元CAの大先輩)のツイートを引用24https://twitter.com/shakezo_/status/1364738189697507331https://twitter.com/TJO_datasci/status/1364943527105323010https://twitter.com/shakezo_/status/1365081513440595970
[参考]データ分析組織立ち上げに関する議論● DSが強みとなる事業の立ち上げでも同様のことが言えそう● 事業立ち上げフェーズにジョインするデータサイエンティストは、「経営コミット前提でデータ活用を力強く推進できる人」であるべき25
経営コミットするデータサイエンティストとは?26
経営コミットするデータサイエンティストとは?27隣の部署で面白そうな新規事業ができるらしい...異動してみよう!
経営コミットするデータサイエンティストとは?せっかくプロダクトの立ち上げメンバーになったので、できるかわからないけど、とりあえず挑戦してみた!以下では、やってみた中で考えたことを紹介します一緒に立ち上げたメンバーの発表はこちら:O2O広告のためのデータサイエンス | CA BASE NEXT - CyberAgentDeveloper Conference by Next Generations28
事業立ち上げでデータサイエンティストがすべきこと1. データサイエンスタスクのロードマップ作成2. データ分析基盤の整備3. 分析や予測機能の実装29
事業立ち上げでデータサイエンティストがすべきこと1. データサイエンスタスクのロードマップ作成2. データ分析基盤の整備3. 分析や予測機能の実装30
1. データサイエンスタスクのロードマップ作成● プロダクトのコアになる機能とそれを実現する方法を整理○ 何を分析・予測できることがプロダクトの強みになるのか?○ それを実現するためにどんなデータや技術が必要か?● 洗い出したタスクについて、プロダクトにおける重要性と実装コストを考慮して優先順位を決める31
コア機能の一例: 購買予測● 小売広告マーケティングの理想の一つは広告での購買リフト○ 購買リフト = (広告を配信した場合の購買率) - (広告を配信しなかったときの購買率)○ しかし、広告配信の実績がない立ち上げ期にはリフトを予測するデータがない○ => まずは広告に関わらない購買予測をできるようにする○ 購買予測は購買によるリフト予測につながるはず● 予測の対象は?○ 1商品?店舗すべての商品?○ どういう顧客が何に対してお金を払うのか?● 予測に必要なデータ?○ どういうデータをとっておくか?○ => リフトを予測したいなら広告を出す / 出さない(の一部)をランダムにする必要あり?○ どういうデータ構造で持っておくか?32
ロードマップをDSが作らないと...たとえば、無理ゲー or お金にならないAIを作ろうという話になったりAさんの購買する商品を100%予測したい!購買履歴から感情を予測して、感情にあうクリエイティブを自動生成しましょう!33
ロードマップをDSが作らないと...たとえば、予測のために必要なデータがなかったりデータを貯める期間 データを使う期間クーポンを使った クーポン渡したけどを使わなかった34クーポンを渡さなかった
ロードマップをDSが作らないと...たとえば、予測のために必要なデータがなかったりデータを貯める期間 データを使う期間クーポンを使った クーポン渡したけどを使わなかった35クーポンを渡さなかったクーポンを使ったデータしか保存していないと...クーポンを渡す / 渡さない(の一部)をランダムに決めていないと...クーポンを使ったデータしか残ってないので、クーポン使用率やクーポンによる購買リフトが予測できない...
ロードマップをDSが作らないと...たとえば、予測のために必要なデータがなかったりデータを貯める期間 データを使う期間クーポンを使った クーポン渡したけどを使わなかった36クーポンを渡さなかったクーポンを使ったデータしか保存していないと...クーポンを渡す / 渡さない(の一部)をランダムに決めていないと...クーポンを使ったデータしか残ってないので、クーポン使用率やクーポンによる購買リフトが予測できない...データサイエンティストが責任持ってロードマップを作るべき● プロダクトがDSで正しく改善できる状態にする● 将来自分が進めるタスクを真っ当にする
事業立ち上げでデータサイエンティストがすべきこと1. データサイエンスタスクのロードマップ作成2. データ分析基盤の整備3. 分析や予測機能の実装37
2. データ分析基盤の整備基盤整備ですべきこと● インフラの整備● 各所に散らばったデータの結合のための設計・実装● サービスログの設計・収集のための実装● データ生成過程への介入38
2. データ分析基盤の整備基盤整備ですべきこと● インフラの整備● 各所に散らばったデータの結合のための設計・実装● サービスログの設計・収集のための実装● データ生成過程への介入データサイエンティストが貢献できる部分39
データ分析基盤の設計に入るべき● 最終的にデータ分析基盤を一番使うのはDS● 理想形を持っているはず● 理想形とその実装コストのバランスを考えながら設計する○ データエンジニアと議論する○ 理想形はどう実装すれば実現可能なのか?○ どういうポイントは妥協できる / できないのか?● 具体的な貢献ポイント○ 何をやらないかを決める○ データ生成過程を設計する40
データ分析基盤の設計への貢献ポイント● 何をやらないかを決める○ データ基盤はオーバースペックになってしまいがち○ 重要な機能のみに絞ることで、事業の立ち上がりを早められる○ その機能が重要かどうかはデータを使う側だからこそわかること41
データ分析基盤の設計への貢献ポイント● データ生成過程の設計○ プロダクトのコアになる機能は最初からA/Bテストを仕込んでおく○ システム内のさまざまな意思決定を確率的にしておく■ 簡単なルールベースにあまり効果が見込めないならランダムに■ 事後的な分析の価値が高まる(バイアスの少ない評価が可能)○ これらは立ち上げ時にやっておくのが大事■ デフォルトバイアスを回避■ 一度作ってしまうとあとから変えるのは難しい42
確率的な意思決定の例: 商品推薦43(決定的な)ルールベースランダム若者なら冷たいお年寄りなら温かい冷たい: 温かい = 50%:50%ルールベース :ランダム= 90%:10%温かい商品を若者に推薦したデータがなく、どちらの商品を推薦すべきか評価不可能冷たいを推薦する確率= f(age)ランダムデータを使ったり、因果推論的手法で分布を補正することで、どちらの商品を推薦すべきか評価可能
データ基盤実装への貢献データサイエンティストって設計はできたとしても実装は難しいのでは...?44
インフラ側の工夫次第で、データ基盤の実装ハードルを下げられる45データ基盤実装への貢献データサイエンティストって設計はできたとしても実装は難しいのでは...?
DSが実装できるためのインフラ側の工夫AWSを使った例:● ETLを足すときに実装箇所や命名規則が明確なコード設計● Infrastructure as Code(IaC)○ terraform, digdag○ コードで管理することで真似しやすくレビューしやすくする● すぐ壊せる○ s3, glue data catalog, redshift spectrumデータサイエンティストが実装しても負債にならないこと46
とはいいつつ...● 実装に関してはデータエンジニアがやったほうが速いし正確● データサイエンティスト「も」できるということが重要○ 事業フェーズに合ったスキルセットの人が常にいるとは限らない○ フェーズによっては実装する人が足りない場合もある47
事業立ち上げでデータサイエンティストがすべきこと1. データサイエンスタスクのロードマップ作成2. データ分析基盤の整備3. 分析や予測機能の実装48
● ロードマップに従ってやることを決める● 本発表では予測機能の実装に絞る● 重要なポイント○ 予測結果を使って、どう意思決定を改善するのか○ 予測をシステムでどう扱うか○ 予測モデルをいかに早く作れるか○ 予測モデルの今後の改善余地はあるか3. 分析と予測機能の実装49
● ロードマップに従ってやることを決める● 本発表では予測機能の実装に絞る● 重要なポイント○ 予測結果を使って、どう意思決定を改善するのか○ 予測をシステムでどう扱うか○ 予測モデルをいかに早く作れるか○ 予測モデルの今後の改善余地はあるか3. 分析と予測機能の実装50詳細はサイバーエージェントのdevelopers blogでhttps://developers.cyberagent.co.jp/blog/archives/29757/
● ロードマップに従ってやることを決める● 本発表では予測機能の実装に絞る● 重要なポイント○ 予測結果を使って、どう意思決定を改善するのか○ 予測をシステムでどう扱うか○ 予測モデルをいかに早く作れるか○ 予測モデルの今後の改善余地はあるか3. 分析と予測機能の実装今回はここに注目する51
予測結果を使って、どう意思決定を改善するのか● 予測結果(予測値、分類など)だけでは売上は発生しない● 予測結果をどう使って意思決定を改善するのかを明確に○ 例: クーポン:使用率が高いユーザを予測してある閾値以上のひとに配布するとか● 予測モデルの要件定義をする○ 予測の単位○ 学習データ / テストデータをどう作るか○ 評価指標52
予測をシステムでどう扱うかメリット● 本番で稼働するものをできるだけ早く作ることができる● 簡単に作り直すことができる○ 事業次第でどの機能に注力したいかが変わりうるが、作り込みすぎないことでそれに対応できる要件を満たすラインでいかに実装をシンプルにできるか53
例: オンライン推論 vs バッチ推論広告配信におけるコンバージョン予測(CVR予測)についてリクエスト(ユーザ、広告面)ユーザDBCVR_1 =f(userX, 状態A, 面a )request(userX, 面a)意思決定: g(CVR_1)userX: 状態A54
例: オンライン推論 vs バッチ推論広告配信におけるコンバージョン予測(CVR予測)についてリクエスト(ユーザ、広告面)ユーザDBCVR_1 =f(userX, 状態A, 面a )request(userX, 面a)オンライン特徴意思決定: g(CVR_1)userX: 状態A55Dynalystでは、オンラインの特徴(特にユーザの状態)が事業的に重要実装コストが高いオンライン推論を選択
例: オンライン推論 vs バッチ推論広告配信におけるコンバージョン予測(CVR予測)についてリクエスト(ユーザ、広告面)ユーザDBCVR_1 =f(userX, 状態A, 面a )request(userX, 面a)オンライン特徴意思決定: g(CVR_1)userX: 状態A56芝田さんによる、Cythonでオンライン推論を高速化した話もあります。そちらもぜひサイバーエージェントにおけるMLOpsに関する取り組み | CA BASE NEXT- CyberAgent Developer Conference by Next Generations
例: オンライン推論 vs バッチ推論広告配信におけるコンバージョン予測(CVR予測)についてリクエスト(ユーザ、広告面)userX: CVR_2予測値DBrequest(userX, 面a)CVR_2 = f(userX)を事前計算新規事業g(CVR_2)57
例: オンライン推論 vs バッチ推論広告配信におけるコンバージョン予測(CVR予測)についてリクエスト(ユーザ、広告面)予測値DBrequest(userX, 面a)CVR_2 = f(userX)を事前計算新規事業g(CVR_2)userX: CVR_258● ユーザの情報が事業的に重要● リアルでの購買行動のため、状態の遷移が頻繁に起こりにくい実装コストが低いバッチ推論を選択オンラインの特徴が重要になりそうな段階でオンライン推論に移行予定
4. 事業立ち上げをやってみて思ったこと59
経営コミットするDSにトライしてみて...経営コミットするDSの役割:データサイエンスの専門家がデータサイエンスによる改善で事業成果を出せる状態を用意すること60
DSによる改善で事業成果を出せる状態を用意する● ロードマップを引く事業成長につながるタスクを定義する● 分析基盤を整える改善に必要なデータを分析しやすい形で貯めておく● ベースとなる予測機能を実装する今後の改良余地を明確にする61
事業立ち上げのジレンマ● ある程度再現性のある経験かも?○ 立ち上げを専門にいろんなプロダクトを渡り歩くとか?○ CAにはたくさんの部署/子会社があり、組織全体の成長につながりそう● 一方で、自分の技術資産をすり減らしてる感も...○ メインのタスクはDSができる状態を用意すること○ 実際のDSタスクはあまりやれない○ => プロダクトの最前線でDSをやっている人たちとは差がついてくる○ 自分の少ない技術資産で、今後その人たちと戦っていけるのか...?62
技術のアップデートと組織の成長の両立● [技術] DSでのプロダクト改善は今後もやっていく○ 事業立ち上げ後も自分で手を動かしてDSタスクをやる● [組織] 様々な事業の立ち上げにDSとして関わる○ 組織全体がDSで成長できる状態を作ることにコミットする両立をどう実現するべきか...?63
両立のためのトライ: Data Science Center● AI事業本部の横断データサイエンス組織● 立ち上げフェーズのプロダクトにDS観点でのアドバイスができる○ プロダクトメンバーとDSで改善ができる準備をする○ 適切なタイミングでデータサイエンティストをアサインする64
65