Slide 1

Slide 1 text

スマートなランキングの作り方 〜AWA,REQUへの適用事例〜 技術本部 秋葉原ラボ 鈴木 元也 武内 慎

Slide 2

Slide 2 text

1.ランキングについて 2.スマートなランキングの作り方 3.事例紹介 ・AWA ・REQU

Slide 3

Slide 3 text

ランキングについて

Slide 4

Slide 4 text

よくあるランキングの作成方法 ①データ抽出 ②集計 ③並び替え uid user_id product_id price 1 B8SbtiBOANqrwBRZNqBC 77 854 2 UaT3oAhmpQISx2zcXCAa 37 224 3 uK1irdbRRiHiZ8BHpP7o 66 972 4 qUMBtHI26hXJYu7eBfFD 96 454 5 iwq0khAXZl1Jea8wWrx3 40 826 6 e5LLuieSvuq6F811U7OG 15 134 7 kXBqFpOONoo0P0Up4jaz 40 480 8 fMqQUsfgJvY1Nxwf7ZDt 28 578 9 KpR5bzLRQlnOpyi1mgUa 6 210 10 FioKcVD9U46y6dHky2Zr 67 774 product_id price 1 9,715 2 3,628 3 2,655 4 5,163 5 2,719 6 6,722 7 6,082 8 8,210 9 3,565 10 3,968 rank product_id price 1 1 9,715 2 66 9,654 3 20 8,807 4 88 8,351 5 8 8,210 6 28 7,981 7 16 7,770 8 86 7,646 9 40 7,624 10 57 7,194

Slide 5

Slide 5 text

よくあるランキングの作成方法 ①データ抽出 ②集計 ③並び替え uid user_id product_id price 1 B8SbtiBOANqrwBRZNqBC 77 854 2 UaT3oAhmpQISx2zcXCAa 37 224 3 uK1irdbRRiHiZ8BHpP7o 66 972 4 qUMBtHI26hXJYu7eBfFD 96 454 5 iwq0khAXZl1Jea8wWrx3 40 826 6 e5LLuieSvuq6F811U7OG 15 134 7 kXBqFpOONoo0P0Up4jaz 40 480 8 fMqQUsfgJvY1Nxwf7ZDt 28 578 9 KpR5bzLRQlnOpyi1mgUa 6 210 10 FioKcVD9U46y6dHky2Zr 67 774 product_id price 1 9,715 2 3,628 3 2,655 4 5,163 5 2,719 6 6,722 7 6,082 8 8,210 9 3,565 10 3,968 rank product_id price 1 1 9,715 2 66 9,654 3 20 8,807 4 88 8,351 5 8 8,210 6 28 7,981 7 16 7,770 8 86 7,646 9 40 7,624 10 57 7,194 こんな単純なのに 今日はいったい何話すの?

Slide 6

Slide 6 text

よくあるランキングの作成方法 ①データ抽出 ②集計 ③並び替え uid user_id product_id price 1 B8SbtiBOANqrwBRZNqBC 77 854 2 UaT3oAhmpQISx2zcXCAa 37 224 3 uK1irdbRRiHiZ8BHpP7o 66 972 4 qUMBtHI26hXJYu7eBfFD 96 454 5 iwq0khAXZl1Jea8wWrx3 40 826 6 e5LLuieSvuq6F811U7OG 15 134 7 kXBqFpOONoo0P0Up4jaz 40 480 8 fMqQUsfgJvY1Nxwf7ZDt 28 578 9 KpR5bzLRQlnOpyi1mgUa 6 210 10 FioKcVD9U46y6dHky2Zr 67 774 product_id price 1 9,715 2 3,628 3 2,655 4 5,163 5 2,719 6 6,722 7 6,082 8 8,210 9 3,565 10 3,968 rank product_id price 1 1 9,715 2 66 9,654 3 20 8,807 4 88 8,351 5 8 8,210 6 28 7,981 7 16 7,770 8 86 7,646 9 40 7,624 10 57 7,194 作ってみると思ったより考えること多くて 苦労したことないですか?

Slide 7

