Slide 1

Slide 1 text

事業立ち上げに データサイエンティストは 必要なのか? 1 CA BASE NEXT 2021 藤田 光明

Slide 2

Slide 2 text

藤田光明 Komei Fujita 2018年度 新卒入社 AI事業本部 DX本部小売セクター データサイエンティスト 興味 ● ビジネス x 経済学 / CFML(反実仮想機械学習) ● A/Bテストを通したプロダクトグロース @ko-fujita @6km6km 2

Slide 3

Slide 3 text

話すこと 自分のサイバーエージェントでの経験をもとに、 事業立ち上げとデータサイエンス(DS)について整理してみます。 今所属しているプロダクトは、 まだ具体的なことを話せません。ご了承ください。 3

Slide 4

Slide 4 text

サイバーエージェントでやってきたこと 事業フェーズの異なる2つのプロダクトを経験した Dynalyst (2018 - 2020) ● リエンゲージメント広告プラットフォーム(DSP) ● ジョインした時点で4-5年目 ● 市場シェアも大きい ● たくさんの機械学習モデルが運用されている 自分がやってきたこと(一例) ● MLモデルの開発からプロダクト実装まで ● 共同研究 with AI Lab (WWW2020に採択) ● A/Bテスト基盤の設計・構築 ● 10人弱のデータサイエンスチームマネジメント 小売の新規事業 (2020 - ) ● 小売の購買データを用いた デジタルマーケティングプラットフォーム ● 初期メンバーとしてジョイン ● 当初は売るものもない、顧客もいない 自分がやってきたこと ● ??? 4

Slide 5

Slide 5 text

1.ビジネスモデルとデータサイエンス 2.事業フェーズとデータサイエンス 3.データサイエンティストによる 事業立ち上げへの貢献 4.事業立ち上げをやってみて思ったこと 目次 5

Slide 6

Slide 6 text

1. ビジネスモデルとデータサイエンス 6

Slide 7

Slide 7 text

事業立ち上げにおける「事業」とは? ● 世の中には様々な事業がある ○ これらをひとまとめに議論するのは難しい ● データサイエンスにとってのビジネスモデルを整理して、 本発表がスコープとする「事業」を明確にする 7

Slide 8

Slide 8 text

データサイエンスにとってのビジネスモデル おおまかに2パターン 1. 分析・予測自体が商品である場合 2. 分析・予測の結果を使った意思決定が商品である場合 8

Slide 9

Slide 9 text

1. 分析・予測自体が商品である場合 プロダクト例 ● 分析コンサル: 分析レポートが商品 ● google cloud vision api: 画像認識できるAIが商品 ● 極予測AI: クリエイティブからスコアを算出するAIが商品 9

Slide 10

Slide 10 text

1. 分析・予測自体が商品である場合 ● 事業の立ち上げ期からデータサイエンスは必要 ○ 分析・予測そのものがないと商品が成立しない 顧客 DS モデル作成 AIによる予測 10

Slide 11

Slide 11 text

2. 分析・予測の結果を使った意思決定が商品である場合 「意思決定」が商品とは? 11

Slide 12

Slide 12 text

ビジネスにおける意思決定の例 ● ECサイトでユーザにどの商品を推薦すべきか? ● どのユーザに割引クーポンを配るべきか? ● 施策A, Bがあるときにどちらを選ぶべきか? ● ある商品の値段を上げるべきかどうか 単位 / 頻度 / 決定方法が違うが、いずれも意思決定 12

Slide 13

Slide 13 text

意思決定の結果、売上/利益が発生する モデル作成 DS 購買確率 商品A: 40% 商品B: 20% 商品C: 30% 商品Aを推薦 (意思決定) AI 13 顧客

Slide 14

Slide 14 text

意思決定の結果、売上/利益が発生する モデル作成 DS 購買確率 商品A: 40% 商品B: 20% 商品C: 30% 商品Aを推薦 (意思決定) AI 14 顧客 データサイエンスの役割は分析・予測を通して、 意思決定の質やスピードを「改善」して 売上/利益を向上させること

Slide 15

Slide 15 text

2. 分析・予測の結果を使った意思決定が商品である場合 ● 立ち上げ期にデータサイエンスが必要なのか? ● 最初はなくてもよさそうな気がする? ○ 商品の推薦: まずはランキングで ○ クーポン対象: とりあえず過去買った人に ○ 施策AorB: そもそも比較したい施策が複数あることがあまりない 以降では、意思決定が商品である場合に絞って議論する 15

Slide 16

Slide 16 text

2. 事業フェーズとデータサイエンス 16

Slide 17

Slide 17 text

