Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Kaizen Platform における BigQuery 活用事例 #bq_sushi tokyo #2

4,383 views

Published on

The use case of BigQuery in Kaizen Platform

Published in: Technology
  • Be the first to comment

Kaizen Platform における BigQuery 活用事例 #bq_sushi tokyo #2

  1. 1. 2015/11/19 #bq_sushi tokyo #2 Yu Kawabe Kaizen Platform, Inc. Kaizen Platform における BigQuery 活用事例 Kaizen Platform における BigQuery 活用事例
  2. 2. Self introduction Yu Kawabe • 2009 - 2014 RICOH Company, Ltd. Production planning(生産管理・生産企画) Supply chain management VBA, SQL Server • 2014 - Kaizen Platform, Inc. Product Manager BigQuery, MySQL, Python • My hobby 囲碁(第49回学生本因坊ベスト8)
  3. 3. Service Site Analysis
  4. 4. What is Kaizen Platform Optimizer Network Provide the 3Cs: Content, Creative and Conversations. SaaS A/B Testing Platform Manages workflow of sourcing, creating and optimizing the 3Cs. Search Social Email Site Content Content Creative Conversations + Display
  5. 5. サービスサイトのアクセス分析 • ユーザーのアクセスログをBQに送り続ける • BQに貯まったログにクエリをたたく - Visualization Tool へ連携 - Adhocに分析 User access Access log Adhoc Analyze Visualization Google BigQuery の話 #gcpja by Naoya Ito https://speakerdeck.com/naoya/google-bigquery-falsehua-number-gcpja
  6. 6. サービスサイトのアクセス OS別 • サービスサイトのアクセスを OS 別にカウント • クエリ結果を Re:dash で Visualize - ブラウザ種別や時間帯別なども
  7. 7. サービスサイトのアクセス Browser 別
  8. 8. サービスサイトのアクセス 国別 [fh-bigquery:geocode.geolite_city_bq_b2b]で国を判別=> visualize
  9. 9. ファネル分析 各ユーザーがどのアクションまで到達したかを CASE WHEN 句でファネル定義
  10. 10. ファネル分析 Visualization tool でユーザーの サインアップ時系列に集約 ファネル毎の ユーザー数を可視化
  11. 11. アドホック分析 RDB の集計データを Dimension table として使う 例:報酬上位10%のユーザーはサービス上でどのような行動をしているか? 例:A/Bテストの月間回数が下位X%のカスタマーはどこで離脱してるか? Dimension table(view) user_id reward_percentile 1 10 2 20 3 20 4 10 5 30 + User Access log summarizeCopied RDB main Table App::BigQuery::Importer::MySQL
  12. 12. BQでアクセスログ分析を行うメリット • Visualization tool 連携の柔軟性が高い • 集計内容を後から簡単に変更できる - Queryでファネル定義 • Adhocに分析可能 - Dimension tableとjoin - Time range の調整
  13. 13. PRODUCT for Basic Web site Optimization
  14. 14. Variations Original A B C D The best variation! Web Page A/Bテスト
  15. 15. A/Bテストのログ集計 Customer web site Kaizen JS End-user access 顧客サイトに貼られたJSタグでvisit, conversionログを収集 サービス用は DynamoDB 、生ログを BQ に格納 Hourly data 集計前の生ログ を格納 サービスサイト から問い合わせ
  16. 16. ログ活用 live-ops • 「自社のGAデータと数値が若干ズレるのですが、 詳細データを調べてもらえませんか?」 • 「自社IPは除いて評価したいのですが、可能ですか?」 ・ ・ ・ これらの問い合わせには全てBQで対応 (BQ導入前はストレージにzipしてたので調査も一苦労。。。)
  17. 17. ログ活用 重複送信の検知 Customer web site Kaizen JS 集計前の生ログ を格納 サービスサイト から問い合わせ ログが重複送信されているケースが時折発生している =>BQで検知できないか? Kaizen JS よくあるケース はタグ二重貼り End-user access Hourly data
  18. 18. ログの重複送信を検知 ①同一 session で発生しているログの時刻を抽出 ②閾値時間内に重複送信されている確率を算出 ① ②
  19. 19. ログの重複送信を検知 重複送信されている割合をA/Bテスト毎に可視化
  20. 20. Product for Advanced PRODUCT for Advanced Ad x Web Optimization
  21. 21. Ad x Web A/Bテスト Ad Optimization Web Optimization Maximize the inbound Optimize with clicked banners Kaizen Platform Optimization System Architecture http://www.slideshare.net/DaisukeTaniwaki/kaizen-platform-optimization-system-architecture
  22. 22. Ad x Web A/Bテスト Customer web site(LP) Kaizen JS(Web) サービスサイト から問い合わせ Media site Kaizen JS (Ad) 集計前の生ログ を格納 Ad banner click LP へ遷移 Ad banner click => LP到達時に Ad cookie(3rd party) & web cookie(1st party cookie) データをBQへ格納 Hourly data
  23. 23. ・・・・・ AD x Web cookie sync Kaizen JS (Ad) Kaizen JS(Web) 重複あり Ad x Web cookie sync ・・・・・
  24. 24. AD x Web cookie sync AD Web Sync
  25. 25. Segment を集計時に加工する • データは 1 Record / visit • Segment情報は1カラムにカンマ区切りで格納 LP ConversionLogin ・・・ End-user access Referer は LP到達時点を 採用したい 会員情報は Conversion直前 から取得したい
  26. 26. Segment を集計時に加工する
  27. 27. まとめ • とりあえず、データは全部貯めておく • 使い方・集計方法は後から考えても(必要になっても) データがあれば対処できる =>Reactiveに運用・分析 • ローンチ前のサービス・機能の検証を低コストでできる • 一方、力技でだいたいどうにかなってしまうので 適当にやると事前の運用設計がおろそかになってしまったり => 諸刃の刃的な側面も
  28. 28. Thank You! EOF

×