Slide 7 text

よくあるランキングの作成方法 ①データ抽出 ②集計 ③並び替え uid user_id product_id price 1 B8SbtiBOANqrwBRZNqBC 77 854 2 UaT3oAhmpQISx2zcXCAa 37 224 3 uK1irdbRRiHiZ8BHpP7o 66 972 4 qUMBtHI26hXJYu7eBfFD 96 454 5 iwq0khAXZl1Jea8wWrx3 40 826 6 e5LLuieSvuq6F811U7OG 15 134 7 kXBqFpOONoo0P0Up4jaz 40 480 8 fMqQUsfgJvY1Nxwf7ZDt 28 578 9 KpR5bzLRQlnOpyi1mgUa 6 210 10 FioKcVD9U46y6dHky2Zr 67 774 product_id price 1 9,715 2 3,628 3 2,655 4 5,163 5 2,719 6 6,722 7 6,082 8 8,210 9 3,565 10 3,968 rank product_id price 1 1 9,715 2 66 9,654 3 20 8,807 4 88 8,351 5 8 8,210 6 28 7,981 7 16 7,770 8 86 7,646 9 40 7,624 10 57 7,194 そんな人を増やさないために、、、 スマートなランキングの作り方を まとめてみました

Slide 8

Slide 8 text

スマートなランキングの作り方

Slide 9

Slide 9 text

2つの重要なポイント • 目的の明確化 • アウトプットの明確化 • 評価方法の明確化 ①要件整理 • モデルタイプを定義 • スコアリングロジックの定義 • ランキングロジックの定義 ②ロジック

Slide 10

Slide 10 text

2つの重要なポイント • 目的の明確化 • アウトプットの明確化 • 評価方法の明確化 ①要件整理 • モデルタイプを定義 • スコアリングロジックの定義 • ランキングロジックの定義 ②ロジック

Slide 11

Slide 11 text

①要件整理【メリット / デメリット】 ①要件整理 ②ロジック • 目的の明確化 • アウトプットの明確化 • 評価方法の明確化 • モデルタイプを定義 • スコアリングロジックの定義 • ランキングロジックの定義 ポイント するメリット しないデメリット 目的の明確化 • プロジェクトがスムーズに進む • アウトプットも明確化する • 最終的にやりたいこととずれたランキングが できる • 進めていくときに話が脱線しやすくなる • スコープがどんどん広がってタスクが増える アウトプットの 明確化 • 関係者が安心する • 以下も明確化する • ロジック • 活用方法 • 運用イメージ • 夢と希望に溢れたアウトプットが出てくると 思われる • タスクが属人化しやすくなる • 手戻りが発生しやすくなる 評価方法の明確化 • 上長やチーム外の人に成果を伝えやすい • 担当者のモチベーションが上がる • よかったのか、よくなかったのかわからない ランキングができる • 成果を定義できないので評価されにくい

Slide 12

Slide 12 text

①要件整理【メリット / デメリット】 ①要件整理 ②ロジック • 目的の明確化 • アウトプットの明確化 • 評価方法の明確化 • モデルタイプを定義 • スコアリングロジックの定義 • ランキングロジックの定義 ポイント するメリット しないデメリット 目的の明確化 • プロジェクトがスムーズに進む • アウトプットも明確化する • 最終的にやりたいこととずれたランキングが できる • 進めていくときに話が脱線しやすくなる • スコープがどんどん広がってタスクが増える アウトプットの 明確化 • 関係者が安心する • 以下も明確化する • ロジック • 活用方法 • 運用イメージ • 夢と希望に溢れたアウトプットが出てくると 思われる • タスクが属人化しやすくなる • 手戻りが発生しやすくなる 評価方法の明確化 • 上長やチーム外の人に成果を伝えやすい • 担当者のモチベーションが上がる • よかったのか、よくなかったのかわからない ランキングができる • 成果を定義できないので評価されにくい どうやって要件整理すればいいの?

Slide 13

Slide 13 text