立ち上げとグロース 本発表では以下のように各事業フェーズを定義しておく ● 立ち上げフェーズ ○ 売上が立っていない段階 ○ 顧客はゼロかテストクライアント(or ベータユーザ)のみ ○ 目的: スケールする売り方を見つける ● グロースフェーズ ○ 売上が立ち始めて顧客が増えていく段階 ○ 目的: 売上をより大きくしたり、コストを下げたり 17

Slide 18

Slide 18 text

[再掲]サイバーエージェントでやってきたこと 事業フェーズの異なる2つのプロダクトを経験した グロースフェーズ Dynalyst (2018 - 2020) ● リエンゲージメント広告プラットフォーム ○ DSP: Demand Side Platform ● ジョインした時点で4-5年目 ● 市場シェアも大きい ● たくさんの機械学習モデルが運用されている 立ち上げフェーズ 小売の新規事業 (2020 - ) ● 小売の購買データを用いた デジタルマーケティングプラットフォーム ● 初期メンバーとしてジョイン ● 売るものもない、顧客もいない 各事業フェーズでのデータサイエンスを 自分の経験をもとに整理する 18

Slide 19

Slide 19 text

Dynalystでのデータサイエンス ● 扱えるデータ ○ 過去数年分(数TB/日)の広告配信ログ ○ 顧客や提携先の大量のデータ ● データサイエンスでできること ○ データドリブンな施策の立案・評価 ○ 既に運用されているMLモデルの改善 ○ プロダクトの新たな強みをつくるための新しい予測機能の追加 19

Slide 20

Slide 20 text

小売の新規事業でのデータサイエンス ● 扱えるデータ ○ 「扱える」= 「クエリできる」という意味でいうと不可能 ○ 各所に様々な形式の購買 / ユーザ / 提携データが散らばっている ○ サービス独自のデータ(広告配信ログなど)は当然なし ● データサイエンスでできること? ○ データが扱えないので何もできない? ○ 改善する対象がないのでデータサイエンスによる改善ができない? 20

Slide 21

Slide 21 text

事業フェーズごとのデータサイエンス ※ 立ち上げ時でも有用な外部のデータが手に入る場合がある ● データあり: 代理店の広告クリエイティブ配信実績、協業先の購買データなど 自分の所属プロダクトはこのパターン、DXの文脈でCAでも増えてきた ● データなし: ABEMAなどのtoCサービスではこのパターンが多そう 以降では前者のパターンを中心に話すが、後者でも当てはまる部分はある(と思う...) データ DSによる 改善の必要性 立ち上げ フェーズ △ (or ✕※) △ (or ✕) グロース フェーズ ◎ ◎ 21

Slide 22

Slide 22 text

事業フェーズごとのデータサイエンス データ DSによる 改善の必要性 立ち上げ フェーズ △ (or ✕※) △ (or ✕) グロース フェーズ ◎ ◎ 22 ※ 立ち上げ時でも有用な外部のデータが手に入る場合がある ● データあり: 代理店の広告クリエイティブ配信実績、協業先の購買データなど 自分の所属プロダクトはこのパターン、DXの文脈でCAでも増えてきた ● データなし: ABEMAなどのtoCサービスではこのパターンが多そう 以降では前者のパターンを中心に話すが、後者でも当てはまる部分はある(と思う...) データサイエンティストは 必要なのか??

Slide 23

Slide 23 text

3. データサイエンティストによる 事業立ち上げへの貢献 23

Slide 24

Slide 24 text

[参考]データ分析組織立ち上げに関する議論 鮭さん、TJOさん(元CAの大先輩)のツイートを引用 24 https://twitter.com/shakezo_/status/1364738189697507331 https://twitter.com/TJO_datasci/status/1364943527105323010 https://twitter.com/shakezo_/status/1365081513440595970

Slide 25

Slide 25 text

[参考]データ分析組織立ち上げに関する議論 ● DSが強みとなる事業の立ち上げでも同様のことが言えそう ● 事業立ち上げフェーズにジョインするデータサイエンティストは、 「経営コミット前提でデータ活用を力強く推進できる人」であるべき 25

Slide 26

Slide 26 text

経営コミットするデータサイエンティストとは? 26

Slide 27

Slide 27 text

経営コミットするデータサイエンティストとは? 27 隣の部署で面白そうな 新規事業ができるらしい... 異動してみよう!

Slide 28

Slide 28 text

経営コミットするデータサイエンティストとは? せっかくプロダクトの立ち上げメンバーになったので、 できるかわからないけど、とりあえず挑戦してみた! 以下では、やってみた中で考えたことを紹介します 一緒に立ち上げたメンバーの発表はこちら: O2O広告のためのデータサイエンス | CA BASE NEXT - CyberAgent Developer Conference by Next Generations 28

