Tableau 2021.1リリースされましたね。新しいTableauの新機能での目玉は何といっても「Einstein Discovery」
でも正直どんなことができるのかよくわかりません。公式サイトの説明だと以下の通り
Tableau の Einstein Discoveryは、組織内の Tableau ユーザーすべてに Einstein Discovery の信頼できる直感的な予測と推奨の機能を利用することを可能にします。迅速に繰り返し作業を行えるノーコード環境で、最先端の拡張分析機能を使って、誰もがよりスマートな誘導形式の意思決定を行えます
なんのこっちゃよくわかりません。。。Tableauの既存の予測機能が強化されたってこと???
わからないので(調べながら) 試してみました。
Einstein Discoveryってなに?
そもそも Einstein Discoveryとはなんぞやというところからですが、これはTableau自身の機能ではなくsalesforceのサービスでした。TableauがSalesforceグループに入ったことでSalesforceとの連携が強化され、その一つが今回のEinstein Discoveryです。機械学習(ML)を使ってデータの予測や分析をしてくれ、ノーコードで予測モデルなども作れるサービスと思ってよいようです。
さらにEinstein Discoveryは「Einstein Analytics」というsalesforceの分析プラットフォームの一部で、このEinstein Analyticsは中身はそのままに最近「Tableau CRM」という名前がかわったとのこと(Einstein Discoveryもわからないのにもう次の言葉がでてきたよ。もうなんなの、、、)
salesforce > Einstein Analytics (Tableau CRM) > Einstein Discoveryという関係性ですね。
Einstein Discoveryはsalesforceの既存のサービスでそれがTableauに組み込めるようになったよ。ノーコードで手軽に予測モデルが作れて、それがTableauで使えるってことね!なるほど!便利そう!!!・・・でTableauでどうやって使うの?
Tableau CRM (旧 Einstein Analytics)ってなに?
まず、今回はTableau Desktopでどうやって使うのかを主眼にしているので細かいモデルの精度は求めません。なるべく細かい設定は無視してTableau DesktopとEinstein Discoveryをつなげることを優先します。とりあえずつなげることから始めて使えるようにして他のところは後から高めていけばいいや!という考えです
Einstein DiscoveryはTableau CRM(旧 Einstein Analytics)の機能なのでそもそもsalesforceのアカウントが必要です。以下はヘルプページからの抜粋ですが特定のライセンスとsalesforce内でEinstein Discoveryを有効設定にする必要があるようです。弊社truestarではsalesforceのライセンスと設定済みのアカウントがあり、そちらを使えたのでsalesforce内のアカウント関連の細かな設定は割愛します。(すみません)
Einstein Discovery を使用するには、組織に Einstein Analytics Plus または Einstein Predictions ライセンスが必要であり、Einstein Discovery を有効にする必要があります。また、ユーザアカウントに適切な権限が割り当てられている必要もあります。手順については、「Einstein Discovery の設定」を参照してください。
Tableau CRMを使う
まずは分析に使うデータをアップロードするところから始めます。Tableauではおなじみのサンプルデータである「スーパストア」の注文データをTableau DesktopからCSVエクスポートしたものを使いました。
Tableau CRMにデータをアップロードするにはメニューから「データマネージャ」を起動します
そしてデータマネージャの「データ」メニューから「データセットを作成」を選ぶとCSVをアップロードすることができます
データの中身から自動ある程度の判断してくれるようです
データセットが作成されました
データのアップロードトラブルシューティング
上図のように特に何も調整しなくてもデータはそのまま読み込めましたが、読み込んだデータをよく見てみると問題があることがわかりました
1、日付が日付型で読み込まれていない
2、売り上げデータがディメンション(文字列)として読み込まれている
3、割引率がディメンション(文字列)として読み込まれている
このような問題があると分析時に適切に処理できないと困るのでそれぞれ読み込む元データに修正をかけて再取り込み
1、yyyy/mm/ddで定義されていたデータをyyyy-mm-ddに置換
2、スーパストアの注文データの”売上”は「¥78,211」のように¥マーク入りだったので純粋な数字データに置換
3、割引率が「40%」のように%を含むデータだったので%を削除して数字データに置換
これでキレイに取り込まれました。
Einstein Discoveryを使って分析モデルを作成する
ここからようやく本題のEinstein Discoveryで分析モデルの作成していきます。「ストーリー」をクリックし表示されるダイアログに従って進めていきます
今回は扱う変数を少なくしたいので「手動」を選択します
手動にすると事前に利用する項目やアルゴリズムなどを自分で選択することができます
これだけの操作で売り上げを最大化するためのモデルが完成してしまいました。変数が売り上げにどの程度相関関係があるかや、図では売上に良い影響を与えているもの悪い影響を与えているものがグラフ化されています
実際にはここからモデルの精度を高めていくための精査をしていくことになりますが。Einsteinはこの点についてもオススメを表示してくれます
今回はこれでモデルが完成したとして次に進みます
Einstein DiscoveryをTableauで利用する
作成したモデルをTableau Desktopで使うために、モデルメニューから「モデルをリリース」して表示されるダイアログに従って進めていきます
ここでは目的達成のためにユーザがアクション出来る変数を選びます。例えば製品のカテゴリを変えるというのは製品そのものが変わってしまうので難しいと思いますが割引率であれば変えることができます。今回は割引率を選びました
ほぼダイアログ通りに進める形にしましたがこれでモデルがリリースされました。
リリースされたモデルはメニューの「モデルマネージャ」から確認することができます
作成したモデルをTableau Desktopで「拡張機能」として利用する
Einstein Discoveryで作成したモデルをTableau Desktopで利用する方法は大きく分けて2つあります。1つはダッシュボードに”拡張機能”として呼び出す事、もう1つは”計算フィールド”を作成してモデルを利用することです。まずは拡張機能のほうを試してみます
Tableau Desktopの拡張機能を使ってEinstein Discoveryを利用する
拡張機能として追加するには、まずはTableau CRMにアップロードしたデータとモデルに利用した変数を使って事前にTableau Desktopで適当にワークシートを作っておきます。Tableau Desktopのダッシュボードの画面で「拡張」をダッシュボードにドラッグアンドドロップするとEinstein Discoveryとの認証画面がブラウザで自動的に開くので認証をかけていきます
ブラウザが立ち上がってsalesforceのログイン画面にリダイレクトされるのでsalesforceのアカウントで認証します
認可を通して
これで完了。Tableau Desktopに戻ります
作成したモデルが「Prediction Definition」に出てきますのでモデルを選び、どこにあるデータを使うのかを選びます(ここでは”売上”ワークシート”を選択してます)
利用している変数とのマッピングの設定(モデルで利用している変数がワークシートでも使用されていれば基本的にデフォルトで値が入っているはずです)
これでダッシュボードにEinstein Discoveryのモデルを利用して表示されているデータに対してポジティブな要因、ネガティブな要因、改善方法が拡張機能として表示される状態になります。これは拡張機能という形での追加なので見た目も含めこの拡張機能の設定で変更できる以上のことはできません。フィルタを変えて表示されるレコードが変わればEinstein Discoveryのほうも動的に変わります。
作成したモデルをTableau Desktopで計算フィールドとして利用する
2つ目は計算フィールドとしてモデルを利用することができます。
モデルマネージャから当該のモデルを選び「設定」から「Tableauテーブルの計算を作成」をクリックすることで計算フィールドに利用する式をコピーすることができます(ここまでの導線がわかりづらい!)
あとはコピーした式をTableauで計算フィールドとしてコピペします
この時”[Column~]”というようになっている部分はTableauCRMのAPI参照名で定義されているので。Tableau上で実際のカラムに置き換えてあげる必要がありますが、例えばTableau CRMでいう"Column4"がどのカラム名に対応しているかぱっと見だとわかりません。これはTableau CRMのデータマネージャから「調査」で新規レンズ画面を開き「項目パネルを表示」「項目のAPI参照名を表示」で見ることができます(これもすごいわかりにくいですね。。。すっごい探しました)
対応関係がわかったら実際のカラム名に置き換えるだけです。
あとは普通にTableauの計算フィールドとして使うことができます。薄い青がEinstein Discoveryのモデルを通して出した予測値(精度はいったん置いておく)です。この数値はTableauCRM上のモデルと通信をした結果の数字なので、ディメンションが細かすぎると表示されるまで結構時間がかかる点は要注意です。
最後に
こんなところがいいところ
今回は新機能のEinstein DiscoveryをTableau Desktopで使えるようにすることを主眼としたのでモデル事態の作りはかなり適当にやってしまいましたが、ノーコードでモデルのアルゴリズムを変えたり、利用する変数を変えたりと手軽にTry&Errorしながら機械学習モデルを作成利用できるところは敷居がかなり下がっているなと感じました。
実際に変数を精査していったり、条件を付けたりとしていけば予測モデルをだれでも手軽にTableauに組み込めるし、これを起点にして機械学習のイメージをつかんだり知識を増やしていくための入り口としてもすぐれているのではないかと思いました。
ただUX的にまだまだ分かりづらい点はあるのでそこは今後のアップデートに期待です!
【メンバー募集中】
株式会社truestar採用サイト https://en-gage.net/truestar/