①要件整理【ヒヤリングシート】 ①要件整理 ②ロジック • 目的の明確化 • アウトプットの明確化 • 評価方法の明確化 • モデルタイプを定義 • スコアリングロジックの定義 • ランキングロジックの定義 ポイント 項目 回答 目的の明確化 背景、課題 実現したいこと アウトプットの 明確化 既存システム ある / なし ユーザ表示方法 パーソナライズ / セグメント / 一律 更新頻度 なし / 月 / 日 / 時間 / リアルタイム ランキング対象 ※商品、人など ランキング対象数 ・ランキング候補数 ・ランキング数 ・ランキング表示数 ランキングの種類 ※総合、カテゴリ別など ランキング利用KPI ※2つ以上も可 ランキング利用データ 1つのDB内にある / ある / ない KPIの時系列変動 大きい / 小さい ランキングの表示場所 評価方法の 明確化 評価指標 評価方法 ABテスト / 前後比較 / その他 成功判断条件 ※目標など その他 スケジュール リソース 項目 回答 担当者 開始時期 問題点・課題 ロジック データフロー ※左のヒヤリングシートと同様 既存システム「ある」と回答した場合 既存ランキングシステムについて追加ヒヤリング

Slide 14

Slide 14 text

2つの重要なポイント • 目的の明確化 • アウトプットの明確化 • 評価方法の明確化 ①要件整理 • モデルタイプを定義 • スコアリングロジックの定義 • ランキングロジックの定義 ②ロジック

Slide 15

Slide 15 text

②ロジック【モデルタイプの定義】 1/2 ①要件整理 ②ロジック • 目的の明確化 • アウトプットの明確化 • 評価方法の明確化 • モデルタイプを定義 • スコアリングロジックの定義 • ランキングロジックの定義 [森内一朗, & 木村和央. (2009). 格付モデルの構築と検証.]を参考に作成 タイプ 説明 利用用途 単純モデル 指標を1つ利用してランキングする 例)売上ランキング、ダウンロード数ランキングなど • シンプルにランキングしたとき • 早くランキングを作りたいとき 経験モデル 指標を複数利用して人の経験に基づいて重みづ けした 合計スコアを利用してランキングする 例)人気ランキング、影響力ランキングなど • 複数の指標を組み合わせたスコアでランキングしたいとき • スコアを定量評価ができないとき 統計モデル 指標を複数利用して統計学の知見に基いて重み づけした合計スコアを利用してランキングする 例)レコメンドなど • 複数の指標を組み合わせたスコアでランキングしたいとき • スコアを定量評価できるとき • ユーザごとにランキングを出し分けたいとき

Slide 16

Slide 16 text

②ロジック【モデルタイプの定義】 2/2 ①要件整理 ②ロジック • 目的の明確化 • アウトプットの明確化 • 評価方法の明確化 • モデルタイプを定義 • スコアリングロジックの定義 • ランキングロジックの定義 [森内一朗, & 木村和央. (2009). 格付モデルの構築と検証.]を参考に作成 項目 単純モデル 経験モデル 統計モデル 工数 〇 △ △ 理解しやすさ 〇 〇 △ 根拠 〇 △ 〇 精度 △ △ 〇 必要なデータ規模 小 小 大

Slide 17

Slide 17 text

②ロジック【スコアリングロジックの定義】 ①要件整理 ②ロジック • 目的の明確化 • アウトプットの明確化 • 評価方法の明確化 • モデルタイプを定義 • スコアリングロジックの定義 • ランキングロジックの定義 • データの件数、合計値、平均値、欠損値などを確認しKPIを定義する • 異常値があるか確認し、必要であれば除外方法を定義する • 「rawデータ」「マスタデータ」「データ定義書」を担当者からもらう • データベースにある場合は、アクセス権限をもらう • 定義書とデータが一致しているか確認する • データ型、カラムずれ(区切り文字)などを確認する • ロジックを実装し、スコアを計算する • 評価指標を計算する • 責任者や担当者に結果を見せ評価してもらう • 承諾をもらえない場合は再度スコアリング データ受領・抽出 データアセスメント 基礎集計 スコアリング 評価 繰り返し

Slide 18