Slide 29

Slide 29 text

事業立ち上げでデータサイエンティストがすべきこと 1. データサイエンスタスクのロードマップ作成 2. データ分析基盤の整備 3. 分析や予測機能の実装 29

Slide 30

Slide 30 text

事業立ち上げでデータサイエンティストがすべきこと 1. データサイエンスタスクのロードマップ作成 2. データ分析基盤の整備 3. 分析や予測機能の実装 30

Slide 31

Slide 31 text

1. データサイエンスタスクのロードマップ作成 ● プロダクトのコアになる機能とそれを実現する方法を整理 ○ 何を分析・予測できることがプロダクトの強みになるのか? ○ それを実現するためにどんなデータや技術が必要か? ● 洗い出したタスクについて、プロダクトにおける 重要性と実装コストを考慮して優先順位を決める 31

Slide 32

Slide 32 text

コア機能の一例: 購買予測 ● 小売広告マーケティングの理想の一つは広告での購買リフト ○ 購買リフト = (広告を配信した場合の購買率) - (広告を配信しなかったときの購買率) ○ しかし、広告配信の実績がない立ち上げ期にはリフトを予測するデータがない ○ => まずは広告に関わらない購買予測をできるようにする ○ 購買予測は購買によるリフト予測につながるはず ● 予測の対象は? ○ 1商品?店舗すべての商品? ○ どういう顧客が何に対してお金を払うのか? ● 予測に必要なデータ? ○ どういうデータをとっておくか? ○ => リフトを予測したいなら広告を出す / 出さない(の一部)をランダムにする必要あり? ○ どういうデータ構造で持っておくか? 32

Slide 33

Slide 33 text

ロードマップをDSが作らないと... たとえば、 無理ゲー or お金にならないAIを作ろうという話になったり Aさんの購買する商品を100%予測したい! 購買履歴から感情を予測して、感情にあう クリエイティブを自動生成しましょう! 33

Slide 34

Slide 34 text

ロードマップをDSが作らないと... たとえば、予測のために必要なデータがなかったり データを貯める期間 データを使う期間 クーポンを 使った クーポン渡したけど を使わなかった 34 クーポンを 渡さなかった

Slide 35

Slide 35 text

ロードマップをDSが作らないと... たとえば、予測のために必要なデータがなかったり データを貯める期間 データを使う期間 クーポンを 使った クーポン渡したけど を使わなかった 35 クーポンを 渡さなかった クーポンを使ったデータしか保存していないと... クーポンを渡す / 渡さない(の一部)をランダムに決めていないと... クーポンを使ったデータしか 残ってないので、 クーポン使用率やクーポンに よる購買リフトが予測できな い...

Slide 36

Slide 36 text

ロードマップをDSが作らないと... たとえば、予測のために必要なデータがなかったり データを貯める期間 データを使う期間 クーポンを 使った クーポン渡したけど を使わなかった 36 クーポンを 渡さなかった クーポンを使ったデータしか保存していないと... クーポンを渡す / 渡さない(の一部)をランダムに決めていないと... クーポンを使ったデータしか 残ってないので、 クーポン使用率やクーポンに よる購買リフトが予測できな い... データサイエンティストが 責任持ってロードマップを作るべき ● プロダクトがDSで正しく改善できる状態にする ● 将来自分が進めるタスクを真っ当にする

Slide 37

Slide 37 text

事業立ち上げでデータサイエンティストがすべきこと 1. データサイエンスタスクのロードマップ作成 2. データ分析基盤の整備 3. 分析や予測機能の実装 37

Slide 38

Slide 38 text

2. データ分析基盤の整備 基盤整備ですべきこと ● インフラの整備 ● 各所に散らばったデータの結合のための設計・実装 ● サービスログの設計・収集のための実装 ● データ生成過程への介入 38

Slide 39

Slide 39 text

2. データ分析基盤の整備 基盤整備ですべきこと ● インフラの整備 ● 各所に散らばったデータの結合のための設計・実装 ● サービスログの設計・収集のための実装 ● データ生成過程への介入 データサイエンティストが貢献できる部分 39

Slide 40

Slide 40 text

データ分析基盤の設計に入るべき ● 最終的にデータ分析基盤を一番使うのはDS ● 理想形を持っているはず ● 理想形とその実装コストのバランスを考えながら設計する ○ データエンジニアと議論する ○ 理想形はどう実装すれば実現可能なのか? ○ どういうポイントは妥協できる / できないのか? ● 具体的な貢献ポイント ○ 何をやらないかを決める ○ データ生成過程を設計する 40

