Looker User Meetup in Tokyo #3@メルカリ 参加メモ

Lookerのユーザー会#３に参加してきました。発表内容のメモです。

## イベントURL
https://looker-japan-user-group.connpass.com/event/159056/

## ツイッターハッシュタグ
 #lookermeetup

## 会場でもらえたもの
Lookerオリジナル Webcam Cover

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242038/185893f9-6174-4f49-3021-b78adb4b10be.jpeg" width=30% ALT="looker Webcam Cover">

## イベント概要
|No | 内容 | 発表者 | 発表タイトル | 資料リンク |
|:--|--------:|:-----:|:-----:|:-----:|
| 1 | UserTalk1 |熊埜御堂 将隆（株式会社 Diverse） |DiverseでのLooker活用事例 | [資料リンク](https://www.slideshare.net/ssuser6610b9/diverselooker) |
| 2 | UserTalk2 |下地 勇貴 (株式会社 SmartHR) |SmartHRにおけるLooker利用の話| [資料リンク](https://speakerdeck.com/shimojiyuki/20200124-looker-user-meetup-in-tokyo-number-3) |
| 3 | UserTalk3 |遠藤 司 (株式会社 ZOZO テクノロジーズ) |データガバナンスツールとしてのLooker| [資料リンク](https://speakerdeck.com/tsucasa/20200124-looker-user-meet-up-in-tokyo-number-3) |
| 4 | UserTalk4 |永井 伸弥 (株式会社 メルカリ) |LookerのDashboardをより柔軟に作る| [資料リンク](https://speakerdeck.com/nagai_shinya/lookerfalsedashboardwoyorirou-ruan-nizuo-ru) ||


## DiverseでのLooker活用事例

**LookerはView（データの参照）としては使われてるが、Explore（サイエンス）としては使われない現実がある。
マーケチームがサイエンスとして使ってくれるようにすることを目標にして色々活動中。その内容の共有。**

**マーケティングチームでのデータ活用についてヒアリングを行った。**
・スプレッドシートの手運用が多く課題が多い
　→内外のメンバが入力
　→入力ミスあり
　→土日も入力必要
　→出社後に手入力による時間がかかり朝の時間を潰してしまう
　　　　↓
　　**自動化していく**

自動化のシステムフロー
![スクリーンショット 2020-01-31 13.19.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242038/10d595f8-e4a3-62d7-d414-d5e0ea910a8f.png)


**ちゃんと使ってもらえるように**
・スプレッドシートと同じ様な使用感でダッシュボードを構築していく
・ぱっと見でわかるダッシュボードの作成
・キャンペーンごとの数値を今までよりも追えるようになることで数値比較の効率と質の向上

**副産物**
・施策前の数値取得作業を自分たちでできるように
・各施策の振り返り用数値は自分たちで出してもらえるかも？（期待）
・数値が活用しやすい環境が整うので異常検知用のアラートなども作れる

**自動化の課題**
・APIやスクレイピングを利用してるので、メンテナンス必須
・マーケ側で新しい広告媒体追加したら、追加作業が必要。簡易に追加可能するためのツール実装も必要

**結果(こうなってほしい)**
・仮設検証する時間確保はできたので**サイエンス**してもらう
・Lookerを使ってもらうことで今まで見れていなかった軸の分析

**今後の目標**
・分析基準や判断の切り口の掲示
・更に小さい粒度での数値確認したくなる環境づくり


## SmartHRにおけるLooker利用の話

**[こちらの記事中]((https://note.com/bunnyboy/n/n64fae4909e40))のLookerをSalesforceにembedしているについてどんな情報を、誰がどう役立てているのか。をもう少し細かく紹介**

**どんな情報①**
・SmartHRの契約情報、各種機能や利用度や、管理者ユーザーの最終アクセス日、サポートコンテンツの利用状況など

**誰がどう役立てている？**
・CS
　→オンボーティング中のお客様が、問題なく使い始めることができているかを見ている。
　→定例MTG前に、「アラートが上がった」、「問い合わせがあった」などのトリガーから、お客様へのアクションを起こす前に確認することが多い。

・セールス
　→商談中にトライアル登録をされた企業を見て、実際に利用しているかどうかを見ている。
　→お客様の状況を見た上で、効果的な提案につなげられるようになった。
　→CSと同じ情報を見れるようになったことで、受注後の引き継ぎがしやすくなった。

**どんな情報②**
・機能利用度をもとに算出したスコアを、100点満点で表示。Looker上では、顧客ごとのスコア一覧をみるボードも作っており、スコアが低い（＝機能をあまり使っていない）顧客を見つけて、運用相談やセミナーの案内を送ったりと対応している。

**誰がどう役立てている？**
・現状はそこまで役立てられていない
　→**課題**：機能利用度だけではお客様のサクセスに繋がっているかどうかは判別できないケースが多い（SmartHRの場合）
　→**なぜ？**：SmartHRの場合、利用のタイミングが限られる機能が多いため。「退職手続きがあまり使われていないから、もっと使っていきましょう！」という提案をしても意味がない（サクセスにつながらない）

**今後どうカイゼンしていく？**
・タッチスコアやアンケートでの満足度調査なども加味するようにする

**今後の展望の話（タッチスコア）**
・SmartHRスクール(eラーニングコンテンツ）の受講状況
・ウェビナー、セミナーなどの参加状況
・ミートアップ、勉強会などのオフラインイベントへの参加状況
・ステップメール、メルマガの開封、アクション状況
・アンケート（NPS、CES）の回答状況、スコア
・参加×満足度で集計（参加いただいても満足いただけてなければ意味がない）
・各種項目を掛け合わせたスコアリングの作成
・スコアの増減をトリガーにしたタッチ施策の自動設定

<img width="500" border="3" alt="セールスグループのDashboard.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242038/83809b92-023e-30b2-a128-404e7ab75b82.jpeg">

・セールスフォースで作るのが難しいレポートをLookerで作成。その後セールスフォースに埋め込む

**その他メモ**
・異常値の検知（想定してない使い方をしている顧客を監視）から、機能改善や新たな事業ネタに活用
・SmartHRのLooker作成メンバについて
　→現状は数名で触っている。ノウハウ溜まったら書き方のルールを作成しドキュメント化していき、LookMLをかける人とダッシュボードを作れる人を増やしていく。


## データガバナンスツールとしてのLooker

**ZOZOではエンジニアがLookerを使い始めてから、データチームへ展開している。その際の運営での工夫や課題などをLookerのdeveloper観点で共有**

<img width="600" border="3" alt="ZOZOデータ処理基盤(After)" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242038/5d70c984-b83e-8c69-4c0e-811fa8dc4aad.png">

**で、Lookerどうですか？**
・魔法の杖のようだ（きちんと運用されれば）

**Looker運用工夫ポイント**
1.集計ガイドラインの決定
2.接続DBパフォーマンスの考慮
3.ブラックボックス化防止
4.dimension量産・高頻度更新に耐えうるview管理


**1.集計ガイドラインの決定**
<img width="600" border="3" alt="設計が9割.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242038/38b3ae0a-58ca-764f-7917-87303affb2d7.jpeg">
**→ものすごく大事！！！**

<img width="600" border="3" alt="1.集計ガイドラインの決定.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242038/7a67111a-80e1-a045-e4c3-4e0c075f7d1b.jpeg">


**2.接続DBパフォーマンスの考慮**
・不必要なデータスキャン・JOINに注意（**大規模な派生ViewからのView作成は避ける**）
・パラメータで集計データを限定させる（集計期間をUser Attributesでパラメータ化）

**3.ブラックボックス化防止**
・LookML内SQL完成形の記述原則禁止
　→LookMLの利点であるSQLのフレームワーク化を生かす
　→UNION ALLを含んだクエリは例外として使用可能
.dimensionをいきなり定義しない
　→複雑なSQL処理を伴う場合は複数のdimensionで段階的に定義

**これらの対応をしておかないとブラックボックス化してしまう。**

**4.dimension量産・高頻度更新に耐えうるview管理**
<img width="600" border="3" alt="view管理.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242038/bd17cfd9-6a51-db9c-0b72-db471827130e.jpeg">

・同じ意味のdimensionは１つにまとめる
　→各システムの会員ID　一括管理できるようにする。(**"parameter","extends"を積極的に利用**)

**まとめ**
<img width="600" border="3" alt="まとめ1.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242038/1b2f4cc1-b2ac-dba6-f0d3-e1f80ed4933e.jpeg">

<img width="600" border="3" alt="まとめ2.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242038/7b2ee229-4ed9-3aba-fea3-6fc582776bba.jpeg">

**その他メモ**
・ZOZOではデータガバナンス（SQL生成管理）にLookerを活用しているが、事業KPIなどのBIは既存ツールを使っている。理由は既存BIからの移行コストが大きい為。


## LookerのDashboardをより柔軟に作る

**Lookerの特定機能について掘り下げた内容の紹介(Filter, Override Parameter)をすることで、Dashboardがより柔軟に使えるようになる。Dashboard作成者向けノウハウ**

**Lookerに対する所感**
・便利だが慣れが必要なツール
・イニシャルの学習コストがちょっと高い


**Filterとは？**
・SQLの"WHERE句"に相当する絞込みをUI(Dashboard上）で指定可能な機能

**Filter機能で困ること**
・毎回Filterを指定するのが面倒
・リンクとして共有できない

**Override Look Filters**
・Filterの設定値をURLで指定する機能

<img width="600" border="3" alt="override.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242038/ff295bde-e690-b1e7-f12b-5ad347896bac.jpeg">

**Overrideの何が嬉しいのか？**
・リンク集を用意するだけで、複数のDashboardがあるかのように使える

**Filter+ Overrideで出来ること**
・"WHERE"相当の条件をUI/URLで指定できる為、毎回Filterを指定しなくも、リンクなどから参照するようにすればOK
・リンクとして共有可能。

**Filterの限界**
・普通のFilterは"WHERE"に相当する部分しか制御できない

**Parameterでできること**
・"WHERE"以外の部分を動的に変更
<img width="600" border="3" alt="Parameterで出来ること.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242038/5b3af5fc-f1f2-2ac8-d656-9fdcf6800073.png">

**Filter + Parameter + Overrideで出来ること**
・"WHERE"やそのほかの部分を動的に指定できる。それをURLで指定できる

**LookerでDashboardを作るときのコツ**
・発行したい**SQL Queryをイメージ**して作る

<img width="600" border="3" alt="filte_override_parameterの場合.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242038/466fa0a4-9b0d-6dac-8422-e9acf9ad6e74.jpeg">

**まとめ**
Lookerの特定機能の実例を紹介
・３つの機能を掘り下げ
　→　Filter　→　WHEREの指定
　→　Parameter　→　Queryで使える定数の指定
　→　Override　→　その２つをURLで指定できるようにする
　→　これらの機能活用によりDashboardがより柔軟に利用可能

・Lookerを学習するコツ
　→　どんなQueryを発行できる？どんな変更が可能になる？を意識して学習


## 全体を通しての所感
今回のユーザー会の内容は、**Looker導入後に出てくる課題、その対処法などが発表各社のフェーズごとにノウハウとして共有いただけた会**と思われます。特にZOZOでのデータガバナンスの活用事例はかなり参考になりました。設計が９割というのはかなり真をついた話だなと。この辺りは仕事をする上ではデータ分析のみならず、企画、開発、運用など含めた万物に通じるところがあると感じました。初期設計大切！！