Slide 18 text

②ロジック【スコアリングロジックの定義】 ①要件整理 ②ロジック • 目的の明確化 • アウトプットの明確化 • 評価方法の明確化 • モデルタイプを定義 • スコアリングロジックの定義 • ランキングロジックの定義 • データの件数、合計値、平均値、欠損値などを確認しKPIを定義する • 異常値があるか確認し、必要であれば除外方法を定義する • 「rawデータ」「マスタデータ」「データ定義書」を担当者からもらう • データベースにある場合は、アクセス権限をもらう • 定義書とデータが一致しているか確認する • データ型、カラムずれ(区切り文字)などを確認する • ロジックを実装し、スコアを計算する • 評価指標を計算する • 責任者や担当者に結果を見せ評価してもらう • 承諾をもらえない場合は再度スコアリング データ受領・抽出 データアセスメント 基礎集計 スコアリング 評価 繰り返し 具体的にどんなロジック? • 単純モデル:指標の値 • 経験モデル:事例にて紹介 • 統計モデル:割愛

Slide 19

Slide 19 text

②ロジック【ランキングロジックの定義】 ①要件整理 ②ロジック • 目的の明確化 • アウトプットの明確化 • 評価方法の明確化 • モデルタイプを定義 • スコアリングロジックの定義 • ランキングロジックの定義 基本ロジック スコアの降順でランキング ⇒ スコアのままだと不都合が発生する場合に用いるロジック ※例外条件みたいなもの よくある不都合 対処方法案 スコアが同じ場合の扱い ランダムで並び替える (再現性を考えるならばプライマリキーをハッシュ化) サービスに適していない対象 マスタを作成して除外する(人力運用) 特定の対象で寡占してしまう 寡占率(Herfindahl-Hirschman Indexなど)を考慮する

Slide 20

Slide 20 text

事例紹介 AWA / REQU

Slide 21

Slide 21 text

音楽ストリーミングサービス AWA

Slide 22

Slide 22 text

REQUとは

Slide 23

Slide 23 text

AWA事例とREQU事例の違い 項目 AWA REQU 実現したいこと 順位にもっと流動性を持たせたい あらゆる要素を加味したい 【訪問ユーザ向け】 人気セラー、人気商品を紹介したい 【セラー】 上位掲載されることをモチベーション にして、活性化させたい 既存システム ある なし ランキング利用データ 1つのDBにある ある ※1つのDBにまとまっていない 評価指標 納得感、ユーザ利用率 納得感、送客率

Slide 24

Slide 24 text

事例紹介 AWA

Slide 25

Slide 25 text

AWA事例の場合 項目 AWA 実現したいこと ①順位にもっと流動性を持たせたい ②あらゆる要素を加味したい 既存システム ある ランキング利用データ 1つのDBにある 評価指標 納得感、ユーザ利用率 取り組む問題 1. ロジックの改善 2. 評価の実施 取り組まなくていい問題 • システムの検討 • データの受領 要件整理

Slide 26

Slide 26 text

実現したいこと①② ロジック検討 & 参考文献 評価

Slide 27

Slide 27 text

実現したいこと① 順位にもっと流動性を持たせたい

Slide 28

Slide 28 text

実現したいこと① 満たすべき性質:流動性 順位にもっと流動性を持たせたい 順位 1/1 1/2 1/3 1/4 1/5 1 A A A A A 2 B B B B C 3 C D C E B 4 D C E C E 順位 1/1 1/2 1/3 1/4 1/5 1 A A B E C 2 B B A B E 3 C D C A B 4 D C E C D これが、、、 世の中やAWA内の流りが、より反映されるようにしたい 順位 1/1 1/2 1/3 1/4 1/5 1 A C B E D 2 B D A B A 3 C B C D C 4 D A E C E ランダムに順位が変わって欲しいわけではない

Slide 29

Slide 29 text

