Tableau Prepを利用したデータ前処理の有用性

2019/02/12 16:59 Takahiro 0 Comments

皆さまこんにちは。Tableau Prepがリリースされてもう少しで一年が経ちます。
そこでTableau Prepについてもテクニカルな情報を配信していこうと思います。

今回の記事では、Tableau Prepによるデータ前処理の有効性についてお話いたします。

Harvard Business Review 誌が行った調査によると、調査対象者はデータ前処理であるクリーニングとデータ形式の変換に作業時間の 80% を費やしており、分析に費やす時間は 20% に留まるとのことです。

ビジネスの目標を管理するには、データ品質が重要です。業務で直面するデータはクレンジングが必要であり、これに加えて実際に分析画面として利用され、メンテナンスされ続ける業務サイクルが必要となります。
この現実は必然的で避けられるものではありません。

データの大半がすぐに分析に利用できないのは、データが分析に適した形式になっていない為、あるいは多種多様なデータソースに分散しているためです。
そこで データ準備ツール Tableau Prep では、データ準備に特化したビジュアルインターフェイスにより、結合やユニオン、ピボット、集計などの、一般的でありながら複雑な作業をシンプルに行えるようにしました。
Tableau Prep を使えば、データ定義や表記ゆれの確認が視覚的に確認でき、直感的な操作でデータ前処理を行うことができます。

例えば、以下のように分析画面側で実装されがちなピボットも、列から行、行から列といったようにデータ前処理でシンプルに変換する事ができます。



また、データ前処理において重要な事はクリーニングとデータ形式の変換にだけではありません。

分析画面をとして利用する為のデータビジュアライゼーションの過程では集計処理は必ず発生します。加えて計算処理も発生します。
こうした処理がデータをビジュアライゼーションとしてユーザーに提供されるまでに数十秒と係るケースもあります。
優れたビジュアライゼーションであってもユーザーへ提供時間を要する事でフラストレーションが溜まり「使いに行くツール」と評価されてしまっては非常に残念です。

そこで、レスポンス改善の為のデータ前処理についてお話します。
Tableau Desktopでは強力なLODという考え方が搭載されています。しかし場合によっては、このデータ生成を前処理で実装する事でビジュアライゼーションのパフォーマンスを各段に改善する事が可能です。

Point 1:  DesktopでのLODを利用したサンプル

ユーザーをグループごとに分類し、その行動や定着率を分析する手段として「コホート分析」があります。この分析手法を利用した例として、長く取引のある顧客は、売上への貢献度も高いか?を判定してみます。次のVizでは、年毎の売上を比較しています。ここで初回購入の年で顧客をグループ化し「コホート分析」を行おうとした場合、このVizでは顧客ごとにデータが表示されていないので、顧客の最小オーダー日付が、最初の購入日として表現する事ができません。そこでLOD 表現を使って顧客ごとの最小オーダー日付を固定する必要があります。

Tableau Desktopでは、まず計算フィールドを追加しLOD表現を行い「初回購入年」を表現します。
集計とオーダー日と売上で表現されていますが、顧客を切り口としたLOD表現を色に設定する事で初回購入年毎の集計を表現できます。



しかし、Desktop上で指定された行列での集計以外に、LOD表現として計算式を実行する必要があり別の切り口での集計が発生する為にレスポンスに影響がないとは言い切れません。

そこで、計算式を用いた集計自体をデータ前処理として生成する方法を検討します。

Point 2:  LODPrepで作成したサンプル



LODの計算式では「顧客」毎の「初回購入年」を算出しているので、Prepのフローでは「顧客」毎の「最も小さい購入年」のデータを集計します。



これにより集計された「顧客ごとの初回購入年」データを元のRawデータに対して付加する必要があります。 JOINを用いて結合します。




こうして生成したデータをTableau Desktopが高速に読み取る事ができるHyper形式のファイルとして出力し、Tableau Desktopで読み込み、購入年毎の売上を集計しVizを生成します。新しく「顧客ごとの初回購入年」として生成した列を色に設定する事により、Viz上では色情報を計算する事なく表現でき、Vizは高速に表示できます。



Point 3: レスポンス改善効果

今回はLOD表現を前処理で生成しましたが、他にもデータの集約と結合などが前処理で利用されるケースがあるかと思います。特に予算と実績など粒度の異なるデータは、Tableau Desktopではブレンディングを用いる事でデータソースを実装できますが、前処理で実装する手段も考えられます。

実際にデータブレンディングを用いた際にVizを表示する為に数分かかっていたが、Prepでデータ前処理を行う事でViz表示が数秒に改善されユーザーへの負担を軽減したというケースもあります。
また、各Desktop側で同じようなデータソースに対する処理が分散している場合、前処理として1つに統合する事で相乗的にパフォーマンス向上を発揮する事ができます。

分析は、データの発生元から業務で実際に活用する場まで繋がることにより効果的に活かされるものです。発生するデータの前処理としてのTableau Prep利用をご検討いただく事により、Vizを通して最適な分析への一助になり得るかもしれません。

以上、データ前処理の有用性についてご紹介しました。

0 コメント: