kaizen platform における bigquery 活用事例 #bq_sushi tokyo #2

28
2015/11/19 #bq_sushi tokyo #2 Yu Kawabe Kaizen Platform, Inc. Kaizen Platform にににに BigQuery にににに Kaizen Platform にににに BigQuery にににに

Upload: yu-kawabe

Post on 07-Apr-2017

3.296 views

Category:

Technology


7 download

TRANSCRIPT

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

2015/11/19 #bq_sushi tokyo #2Yu KawabeKaizen Platform, Inc.

Kaizen Platform におけるBigQuery 活用事例Kaizen Platform におけるBigQuery 活用事例

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

Self introduction

Yu Kawabe• 2009 - 2014 RICOH Company, Ltd.

Production planning( 生産管理・生産企画 )Supply chain management

VBA, SQL Server• 2014 - Kaizen Platform, Inc.

Product ManagerBigQuery, MySQL, Python

• My hobby囲碁 ( 第 49 回学生本因坊ベスト 8)

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

Service Site Analysis

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

What is Kaizen Platform

Optimizer NetworkProvide the 3Cs: Content, Creative

and Conversations.

SaaS A/B Testing PlatformManages workflow of sourcing,

creating and optimizing the 3Cs.

Search

Social

Email

Site Content

Content

Creative

Conversations

+

Display

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

サービスサイトのアクセス分析• ユーザーのアクセスログを BQ に送り続ける• BQ に貯まったログにクエリをたたく

- Visualization Tool へ連携- Adhoc に分析

User access Access log

Adhoc Analyze

Visualization

Google BigQuery の話 #gcpja by Naoya Itohttps://speakerdeck.com/naoya/google-bigquery-falsehua-number-gcpja

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

サービスサイトのアクセス OS 別• サービスサイトのアクセスを OS 別にカウント• クエリ結果を Re:dash で Visualize

- ブラウザ種別や時間帯別なども

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

サービスサイトのアクセス  Browser 別

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

サービスサイトのアクセス 国別[fh-bigquery:geocode.geolite_city_bq_b2b] で国を判別 => visualize

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

ファネル分析各ユーザーがどのアクションまで到達したかを CASE WHEN 句でファネル定義

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

ファネル分析Visualization tool でユーザーの サインアップ時系列に集約ファネル毎の ユーザー数を可視化

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

アドホック分析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

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

BQ でアクセスログ分析を行うメリット• Visualization tool 連携の柔軟性が高い• 集計内容を後から簡単に変更できる  - Query でファネル定義• Adhoc に分析可能  - Dimension table と join  - Time range の調整

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

PRODUCT for BasicWeb site

Optimization

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

Variations

OriginalA B

C D

The best variation!

Web Page A/B テスト

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

A/B テストのログ集計

Customer web site

Kaizen JS

End-user access

顧客サイトに貼られた JS タグで visit, conversion ログを収集サービス用は DynamoDB 、生ログを BQ に格納

Hourlydata

集計前の生ログを格納

サービスサイトから問い合わせ

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

ログ活用 live-ops

• 「自社の GA データと数値が若干ズレるのですが、 詳細データを調べてもらえませんか?」

• 「自社 IP は除いて評価したいのですが、可能ですか?」  ・  ・  ・これらの問い合わせには全て BQ で対応(BQ 導入前はストレージに zip してたので調査も一苦労。。。 )

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

ログ活用 重複送信の検知

Customer web site

Kaizen JS

集計前の生ログを格納

サービスサイトから問い合わせ

ログが重複送信されているケースが時折発生している=>BQ で検知できないか?

Kaizen JSよくあるケースはタグ二重貼り

End-user access

Hourlydata

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

ログの重複送信を検知① 同一 session で発生しているログの時刻を抽出② 閾値時間内に重複送信されている確率を算出

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

ログの重複送信を検知重複送信されている割合を A/B テスト毎に可視化

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

Product for AdvancedPRODUCT for AdvancedAd x Web

Optimization

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

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

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

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 へ格納

Hourlydata

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

・・・・・

AD x Web cookie sync

Kaizen JS (Ad)

Kaizen JS(Web)

重複あり

Ad x Web cookie sync

・・・・・

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

AD x Web cookie sync

AD

Web

Sync

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

Segment を集計時に加工する

• データは 1 Record / visit• Segment 情報は 1 カラムにカンマ区切りで格納

LP ConversionLogin ・・・

End-user access

Referer はLP 到達時点を

採用したい

会員情報はConversion 直前から取得したい

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

Segment を集計時に加工する

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

まとめ• とりあえず、データは全部貯めておく• 使い方・集計方法は後から考えても ( 必要になっても )

データがあれば対処できる=>Reactive に運用・分析

• ローンチ前のサービス・機能の検証を低コストでできる

• 一方、力技でだいたいどうにかなってしまうので適当にやると事前の運用設計がおろそかになってしまったり

=> 諸刃の刃的な側面も

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

Thank You!

EOF