順位 1/1 1/2 1/3 1/4 1/5 1 A A B E C 2 B B A B E 3 C D C A B 4 D C E C D 理想状態 世の中やAWA内の流りが、より反映されるようにしたい 順位 1/1 1/2 1/3 1/4 1/5 1 A C B E D 2 B D A B A 3 C B C D C 4 D A E C E ランダムに順位が変わって欲しいわけではない 要件整理 ・〇 っぽいパターン同士の比較基準は? ・他にも × なパターンあるかも? 方針案①:理想状態を、定量的に定義する 方針案②:理想状態を、担当者の「納得感」で定義する 案①:定量的に、結果を評価する 案②:担当者の「納得感」で、結果を評価する 評価方法 実現したいこと① 理想状態を定義する 理想状態を定義して、 タスクを明確に

Slide 30

Slide 30 text

実現したいこと② あらゆる要素を加味したい

Slide 31

Slide 31 text

あらゆる要素を加味したい ・「要素」の候補となる「ユーザー行動」例 ・楽曲の再生(普通の再生、リピート再生、オート再生 etc.) ・楽曲のskip ・検索(手入力、履歴、音楽認識 etc.) ・表示 ・クリック ・お気に入り ・ダウンロード ・SNSシェア ・playlist作成 … 実現したいこと② 満たすべき性質:あらゆる要素

Slide 32

Slide 32 text

あらゆる要素を加味したい(スマートに) ・「要素」の候補は限りなくあるので、重要な行動に絞る。 ・各「要素」の重み付けをパラメータで調整する。 ・モデルは「経験モデル」(複数の指標を経験に基づいて重み付け)。 ・具体的にどの行動を「要素」に採用するかは、基礎集計をして決める。 要件整理 ロジック 実現したいこと② 必要なユーザー行動は? 変数を増やすことはトレードオフ メリット:表現力が増える デメリット:結果の解釈が困難、作業コストが増える

Slide 33

Slide 33 text

ロジック検討 基礎集計をするときの気持ち 再生 お気に入り ピークの範囲、立ち方 ピークの減衰曲線 時間(日次) 例えば、、、 気持ち ・行動の意味から、傾向の違いを理解 ・パラメータ調整時に役立つ ・似た行動の重複を除去

Slide 34

Slide 34 text

ロジック検討 基礎集計から垣間見るAWAらしさ 音楽の集合知(playlist文化) 再生 Playlist作成 時間(日次) 検索 発売 & 配信開始 読み取れる「要素」 検索: 需要、話題性 Playlist作成:アーリーアダプター 再生: 全体からのフィードバック

Slide 35

Slide 35 text

参考 (音楽に限らない)人の集団行動分析の例 ・ R. Crane, D. Sornette , Robust dynamic classes revealed by measuring the response function of a social system(2008) Google Trends YouTubeの視聴データ 外因性のピーク 内因性のピーク

Slide 36

Slide 36 text

評価 納得感とパラメータ調整 時間(日次) ランク(降順)

Slide 37

Slide 37 text

評価 ユーザーからのフィードバック 時間 再生数の割合

Slide 38

Slide 38 text

事例紹介 REQU

Slide 39

Slide 39 text

1.要件整理 2.ランキング作成内容詳細 3.結果

Slide 40

Slide 40 text

1.要件整理 2.ランキング作成内容詳細 3.結果

Slide 41

Slide 41 text

ヒヤリングシートを使って要件整理 ポイント 項目 回答 アウトプットの 明確化 既存システム なし ユーザ表示方法 一律 更新頻度 日 ランキング対象 商品とセラー ランキング対象数 ランキング対象は商品マスタすべて 表示数は未定 ランキングの種類 総合とカテゴリ別 ランキング利用KPI 閲覧数、販売数、売上金額、評価、鮮度 ランキング利用データ DBとGAに基本あるが「評価」はない KPIの時系列変動 ? ランキングの表示場所 ランキングページ 評価方法の 明確化 評価指標 納得感 ※サブ:回遊率 or 離脱率 評価方法 前後比較 成功判断条件 納得感があるランキングを作る ※サブ:回遊率 or 離脱率が改善される その他 スケジュール 2か月後くらいに作りたい リソース ディレクター1人、エンジニア1人 ポイント 項目 回答 目的の 明確化 背景、課題 【背景】 現状ランキングページはある が、KPIレポートを参考に担当者が 毎日、人手で並び替えている 【課題】 定量的でないランキングかつ人的コ ストがかかっている 実現したこと 【訪問ユーザ向け】 人気セラー、人気商品を紹介したい 【セラー】 上位掲載されることをモチベーショ ンにして、活性化させたい ⇒ これらを満たした ランキングを作りたい

