Tableauの運用改善ダッシュボード作成
社内でTableauの利活用を推進していますが、なかなか活用が広まらない、という話はいろんな企業さんでも起きているんじゃないかと思います。
今回、運用改善の一環としてTableauのメタデータを利用したダッシュボードを作成してみました。
なぜこれらの課題に取り組んだのか、実際に作ったダッシュボードの紹介(個人情報が入るので隠しつつになりますが..)をして行ければと思います。
まずは社内でのTableau利用状況の紹介から
- Tableau Online
- Crater + Explorer 数十名ほど
- Viewer 100名以上
- Tableauを利用し始めて2年ほど
導入初期は小さく始めていたので、まずは社内の営業部門にのみ展開。
その後、営業部門でもダッシュボードの作成等ができるようスキルトランスファーを行ってから徐々に全社展開していました。
ですが、なかなかTableauの活用が進まない、というのが現状課題としてあります。
分析前の仮説・ヒアリング
営業側では部門間で多少違いはあるものの、Tableauの活用が進んでいました。
またその際に利用されているなと感じていたのが、業務オペレーションに組み込まれたTableauです。
Tableauの強みはアドホックに数値のドリルダウンができることにあります。
ただ、それは様々なデータが揃った状態が前提であることが多いです。
理想としては、データ活用が進んで売上などの定性的な結果に繋がっていることが望ましいですが、最初の効果として分かりやすいのは業務改善であることが多いと思います。
上記から、組織・部門間で定常的に使われているダッシュボードがある
→ 相対的にユーザーのアクション状況も高いのでは、と考えました。
ダッシュボードを使っていること自体もアクションなので、相関関係が近い値であることは注意が必要です。
Tableauのメタデータに関する前提知識
ある程度可視化・集計するものが決まったので、Tableauのメタデータを調べていきます。
データの中身が分かっていないと、思わぬデータ構造にはまって間違った結果を導いてしまいますので。
Admin Insightsのデータは90日間しか保持されない
Tableauのメタデータは、デフォルトだと直近90日しか保持されません。
一応回避方法はありますが、Tableau Prep Builder を導入してないなら実質APIを叩くしかないのが実情です。
ここら辺は課題感として感じてるので、先人の知恵を借りながら実装したい部分。
kb.tableau.com
メタデータに関する説明が無い
Google検索を掛けた限りだと、これらのメタデータに関する詳細な定義書のようなものは無いように見受けられます。(情報あれば頂けると嬉しいです。)
一応下記の説明はありますが..
TS Events (Tableau Server イベント) — ユーザーのサインイン、ビューへのアクセス、コンテンツのパブリッシュなどのイベントを示すマスター監査データソースです。
TS Users (Tableau Server ユーザー) — ユーザーアクティビティの集計情報。
カラム名やカーソルを合わせて表示される説明を読みながら、使いたいデータであるかを判断していました。
Tableau Onlineの場合、サイトのステータスでもデフォルトで作成済みの数値が確認できます。
ダッシュボード単位の閲覧状況や、ユーザーのアクション等ざっくりしたものは見ることが可能です。
今回、組織や部門単位でのTableauの利活用を確認したいを考えました。
Tableauにもユーザーの情報は含まれていますが、あくまでTableau上で設定したものに限定されます。
権限管理で、グループを組織単位で作成していれば一応やりたいことは可能です。
今回は社内の情シス部門の方と連携して、システムからユーザーの一覧及び部門のデータをスプレットシートでいただきました。
Tablaeuのメタデータをローカルに落とす
仮に部門ごとのTablaeu利用状況を出すには、LOD関数とデータブレンドを使うことが必要です。
TS events:Tablaeuの利用状況
スプレットシート:ユーザーの組織、部門情報
ただ、以下にある通り上記を組み合わせた処理は行うことができないです。
TS event等のデータをダウンロードするとhyper型になってるため、データソース上でのJOINの処理ができません。
よって、メタデータをローカルに落とします。
社内ではBigQueryを主に利用しているため、Tablaeuのメタデータと部門等を紐づけてテーブル化し、それをTableau上で参照することにしました。
部門別のアクセス状況の可視化
社員情報等が含まれているため、Tableau Pabulicには上げずスクショで紹介できればと思います。
・セットの利用
全社に展開済みと最初に記載しましたが、、まだまだ利用人数が少ない部門もあります。そこで、5名以上利用されている部門のセットを作りました。
・LOD関数を利用した平均アクションの集計
AVG({ FIXED [組織_部門_グループ], DATETRUNC('week', [Event_Date__local_]) : COUNTD([Event Id])} )
/ AVG({ FIXED [組織_部門_グループ],DATETRUNC('week', [Event_Date__local_]) : COUNTD([User Email])} )
部門によってTableau利用ユーザー数が違うので、週次のアクション数の合計を人数で割っています。(AVGの部分の集約関数は特段意味がなく、計算用に入れています。)
AVG({ EXCLUDE [組織_部門_グループ] : COUNTD([Event Id])} ) / AVG({ EXCLUDE [組織_部門_グループ] : COUNTD([User Email])} )
次にEXCLUDEを利用して、部門関係ない全体の平均アクション数を集計します。
これが折れ線グラフで出ている部分ですね。
一応、視覚的に分かりやすくするためにそれぞれの数値の大小を比較してます。
青:平均以下
オレンジ:平均以上
欲を言うと営業部門に数値が引きずられているので、部門ごとに平均値を変えられるようにアップデートしたい..
部門別ダッシュボード利用状況
業務オペレーションに組み込まれている、というのがどういう状態か?をまずは考えていました。
理想:平日は毎日利用されている
というのが理想だと思うのですが、毎日使わないオペレーションも多いと思います。
また、実際には部門別に人数も異なります。
そのため、ある日Aさんが使ったけど、Bさんが翌日利用した
→結果的に毎日使ってるように見える、ということもありえます。
そこで、以下の条件で集計を行ってみることにしました。
・週次でN週以上利用されている
・チームの所属人数以上利用されている
部署の情報等を見せることができないですが、以下のようなシートを作ってみました。
所属人数は別軸に出したかったのですが、総計と同時に利用することができませんでした。
そこで、参考地として赤枠部分に所属メンバーの人数を出しています。
部門別・週次アクション回数
{ FIXED [組織_部門_グループ], [Workbook Name]: COUNTD(DATETRUNC('week', [Event_Date__local_]))}
DataSaberを目指すものとしては、もうちょっといい感じにしたかったですが..
上記の集計方法だと、誰が使っているとかの中身等は考慮できていないので
あくまで業務オペレーションに組み込まれている可能性があるものを出すことができたと思うので、アンケート等を取って確認するなどに繋げていければと思ってます。
不要なデータソースの探索
社内ではTableau Onlineを利用しているので、データソースをパブリッシュすることが多いです。
抽出設定をしたデータソースは、100GBまでしかパブリッシュできないという上限があります。
そこで、データソースの容量やアクセス状況が分かるダッシュボードを作ることにしました。
一応デフォルトでも以下のダッシュボードはあるのですが、リンクで飛ぶことができれば良いと思ったのがきっかけです。
Hyper linkというデータに、該当データソースへのリンクが含まれてるのですが、これをアクションに埋め込もうとしたら、無効になってしまいました。
ただ、Item IDを確認したところHyper linkの末尾に埋め込まれているIDと一致していました。
そこで以下を設定することで、問題なくリンクを設定できました。
https://prod-apnortheast-a.online.tableau.com/#/site/会社のサイトID/explore/datasource/<Item ID>
終わりに
メタデータ活用はどんどん進めていきたい領域の一つですし、今回改めて触れることができたのは勉強としても良い機会になりました。
デフォルトで見れるものも良いとは思うのですが、個人的には細かい部分に手が届いてないと感じたところもありました。
会社の個人情報が含まれる都合上、なかなかTableau Publicにあげることが難しいデータになると思います。
(Googleで検索しても、探し方が悪いのかあまり他社事例が出てこなかった..)
他の方が挙げてる記事があれば教えていただけるだけでも助かります。