Redshiftをmixpanelに自動インポートするWarehouse Eventsやってみた!

RedShiftのデータをmixpanelにインポートさせる検証記事だよん。
2023.10.13

ミックスパネラーの國崎です。
今回はRedshiftのデータをmixpanelに自動インポートする「Warehouse Events(Redshift版)」を使ってみたので、そちらの手順をお伝えします。

前提条件

  • Redshiftにmixpanelインポート用のテーブルを作成済み
  • AWS CLIインストール済み

今回AWS CLIを使ってターミナルからポリシーやらロールを作成しました。
そのためAWS CLIを使ってない+ポリシーやらロールを新規で作成する方はAWSコンソールからそれぞれ作成するイメージで見ていただければと思います。

Redshiftに用意したインポート用のテーブル

Redshiftからmixpanelに連携する際は指定のカラムを用意したテーブルを準備する必要があります。
具体的には以下カラムは必須です。

  • Event Name
  • Event Time
  • Distinct ID
  • Insert Time
  • Insert ID

注意点としてはEvent Timeはイベントが発生した時間で、Insert Timeはレコードに追加された時間になります。
同じ時間でも定義が違うことに注意しましょう。

今回テストで使うテーブルで以下を用意しました。

Event_Name Event_Time Distinct_ID Insert_Time Insert_ID
シェアする 2023/10/15 16:00:00 43922a76-8c2f-59fa-9e24-a5662a0b1581 2023/10/15 18:00:00 43922a76-8c2f-59fa-9e24-a5662a0b1581-1680318000007
QRを読み取る 2023/10/15 18:00:00 43922a76-8c2f-59fa-9e24-a5662a0b1581 2023/10/15 20:00:00 count-1680318000009
LINE登録をする 2023/9/1 12:00:00 52336ef6-dd78-582a-8185-a099e0bcf269 2023/9/1 14:00:00 52336ef6-dd78-582a-8185-a099e0bcf269-1680318000002
クーポンを使う 2023/9/1 14:00:00 8daaffc1-e947-53d8-b302-afb02202931d 2023/9/1 16:00:00 8daaffc1-e947-53d8-b302-afb02202931d-1680318000004
QRを読み取る 2023/9/1 15:00:00 863c803d-328d-5de7-97d3-cc20536d7e1a 2023/9/1 17:00:00 863c803d-328d-5de7-97d3-cc20536d7e1a-1680318000005
LINE登録をする 2023/9/1 16:00:00 43922a76-8c2f-59fa-9e24-a5662a0b1581 2023/9/1 18:00:00 43922a76-8c2f-59fa-9e24-a5662a0b1581-1680318000006
クーポンを使う 2023/9/1 17:00:00 testid123 2023/9/1 19:00:00 testid123-1680318000007
QRを読み取る 2023/9/1 18:00:00 testid999 2023/9/1 20:00:00 count-1680318000008

早速検証をしてみます。

mixpanelでの操作

mixpanelでは「Warehouse Sources」で連携するデータウェアハウスの設定を行い、「Warehouse Data」で連携するデータの設定を行います。

Warehouse Sourcesでデータウェアハウスを設定

Project Settings > Warehouse Data でAdd Warehouse > Redshiftをクリック。
redshift20231012_1

AWS Account IDとCluster IDを入力。
これらはAWSコンソールで確認できますね。
redshift20231012_2

次のページは色々入力項目があるので分けて紹介します。
まずAWSで使っているRegionと今回の連携で使うS3バケットを入力します。
redshift20231012_3

データベースを指定し、ポリシーは任意になりますが入力します。
redshift20231012_4

ROLEは必須項目なので、入力します。
redshift20231012_5

ちなみにS3バケット作成、ポリシー作成、ロール作成、それらの割り当てはAWS CLIのコードが自動で書き出されるので、AWS CLIをインストールしているのであればそのコードをターミナルに貼り付けるだけでサクサクできます。

全て問題なければRedshiftの連携設定が完了します。
redshift20231012_6

Redshiftのスキーマにロールを割り当てる記述も自動生成されるので、インポートするテーブルに権限を割り当てていない方はこちらの記述で割り当てておきます。

grant USAGE on schema <your schema name> to "IAMR:";
grant SELECT on all tables in schema <your schema name> to "IAMR:";

Warehouse Dataで連携するデータの設定

Project Settings > Warehouse Data でCreateをクリック。
redshift20231012_7

表示された画面左側で読み込むRedshiftのCluster ID・スキーマ・テーブルを選択し、必須カラムのEvent Name・Event Time・Distinct ID・Insert Time・Insert IDがそれぞれどのカラムにあたるかを指定します。
redshift20231012_8

各項目が問題なく連携されると右側に連携されるデータの項目が表示されます。
ちなみに連携の頻度は1時間に1回か1日に1回のどちらかが選択できます。
redshift20231012_9

連携が問題なく行われるとご覧の画面が表示されます。
redshift20231012_10

連携確認のためにmixpanelのレポートを開くとRedshiftにあったイベントが追加されているのが確認できました。
redshift20231012_11

グラフでも反映がされてます。
redshift20231012_12

以上、Redshiftのデータをmixpanelにインポートさせる検証記事でした。

mixpanelの公式ドキュメントでは今回のRedshiftからmixpanelにインポートさせる手順を動画でも公開しております。
気になる方はこちらもぜひご覧ください。

mixpanel公式のRedShift連携デモ動画

クラスメソッドが行っているmixpanelの支援

クラスメソッドではmixpanelをすでにお使いのお客様にも以下の支援サービスを提供しております。

  • PoC…検証環境提供
  • プランニング支援…KPI設計の支援/QA対応
  • 実装支援…開発の支援/SaaS連携支援
  • 伴走支援…定例など

mixpanelのKPI設計は以下記事でも紹介している専用の測定フレームワークを用いたプランニング支援をさせていただきます。

mixpanelの測定フレームワーク作り方のコツ!サンプルを例に解説!

また実装いただいた後の伴走支援では実際にお使いになられているお客様の課題感などをヒアリングさせていただき、ご要望に沿った内容での定例を設けさせていただき、成果につなげるための分析手法のご提案などをさせていただきます。

今回の記事を見てmixpanelについて詳細の話を聞きたい、興味を持ったという方はぜひぜひクラスメソッドまでお問い合わせください!!

クラスメソッドへのmixpanelお問い合わせ