Slide 42

Slide 42 text

ヒヤリングシートを使って要件整理 ポイント 項目 回答 アウトプットの 明確化 既存システム なし ユーザ表示方法 一律 更新頻度 日 ランキング対象 商品とセラー ランキング対象数 ランキング対象は商品マスタすべて 表示数は未定 ランキングの種類 総合とカテゴリ別 ランキング利用KPI 閲覧数、販売数、売上金額、評価、鮮度 ランキング利用データ DBとGAに基本あるが「評価」はない KPIの時系列変動 ? ランキングの表示場所 ランキングページ 評価方法の 明確化 評価指標 納得感 ※サブ:回遊率 or 離脱率 評価方法 前後比較 成功判断条件 納得感があるランキングを作る ※サブ:回遊率 or 離脱率が改善される その他 スケジュール 2か月後くらいに作りたい リソース ディレクター1人、エンジニア1人 ポイント 項目 回答 目的の 明確化 背景、課題 【背景】 現状ランキングページはある が、KPIレポートを参考に担当者が 毎日、人手で並び替えている 【課題】 定量的でないランキングかつ人的コ ストがかかっている 実現したこと 【訪問ユーザ向け】 人気セラー、人気商品を紹介したい 【セラー】 上位掲載されることをモチベーショ ンにして、活性化させたい ⇒ これらを満たした ランキングを作りたい

Slide 43

Slide 43 text

3つのポイント 1. 「人気」「モチベーション」といった定性指標を定量化する • 考慮してほしいKPIが多い(データが存在しないKPIもある) • 「納得感」という定性指標で評価する 2. 複数の新規システム開発が必要 • データ統合システムの開発(データソースがばらばらなのため) • ランキングロジックシステムの開発 • ランキング結果をサービスにつなぐシステムの開発 3. リソース不足 • エンジニア(別プロジェクトが同時進行) • 分析者(別プロジェクトが同時進行)

Slide 44

Slide 44 text

3つのポイント 1. 「人気」「モチベーション」といった定性指標を定量化する • 考慮してほしいKPIが多い(データが存在しないKPIもある) • 「納得感」という定性指標で評価する • ロジックがブラックボックスにならないように分かりやすくする 2. 複数の新規システム開発が必要 • データ統合システムの開発(データソースがばらばらなのため) • ランキングロジックシステムの開発 • ランキング結果をサービスにつなぐシステムの開発 新規で開発しないよう既存システムを活用する 3. リソース不足 • エンジニア(別プロジェクトが同時進行) • 分析者(別プロジェクトが同時進行) 誰かがボトルネックにならないよう並列して進められるようにする 工夫ポイント① 工夫ポイント③ 工夫ポイント②

Slide 45

Slide 45 text

1.要件整理 2.ランキング作成内容詳細 3.結果

Slide 46

Slide 46 text

ランキング作成フロー データアセスメント ロジックのたたき作成 システム全体像の設計 ロジックの決定 ランキングシステムプロトタイプ開発 レポート作成 データ統合システムの開発 分析者 エンジニア ランキングシステムの開発 サービスにつなぐシステムの開発

Slide 47

Slide 47 text

ランキング作成フロー データアセスメント ロジックのたたき作成 システム全体像の設計 ロジックの決定 ランキングシステムプロトタイプ開発 レポート作成 データ統合システムの開発 分析者 エンジニア ランキングシステムの開発 サービスにつなぐシステムの開発 ↑ 分 析 者 視 点 を 話 し ま す

Slide 48

Slide 48 text