Slide 41

Slide 41 text

データ分析基盤の設計への貢献ポイント ● 何をやらないかを決める ○ データ基盤はオーバースペックになってしまいがち ○ 重要な機能のみに絞ることで、事業の立ち上がりを早められる ○ その機能が重要かどうかはデータを使う側だからこそわかること 41

Slide 42

Slide 42 text

データ分析基盤の設計への貢献ポイント ● データ生成過程の設計 ○ プロダクトのコアになる機能は最初からA/Bテストを仕込んでおく ○ システム内のさまざまな意思決定を確率的にしておく ■ 簡単なルールベースにあまり効果が見込めないならランダムに ■ 事後的な分析の価値が高まる(バイアスの少ない評価が可能) ○ これらは立ち上げ時にやっておくのが大事 ■ デフォルトバイアスを回避 ■ 一度作ってしまうとあとから変えるのは難しい 42

Slide 43

Slide 43 text

確率的な意思決定の例: 商品推薦 43 (決定的な) ルールベース ランダム 若者なら冷たい お年寄りなら温かい 冷たい: 温かい = 50%:50% ルールベース :ランダム = 90%:10% 温かい商品を若者に推薦したデータがなく、 どちらの商品を推薦すべきか評価不可能 冷たいを推薦する確率 = f(age) ランダムデータを使ったり、因果推論 的手法で分布を補正することで、 どちらの商品を推薦すべきか評価可能

Slide 44

Slide 44 text

データ基盤実装への貢献 データサイエンティストって 設計はできたとしても 実装は難しいのでは...? 44

Slide 45

Slide 45 text

インフラ側の工夫次第で、 データ基盤の実装ハードルを下げられる 45 データ基盤実装への貢献 データサイエンティストって 設計はできたとしても 実装は難しいのでは...?

Slide 46

Slide 46 text

DSが実装できるためのインフラ側の工夫 AWSを使った例: ● ETLを足すときに実装箇所や命名規則が 明確なコード設計 ● Infrastructure as Code(IaC) ○ terraform, digdag ○ コードで管理することで 真似しやすくレビューしやすくする ● すぐ壊せる ○ s3, glue data catalog, redshift spectrum データサイエンティストが実装しても負債にならないこと 46

Slide 47

Slide 47 text

とはいいつつ... ● 実装に関してはデータエンジニアがやったほうが速いし正確 ● データサイエンティスト「も」できるということが重要 ○ 事業フェーズに合ったスキルセットの人が常にいるとは限らない ○ フェーズによっては実装する人が足りない場合もある 47

Slide 48

Slide 48 text

事業立ち上げでデータサイエンティストがすべきこと 1. データサイエンスタスクのロードマップ作成 2. データ分析基盤の整備 3. 分析や予測機能の実装 48

Slide 49

Slide 49 text

● ロードマップに従ってやることを決める ● 本発表では予測機能の実装に絞る ● 重要なポイント ○ 予測結果を使って、どう意思決定を改善するのか ○ 予測をシステムでどう扱うか ○ 予測モデルをいかに早く作れるか ○ 予測モデルの今後の改善余地はあるか 3. 分析と予測機能の実装 49

Slide 50

Slide 50 text

● ロードマップに従ってやることを決める ● 本発表では予測機能の実装に絞る ● 重要なポイント ○ 予測結果を使って、どう意思決定を改善するのか ○ 予測をシステムでどう扱うか ○ 予測モデルをいかに早く作れるか ○ 予測モデルの今後の改善余地はあるか 3. 分析と予測機能の実装 50 詳細は サイバーエージェントのdevelopers blogで https://developers.cyberagent.co.jp/blog/archives/29757/

Slide 51

Slide 51 text

● ロードマップに従ってやることを決める ● 本発表では予測機能の実装に絞る ● 重要なポイント ○ 予測結果を使って、どう意思決定を改善するのか ○ 予測をシステムでどう扱うか ○ 予測モデルをいかに早く作れるか ○ 予測モデルの今後の改善余地はあるか 3. 分析と予測機能の実装 今回はここに注目する 51

Slide 52

Slide 52 text

予測結果を使って、どう意思決定を改善するのか ● 予測結果(予測値、分類など)だけでは売上は発生しない ● 予測結果をどう使って意思決定を改善するのかを明確に ○ 例: クーポン: 使用率が高いユーザを予測してある閾値以上のひとに配布するとか ● 予測モデルの要件定義をする ○ 予測の単位 ○ 学習データ / テストデータをどう作るか ○ 評価指標 52

Slide 53

