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.

Re:dash Use Cases at iPROS

10,013 views

Published on

The presentation slide of https://iprostm.doorkeeper.jp/events/30714
Published on Sep 17, 2015

Published in: Technology

Re:dash Use Cases at iPROS

  1. 1. re:dash  Use  Cases  at  iPROS 株式会社イプロス   開発部   横⽥田  順平
  2. 2. Jumpei  Yokota   @yokotty_̲j   IPROS  開発部   (新卒⼊入社2年年⽬目)   Main  Job   サーバーサイド  PG   データ分析→施策検討
  3. 3. アジェンダ • re:dash  による  
 Visualization  /  Dashboard   • イプロスにおけるデータ分析の
 re:dash  導⼊入前と導⼊入後   • re:dash  活⽤用のポイント
  4. 4. re:dash  による   Visualization  /  Dashboard
  5. 5. Visualization  Type Chart   Cohort   Counter   Map
  6. 6. Chart    (5  series  type) Area(面グラフ) Pie(円グラフ) Scatter(散布図) Column(棒グラフ) Line(折れ線グラフ)
  7. 7. Cohort
  8. 8. Counter
  9. 9. Map
  10. 10. How  to  visualize? 1. Queries  (or  Top  Page)  →  New  Query   2. Data  Source  を選択   3. SQL  実⾏行行   4. +New  Visualization   5. セッティング後,Save
  11. 11. https://demo.redash.io/ re:dash  公式デモサイト
  12. 12. Ex)  Line  Chart(折れ線グラフ) https://demo.redash.io/queries/516
  13. 13. SELECT to_char(created_at,'YYYY-MM-DD') AS created_at, action, count(id) AS count FROM events WHERE created_at BETWEEN NOW() - interval '6 month' AND NOW() GROUP BY 1,2 ORDER BY 1,3 DESC データソース re:dash (PostgreSQL) Ex)  Line  Chart(折れ線グラフ)
  14. 14. SELECT to_char(created_at,'YYYY-MM-DD') AS created_at, action, count(id) AS count FROM events WHERE created_at BETWEEN NOW() - interval '6 month' AND NOW() GROUP BY 1,2 ORDER BY 1,3 DESC データソース re:dash (PostgreSQL) Ex)  Line  Chart(折れ線グラフ) YX Series
  15. 15. Ex)  Line  Chart(折れ線グラフ) グラフにマッピングするカラムを指定
  16. 16. Ex)  Line  Chart(折れ線グラフ) X  Axis  Type(X  軸の尺度度)   ・Category:カテゴリデータ(質的データ)   ・Date/Time:⽇日付データ   ・Linear:⽐比率率率データ/間隔データ(量量的データ)
  17. 17. Dashboard • 作成した  Visualization  や  Table, テキストボックスをタイル状に
 並べてダッシュボード化   • テキストボックスはHTML  コードも ⼊入⼒力力し,そのまま表⽰示可
  18. 18. How  to  create  Dashboard? 1. Top  Page  →  New  Dashboard   2. Dashboard  Name  を⼊入⼒力力して  Save
 (これが  URL  になるため英語を推奨)   3. Add  Widget(+マーク)で  Query  を指定   4. Choose  Visualization,Size  指定して  Save   5. グラフの並び替えやタイトル修正
  19. 19. グラフの並び替え
  20. 20. イプロスデモ公開中 https://demo.redash.io/dashboard/ipros-‐‑‒demo
  21. 21. 普通のダッシュボードツール   ・・・?
  22. 22. それだけじゃない!
  23. 23. 便便利利機能たち • リンク   • クエリパラメータ   • フィルター/マルチフィルター   • リフレッシュスケジュール
  24. 24. リンク • URL  を  SELECT  すると⾃自動的に
 リンクになる   • <a  href=“http:// www.google.com”>Google</a>
 を⽂文字列列⽣生成すると・・・
  25. 25. https://demo.redash.io/queries/521 クエリパラメータ
  26. 26. ん?表⽰示されない?
  27. 27. https://demo.redash.io/queries/521?p_userId=2 クエリパラメータ
  28. 28. クエリパラメータ •  {{hoge}}  でSQL  の⼀一部を変数化   • クエリの  URL  に  p_̲hoge  を付けて
 アクセスすると値が置換されて演算   • 複数パラメータも可能   • ダッシュボードへも適⽤用できる
  29. 29. リンク  ×  クエリパラメータで・・・ https://demo.redash.io/queries/520
  30. 30. ドリルダウン,動線設計 リンク  ×  クエリパラメータで・・・
  31. 31. フィルター https://demo.redash.io/queries/559/source#770
  32. 32. マルチフィルター https://demo.redash.io/queries/560/source#772
  33. 33. フィルター/マルチフィルター • カラムの要素を選択してグラフ化   • AS  “hoge::filter”  
 AS  “hoge::multi-‐‑‒filter”
  34. 34. リフレッシュスケジュール
  35. 35. リフレッシュスケジュール • 定期実⾏行行で結果を最新の状態に   • 1分〜~1週間毎,5分刻みの時刻指定 など細かいスケジュール設定
  36. 36. イプロスにおけるデータ分析の   re:dash  導⼊入前と導⼊入後
  37. 37. What  is  IPROS  ?
  38. 38. 国内最⼤大の「製造技術データベースサイト」イプロス製造業をはじめ   他業種,多国籍に  B  to  B  サイトを展開
  39. 39. ユーザーと出展者をマッチングする   イプロスサイトはいわば  ”Web上の展⽰示会”   営業 問合せ 製品やサービスを 探している 製品やサービスを PRしたい ものづくり現場の   エンジニア・購買担当者 営業・販売促進担当 マッチング 出展者ユーザー
  40. 40. データ分析における   Who?  Why?  What?
  41. 41. Who  ?  &  Why  ?(誰が何のために) • 企画:施策の検討・振り返り,マネタイズ,
       SEO  など   • 開発:バグや異異常がないかどうかの監視   • 営業:クライアント,広告のパフォーマンス                                                      etc  …
  42. 42. What  ?(何を⾒見見るか) • サイト閲覧数,成⻑⾧長度度(PV,UUなど)   • マッチング発⽣生状況(CV)   • 出展者ごとの集客状況や広告効果   • 施策ごとの  KPI
  43. 43. How  ?
  44. 44. re:dash  導⼊入前 ログデータ 集計データ マスタデータ イプロス
 分析プラットフォーム Amazon   Redshift
  45. 45. 解決すべき点 • 保守性が低い分析プラットフォーム   • ⾒見見たいデータがどこにあるか分からない
 画⾯面が多くても⾒見見るページは⼀一握り   • 都度度のデータ出し対応
 (対応者でクエリにバラツキ,再利利⽤用性低)   • 可視化は  Excel  …  時間がかかる,重い
  46. 46. re:dash  導⼊入後 集計データマスタデータ ログデータ Amazon   Redshift
  47. 47. 作成したダッシュボード • トラフィック分析
 (⽇日次/週次⽐比較/⽉月次,CV  深堀り)
 →  フィルターでサイト毎に表⽰示   •  ユーザーや出展者,広告の分析
 →  パラメータを使ってマクロ⇒ミクロ分析   • 施策毎の検証,KPI
 →  あらゆる⾓角度度で分析してダッシュボード化
  48. 48. re:dash  導⼊入で変わった点 • URL  のみでデータソース&グラフを
 スムーズにやり取り   • クエリの共有による均質化,SQL  ⼒力力  UP   • ⾼高い保守性   • 多様なグラフを並べて施策検討,深堀り
  49. 49. re:dash  活⽤用のポイント
  50. 50. re:dash  活⽤用のポイント • 気付きの得られるグラフを作る   • 適切切なスケジューリング   • OSS  
  51. 51. 気付きの得られるグラフを作る • ⽉月次や年年次での集計   • ⾏行行  ↔  列列  変換   • 割合,昨対⽐比   • ⻭歯抜けデータの補填
 
 などを駆使して,直感的に理理解できるグラフにする
  52. 52. ⽉月次や年年次での集計 — postgresql to_char(created_at,’YYYY-mm-dd’) to_char(created_at,’YYYY-mm-01’) — mysql date_format(created_at,’%Y-%m-%d’) date_format(created_at,’%Y-%m-01’)
  53. 53. ⾏行行  ↔  列列変換 — 行→列 SUM(CASE col1 WHEN ‘val1’THEN 1 ELSE 0 END) AS “val1”, SUM(CASE col1 WHEN ‘val2’THEN 1 ELSE 0 END) AS “val2” — 列→行 SELECT col1 FROM table1 UNION ALL SELECT col2 FROM table1
  54. 54. 割合,昨対⽐比
  55. 55. SELECT CASE date_part(dow, week_before_last.log_date) WHEN 0 THEN '日' WHEN 1 THEN '月' WHEN 2 THEN '火' WHEN 3 THEN '水' WHEN 4 THEN '木' WHEN 5 THEN '金' WHEN 6 THEN '土' END AS week, week_before_last.cnt AS week_before_last, last.cnt AS last_week, this.cnt AS this_week FROM (~) AS week_before_last LEFT OUTER JOIN (~) AS last ON last.log_date = week_before_last.log_date + CAST('7 days' AS INTERVAL) LEFT OUTER JOIN (~) AS this ON this.log_date = last.log_date + CAST('7 days' AS INTERVAL) GROUP BY last.log_date, 2,3,4 ORDER BY date_part(dow, last.log_date)
  56. 56. ⻭歯抜けデータの補填 FROM calender c LEFT OUTER JOIN ( SELECT log_date, count(id) AS cnt FROM pv GROUP BY 1 ) AS p ON c.log_date = p.log_date
  57. 57. 本来  SQL  は抽出が強み   整形は他に任せるべき
  58. 58. でも  re:dash  は
 そこを敢えて  SQL  で
 乗り切切る必要がある   
 出⼒力力イメージを先に持って
 ゴリゴリ  SQL  を書く!
  59. 59. 適切切なスケジューリング • データの変化が多いものや,よく ⾒見見られているグラフは更更新頻度度を ⾼高くする   • 同じ時間・データソースに
 重いクエリを投げない
  60. 60. 実際に使っています https://demo.redash.io/dashboard/ipros-‐‑‒demo スケジュールが偏ってないか?   データソースごとに状況把握
  61. 61. OSS • re:dash  はオープンソースだから こそバグもポテンシャルもある   • 完璧を求めない  or  コミッタになる
  62. 62. バグ? • 2軸グラフに対して  x_̲max  /  x_̲min  を
 設定するとグラフが表⽰示できなくなる   • 1000  ⾏行行以上は  x  軸に設定できない
 (1⽇日1⾏行行だと  MAX  で3年年…)
                               etc  …
  63. 63. 今後対応されたらいいな・・・ • グラフ出⼒力力期間の範囲指定,絞り込み   • re:dash  内での  TIME  ZONE  設定   • CSV  出⼒力力のエンコーディング設定   • ヒートマップやバブルチャートなど
 Chart  の種類追加   • 近似曲線,移動平均線など
                             etc  …  
  64. 64. Enjoy  re:dash  !   ありがとうございました

×