ランキング作成フロー データアセスメント ロジックのたたき作成 システム全体像の設計 ロジックの決定 ランキングシステムプロトタイプ開発 レポート作成 データ統合システムの開発 分析者 エンジニア ランキングシステムの開発 サービスにつなぐシステムの開発

Slide 49

Slide 49 text

データアセスメント 閲覧数 販売数 売上金額 評価 鮮度 × 定義書の確認 データベースの確認 KPI定義 データマート作成 データが存在しない データマート ※KPIを1つのデータにまとめたもの • どんなテーブル構造? • どんなデータがある? • KPIが存在する? • アクセス権限がある? • 定義書の記載とあっている? • キーの紐づけできる? • 基本統計量の計算(違和感,NULL などある? ) • 売上は受注時?決済時? • 閲覧の対象ページはどこ? • キーを何にする? • カラムはどれを対象にする? • 元データと数値は一致する? 売上データ

Slide 50

Slide 50 text

ランキング作成フロー データアセスメント ロジックのたたき作成 システム全体像の設計 ロジックの決定 ランキングシステムプロトタイプ開発 レポート作成 データ統合システムの開発 分析者 エンジニア ランキングシステムの開発 サービスにつなぐシステムの開発

Slide 51

Slide 51 text

ロジックのたたき作成 1/2 モデルタイプ • 単純モデル • 経験モデル • 統計モデル 選択理由 • 並び替える対象が多くない(レコード数が多くない) • ランキングはユーザ一律 ⇒ 統計モデルの適切な学習ができなさそう ⇒ 開発・運用工数を考えるとコスパが悪い 懸念事項 • 経験モデルは人力でパラメータをチューニングする • 考慮する要因が多すぎるとパラメータチューニングが非常に大変 ⇒ 考慮すべき要因とパラメータを最低限まで減らす 【モデルタイプの定義】

Slide 52

Slide 52 text

ロジックのたたき作成 2/2 【スコアリングロジック】 : 商品, セラー : 対象日 : 日前 工夫ポイント① , = 1 − × , + × , , = ෍ =1 (,− × ) Score, = , + , ※RE:residual effect ロジックをわかりやすくする

Slide 53

Slide 53 text

, = 1 − × , + × , ロジックのたたき作成 2/2 【スコアリングロジック】 残存効果 人気 n日前の人気 人気 残存効果 時間重み : 商品, セラー : 対象日 : 日前 人気の持続性を持たせることを「モチベーション」とし考慮する 売り切れが発生するので売り切れ後も残存効果としても考慮できる(鮮度) 閲覧数 売上金額 工夫ポイント① , = ෍ =1 (,− × ) Score, = , + , 売上重み ※RE:residual effect ロジックをわかりやすくする コマースKPI 閲覧数 売上金額 Cunsumer Business KPIツリー

Slide 54

Slide 54 text

, = 1 − × , + × , , = ෍ =1 (,− × ) ロジックのたたき作成 2/2 【スコアリングロジック】 残存効果 人気 n日前の人気 人気 残存効果 時間重み : 商品, セラー : 対象日 : 日前 パラメータは2つだけ 工夫ポイント① Score, = , + , 売上重み ※RE:residual effect ロジックをわかりやすくする

Slide 55

Slide 55 text

ロジックのたたき作成 2/2 【スコアリングロジック】 残存効果 人気 n日前の人気 人気 残存効果 時間重み : 商品, セラー : 対象日 : 日前 売上重み λ n λ^n 0.5 1 0.5 0.5 2 0.25 0.5 3 0.125 λは n前日前をどのくらい考慮するか? λが0.5の場合1日前の「Popularity」は半分考慮して2日前は半分の半分を考慮する 数値イメージ 工夫ポイント① , = 1 − × , + × , , = ෍ =1 (,− × ) Score, = , + , ※RE:residual effect ロジックをわかりやすくする

Slide 56

Slide 56 text

ランキング作成フロー データアセスメント ロジックのたたき作成 システム全体像の設計 ロジックの決定 ランキングシステムプロトタイプ開発 レポート作成 データ統合システムの開発 分析者 エンジニア ランキングシステムの開発 サービスにつなぐシステムの開発

Slide 57

