Shopifyとは
Shopifyは、2004年にカナダで創業された世界No.1のシェアを誇るECプラットフォームです。2017年には日本法人を設立し、国内向けにローカライズされたことを背景に多数の企業から導入実績を獲得しています。
また、Shopifyは「ECサイトの構築が簡単」「初期費用がかからない」「世界各国に向けたEC構築が可能」という特性をもつため、スタートアップ企業から大企業まで幅広く使われています。
概要
Shopifyにはトラフィックや販売、注文、お客様などの情報をリアルタイムで追跡し、分析する機能が備わっています。しかし、 何千、何万という単位のデータをリアルタイムで分析したい場合や、Shopify以外のサービスで集積しているデータと絡めた高度な分析を行いたい場合は、別途DWH(データウェアハウス)へデータを統合し、Looker・TableauといったBIツールでデータの可視化・分析を行うのが有効ではないでしょうか。
今回は分析基盤の総合支援ツールtrocco®(トロッコ)を使い、ShopifyのデータをDWHに統合し、BIツールを用いてデータの可視化を行います。今回は、DWHはSnowflakeを、BIツールはTableauを利用します。
なお今回データの転送手段として使用するtrocco®は、Shopifyの他にも様々な広告・CRM・DBなどのデータソースに対応しています。
ゴール
今回はShopifyに登録されたサンプルの顧客データ(下写真)をSnowflakeへ転送し、そのデータをTableauを用いてこのようなグラフに可視化することを目標にします。
また今回の分析ではデータベースやデータエンジニアリングに関する専門的な知識がない方でもデータ分析が行えるよう、ほぼコーディング作業をせずに分析基盤を構築します。またデータが自動的に更新される状態を目指します。
こんな人におすすめ
- Shopifyのデータ分析機能に物足りなさを感じている
- Shopifyに登録したデータの件数が多すぎて分析がしづらい
- Shopifyのデータを自動的に可視化する環境を構築したい
1.trocco®でShopify → Snowflakeの転送自動化
1-0.事前準備
データ転送に使用するtrocco®のアカウントが必要になります。
trocco®は現在クレジットカード不要のフリープランを実施しています。事前に申し込みをしてアカウントを作成しておきましょう。
https://trocco.io/lp/index.html
併せて、データ元となるShopifyのアカウントやデータの転送先となるSnowflakeのアカウント、データの可視化を行うためのTableauのアカウントも事前にご準備ください。
1-1. 転送元・転送先の決定
trocco®にアクセスして、ダッシュボードから「転送設定を作成」ボタンを押します。
転送元と転送先となるツールを選択する画面になります。
今回は転送元に「Shopify」、転送先には「Snowflake」をそれぞれ選択し、「この内容で作成」ボタンを押します。
設定画面になるので、必要な情報を入力していきます。
1-2. Shopifyとの連携設定
trocco®には、社内のユーザー間でチームを作成し、チームで転送設定を共有するチーム機能があります。チームの他メンバーにも転送設定の内容が分かるように名前とメモを入力します。
次にShopifyとの連携に関する設定をするために「転送元の設定」内の「接続情報を追加」ボタンを押します。
別のタブで接続情報の新規作成画面が開きます。名前、ドメイン、アプリ種別、アクセストークンなどの必要事項を記入し、保存ボタンを押します。
転送設定画面に戻り接続情報の「再読込」ボタンを押すと、先ほど作成した接続情報が選択できるようになります。
これでShopifyとの連携は完了です。
1-3.Shopifyからのデータ抽出設定
続いて、どのようなデータを取得するかを設定していきます。
ターゲット対象には以下のものが設定できます。
今回はターゲットの対象をorderにしてデータを取得します。
また、作成日、更新日、注文日の設定によりデータを取得したい期間を絞り込むこともできます。必須項目ではないため、より詳細に設定をしたい場合は入力をしましょう。
1-4.Shopifyのその他ステータスの設定
今回は注文ステータス、財務ステータス、フルフィルメントステータスを以下のように設定します。
1-4. 転送先Snowflakeの設定
転送元と同様に設定していきます。
「接続情報を追加」ボタンからSnowflakeの接続設定を行います。認証方式は「ユーザ・パスワード認証」「キーペア認証」のどちらかを選択します。
今回はユーザ・パスワード認証を使用します。
「接続情報を読み込む」ボタンから作成した接続情報を呼び出し、ウェアハウス、データベース、スキーマ、テーブル、転送モードを指定します。
これで入力は完了です。「次のSTEPへ」をクリックして次に進みましょう。
1-5. データのプレビュー
転送設定に従ってShopifyから転送するデータのプレビューが作成されます。
問題が無ければ確認画面に移り、「保存して適用」を押しましょう。
1-6. スケジュール・通知設定
「スケジュール・トリガー設定」タブを開き、スケジュールを追加します。
以下のように実行スケジュールを設定することで、転送を定期的に実行し自動化することができます。
また必須の設定ではないですが、ジョブの実行ステータスに応じてE-mailやSlackに通知を行うことができます。
1-7. データ転送ジョブの実行
設定は以上です。最後に手動で転送ジョブを実行してSnowflakeにデータを転送します。
今回は手動で実行するので、ジョブ詳細画面右上の「実行」ボタンを押します。
これで転送は完了です。
3. Snowflakeの設定
Snowflake側で必要な操作はありません。SQLの記述をしなくともデータのETLを実行することができました。
念のためSnowflakeのデータベースから確認してみると、たしかにデータが転送されていることが確認できます。
3. Tableauでの可視化
最後にTableauでのデータ可視化を行います。まずはトップ画面の「新規」から新しいワークブックを作成しましょう。
自動的にデータの接続先を選ぶ画面になるので、コネクタからSnowflakeを選択します。
その際、先ほどtrocco®とSnowflakeを接続させた際と同様にホスト名やユーザー名、パスワードの入力が求められます。
画面左側でデータを転送したウェアハウス、データセット、スキーマを選び、Tableau側で読み込んだテーブルをドラッグ&ドロップでワークブックに追加します。
新しいシートに移動します。
画面の左側にはSnowflakeから読み込まれたカラム名がフィールドとして表示されています。これらを行と列に配置し、グラフを作成していきます。右上の「表示設定」には主なグラフが用意されており、これらのグラフを選択することで簡単にグラフを作成できます。
同様にいくつかグラフを作成し、それらをダッシュボードに配置して完成です。
まとめ
ほぼ画面上の設定のみでShopifyのデータをSnowflakeへ統合し、Tableauを利用した可視化をしました。trocco®の「スケジュール・トリガー機能」の設定を行ったことで、Shopifyに新しく追加されたデータはそのスケジュール設定に従って自動的にSnowflakeへ転送されます。また、連携するTableauのダッシュボードも自動更新機能によって常に最新の状態が維持されます。
今回は数件のごく簡単なサンプルのデータを用いた転送を行いました。何千、何万件、何億という件数のデータをSnowflakeへ統合したい場合、trocco®を活用することでSnowflakeの強みであるデータの高速処理を活かせます。
データの連携・整備・運用を効率的に進めていきたいとお考えの方や、プロダクトにご興味のある方はぜひ資料をご請求ください。