Slide 53 text

予測をシステムでどう扱うか メリット ● 本番で稼働するものをできるだけ早く作ることができる ● 簡単に作り直すことができる ○ 事業次第でどの機能に注力したいかが変わりうるが、 作り込みすぎないことでそれに対応できる 要件を満たすラインでいかに実装をシンプルにできるか 53

Slide 54

Slide 54 text

例: オンライン推論 vs バッチ推論 広告配信におけるコンバージョン予測(CVR予測)について リクエスト(ユーザ、広告面) ユーザDB CVR_1 = f(userX, 状態A, 面a ) request(userX, 面a) 意思決定: g(CVR_1) userX: 状態A 54

Slide 55

Slide 55 text

例: オンライン推論 vs バッチ推論 広告配信におけるコンバージョン予測(CVR予測)について リクエスト(ユーザ、広告面) ユーザDB CVR_1 = f(userX, 状態A, 面a ) request(userX, 面a) オンライン特徴 意思決定: g(CVR_1) userX: 状態A 55 Dynalystでは、オンラインの特徴 (特にユーザの状態)が事業的に重要 実装コストが高いオンライン推論を選択

Slide 56

Slide 56 text

例: オンライン推論 vs バッチ推論 広告配信におけるコンバージョン予測(CVR予測)について リクエスト(ユーザ、広告面) ユーザDB CVR_1 = f(userX, 状態A, 面a ) request(userX, 面a) オンライン特徴 意思決定: g(CVR_1) userX: 状態A 56 芝田さんによる、Cythonでオンライン推論を高速 化した話もあります。そちらもぜひ サイバーエージェントにおけるMLOpsに関する取り組み | CA BASE NEXT - CyberAgent Developer Conference by Next Generations

Slide 57

Slide 57 text

例: オンライン推論 vs バッチ推論 広告配信におけるコンバージョン予測(CVR予測)について リクエスト(ユーザ、広告面) userX: CVR_2 予測値DB request(userX, 面a) CVR_2 = f(userX)を事前計算 新規事業 g(CVR_2) 57

Slide 58

Slide 58 text

例: オンライン推論 vs バッチ推論 広告配信におけるコンバージョン予測(CVR予測)について リクエスト(ユーザ、広告面) 予測値DB request(userX, 面a) CVR_2 = f(userX)を事前計算 新規事業 g(CVR_2) userX: CVR_2 58 ● ユーザの情報が事業的に重要 ● リアルでの購買行動のため、状態の遷移が 頻繁に起こりにくい 実装コストが低いバッチ推論を選択 オンラインの特徴が重要になりそうな段階でオ ンライン推論に移行予定

Slide 59

Slide 59 text

4. 事業立ち上げをやってみて思ったこと 59

Slide 60

Slide 60 text

経営コミットするDSにトライしてみて... 経営コミットするDSの役割: データサイエンスの専門家が データサイエンスによる改善で 事業成果を出せる状態を用意すること 60

Slide 61

Slide 61 text

DSによる改善で事業成果を出せる状態を用意する ● ロードマップを引く 事業成長につながるタスクを定義する ● 分析基盤を整える 改善に必要なデータを分析しやすい形で貯めておく ● ベースとなる予測機能を実装する 今後の改良余地を明確にする 61

Slide 62

Slide 62 text

事業立ち上げのジレンマ ● ある程度再現性のある経験かも? ○ 立ち上げを専門にいろんなプロダクトを渡り歩くとか? ○ CAにはたくさんの部署/子会社があり、組織全体の成長につながりそう ● 一方で、自分の技術資産をすり減らしてる感も... ○ メインのタスクはDSができる状態を用意すること ○ 実際のDSタスクはあまりやれない ○ => プロダクトの最前線でDSをやっている人たちとは差がついてくる ○ 自分の少ない技術資産で、今後その人たちと戦っていけるのか...? 62

Slide 63

Slide 63 text

技術のアップデートと組織の成長の両立 ● [技術] DSでのプロダクト改善は今後もやっていく ○ 事業立ち上げ後も自分で手を動かしてDSタスクをやる ● [組織] 様々な事業の立ち上げにDSとして関わる ○ 組織全体がDSで成長できる状態を作ることにコミットする 両立をどう実現するべきか...? 63

Slide 64

Slide 64 text

両立のためのトライ: Data Science Center ● AI事業本部の横断データサイエンス組織 ● 立ち上げフェーズのプロダクトにDS観点でのアドバイスができる ○ プロダクトメンバーとDSで改善ができる準備をする ○ 適切なタイミングでデータサイエンティストをアサインする 64

Slide 65

Slide 65 text

65