Slide 57 text

システム全体像の設計 売上データ マスタデータ エクスポート機能を利用 データを転送 データを転送 REQU システム アカウント設定済みの 既存プロジェクトを利用 工夫ポイント② 既存システムの有効利用 レポーティング

Slide 58

Slide 58 text

システム全体像の設計 売上データ マスタデータ エクスポート機能を利用 データを転送 データを転送 マスタテーブル GAテーブル 売上テーブル データマート テーブル スコアリング結果 テーブル ロジック計算 ↓ 工夫ポイント③ ボトルネック解消 REQU システム テーブル作成フロー アカウント設定済みの 既存プロジェクトを利用 工夫ポイント② 既存システムの有効利用 スキーマを定義 ⇒ input, outputデータが明確化 SQL SQL レポーティング

Slide 59

Slide 59 text

ランキング作成フロー データアセスメント ロジックのたたき作成 システム全体像の設計 ロジックの決定 ランキングシステムプロトタイプ開発 レポート作成 データ統合システムの開発 分析者 エンジニア ランキングシステムの開発 サービスにつなぐシステムの開発

Slide 60

Slide 60 text

ロジックの決定 パラメータチューニング ロジックに関するレポーティング RANK ID Popularscore Re Popularity 1 149 10.784 0.87 9.91 2 8352 10.759 0.98 9.78 3 8056 10.735 0.87 9.87 4 3234 10.623 0.65 9.97 5 2477 10.463 0.94 9.52 6 1165 10.423 0.84 9.58 7 4012 10.240 0.34 9.90 8 6349 10.168 0.45 9.72 9 4649 10.163 0.67 9.49 10 388 10.085 0.80 9.29 11 4564 9.980 0.61 9.37 12 6585 9.829 0.60 9.23 13 6827 9.649 0.29 9.36 14 7720 9.624 0.51 9.11 15 3608 9.581 0.74 8.84 16 8548 9.442 0.27 9.17 17 5598 9.432 0.79 8.64 18 9497 9.419 0.54 8.88 19 7491 9.408 0.33 9.08 20 6695 9.398 0.65 8.75 例)パラメータ探索範囲の提案 ID ※数値、パラメータはダミーの値です

Slide 61

Slide 61 text

ランキング作成フロー データアセスメント ロジックのたたき作成 システム全体像の設計 ロジックの決定 ランキングシステムプロトタイプ開発 レポート作成 データ統合システムの開発 分析者 エンジニア ランキングシステムの開発 サービスにつなぐシステムの開発

Slide 62

Slide 62 text

プロジェクト名 test_popularranking prd_popularranking dm_table dm_table popularscore_table popularscore_table ランキングシステムプロトタイプ開発 マスタテーブル GAテーブル 売上テーブル データマート テーブル スコアリング結果 テーブル データセットを管理して プロトタイプと本番を切り分ける 分析者がバッチで本番同様にスコアリングを行う ※cronとかでもOK メリット • システム化するときのイメージが明確になる • 数値やシステムの挙動確認ができる • この後のタスク「レポート作成」を進めることができる デメリット • サーバーが必要(ローカルPCでもできなくはないが、、、) ※テーブル名は任意の名前です

Slide 63

Slide 63 text

ランキング作成フロー データアセスメント ロジックのたたき作成 システム全体像の設計 ロジックの決定 ランキングシステムプロトタイプ開発 レポート作成 データ統合システムの開発 分析者 エンジニア ランキングシステムの開発 サービスにつなぐシステムの開発

Slide 64

Slide 64 text

レポート作成 今日

Slide 65

Slide 65 text

1.要件整理 2.ランキング作成内容詳細 3.結果

Slide 66

Slide 66 text

結果 • 納得感があるランキングを作成することができた • 実は途中で「単純モデル」でランキングを作成しており、単純モデルと比較して 離脱率が6%程度改善した • ほとんど手戻りなくプロジェクトを進めることができた

Slide 67

Slide 67 text

さいごに

Slide 68

Slide 68 text

みなさんも理想状態を見極めながら スマートにランキングをしましょう!