DearOneでAmplitudeの導入支援を行なっております、ソリューションコンサルタントの石橋です。
今回の記事ではAmplitudeでイベントプロパティを設定する際に便利な、新機能のCartAnalysis(カートアナリシス)機能の概要をご紹介したいと思います!
また実際の利用方法については以下の実践編の記事も合わせてご確認ください。
CartAnalysis(カートアナリシス)機能は主に複数商品の購入イベントを投入する際に役立つ機能になります。
さっそく詳細を見ていきましょう!
Cart Analysis(カートアナリシス)機能とは?
Cart Analysisは2023年9月にリリースされたAmplitudeの新機能です。Cart Analysis機能を活用することで、次のような分析をしやすくなります。
- 最もパフォーマンスの高い商品やカテゴリーは何か?
- 人気商品と同時に購入されている商品は何か?
- 購入イベントについて決済単位でも商品単位でも分析したい
この機能では、イベントプロパティ(以下EP)を入れ子構造で保持することが可能になります。
通常のAmplitudeのデータ構造は以下のように、イベントにEPとユーザープロパティ(以下UP)が紐付いています。
Cart Analysis(カートアナリシス)機能を使用してイベントを投入すると、EPの中にEPを紐付けることが可能になります。
以下の例では「商品」という親EPに「商品名」「品番」「ジャンル」という子EPが紐付いた構造になっています。
Cart Analysis(カートアナリシス)機能のデータ構造
Cart Analysis(カートアナリシス)機能の最大のメリットはEP情報を入れ子構造でひとまとめに保持することで分析の幅が広がる点です。
メリットを分かりやすくするために通常のデータ構造とCart Analysis(カートアナリシス)機能のデータ構造を比較していきます。
通常のデータ構造
まずは通常のデータ構造から見ていきましょう。
以下は「商品を購入する」というイベントのデータ構造で、ユーザーAは1回の決済で複数商品を購入しており商品の情報を配列で保持した場合としています。
Amplitudeでは商品情報であるEPの値を配列で持つことにより、複数商品の決済を1イベントで扱うことができます。
ただし、Amplitudeは配列の値の順番を認識しない仕様のため、こちらの方法ではEP間の配列の値が1:1で紐付かないというデメリットがあります。
例えば「スウェットパーカーは何色が最も購入されているか」という分析をする際、EP間の配列の値が1:1で紐付かないため、ユーザーAが購入した「スウェットパーカー」のカラーが「イエロー」か「ホワイト」か「ブラック」か分かりません。
このデメリットは上記の決済単位の購入イベントとは別に、商品単位の購入イベントを追加することで回避することが可能です。
先ほどの決済単位の購入イベントでは3つの商品のEPをそれぞれ配列で保持していましたが、今回は3つの商品をそれぞれ別のイベントとして保持しています。
商品ごとに別のイベントとして分けることで各EPが1:1で紐付き、商品単位で分析することが可能になります。
ただし、こちらの回避方法はイベント数がかさんでしまうというデメリットがあります。
上記の例の場合、決済単位のみであれば1イベントで済みますが、商品単位も加えた場合には1決済 + 3商品で合計4イベントが発生します。
Cart Analysis(カートアナリシス)機能のデータ構造
続いてCart Analysis(カートアナリシス)機能を使用した場合を見ていきましょう。
Cart Analysis(カートアナリシス)機能を使用した場合の「商品を購入する」イベントのデータ構造は以下の通りです。
Cart Analysis(カートアナリシス)機能を使用したデータ構造では、親EPの中にオブジェクト単位で子EPを保持します。
この例では「スウェットパーカー」「カラータートルネックセーター」「フレアロングスカート」という3つの商品について、「商品名」「商品ジャンル」「カラー」「サイズ」「合計金額」という5つの子EPをそれぞれ保持しています。
データ構造のイメージを表すと以下の通りです。
親EPの中にオブジェクト単位で子EPを保持することで、通常のデータ構造では紐付かなかったEP間の配列の値を1:1で紐付けることが可能になります。
それぞれのデータ構成の比較
先ほどご紹介した通常のデータ構造を改めて確認してみましょう。
通常のデータ構造ではEP間の配列の値は1:1で紐付かないため、「スウェットパーカー」のカラーが「イエロー」か「ホワイト」か「ブラック」か分かりません。
ここでCart Analysis(カートアナリシス)機能を使用すると、子EPをオブジェクト単位で括ることが可能になります。
以下のように「商品名:スウェットパーカー」 ⇄ 「ジャンル:トップス」 ⇄ 「カラー:イエロー」というEP間の値が商品単位で1:1に紐付きます。
このようにCart Analysis(カートアナリシス)機能を使用することで、正確な商品単位の分析が可能になります。
Amplitude上での表示
Cart Analysis(カートアナリシス)機能を使用した購買データがAmplitude上でどのように表示されるかを見てみましょう。
投入データ
Amplitudeに投入するデータは以下の「商品を購入する」というイベントのJSONファイルになります。
今回は「商品」というEPをCart Analysis(カートアナリシス)機能を使用して投入し、それ以外の決済に関するEPである「合計金額」「合計点数」「購入店舗」は通常のEPとして投入します。
チャート上での表示
それでは上記のデータをAmpltitudeに投入した後のチャート画面を見てみましょう。
Amplitudeのチャート作成画面から投入した「商品を購入する」イベントを選択します。
通常のEPとして投入した「合計金額」「合計点数」「購入店舗」の他に、Cart Analysis(カートアナリシス)機能のマークがついた「商品」というEPが表示されます。
「商品」を選択すると子EPが表示されるので、通常のEPと同様にEP名と値を選択することでチャート上に表示することができます。
チャートの作成例①
以下のチャートでは1つ目の条件として「商品名 = スウェットパーカー」を設定し、2つ目の条件として「カラー」をグループ化で表示しています。
この条件により、通常のデータ構成では難しかった「スウェットパーカーは何色が最も購入されているか」を簡単に可視化することが可能になります。
チャートの作成例②
Cart Analysis(カートアナリシス)機能ではチャートに表示する範囲を「item collection」と「collection match」の2つから選択することが可能です。
「商品名 = スウェットパーカー」の条件を設定した状態で「item collection」と「collection match」の違いを見てみましょう。
- collection match:「商品名 = スウェットパーカー」を含む青枠の商品が表示対象
- item collection:「商品名 = スウェットパーカー」に該当する赤枠の商品のみが表示対象
以下のチャートでは「collection match」を選択した状態で条件を設定しています。
1つ目の条件として「商品名 = スウェットパーカー」を設定し、2つ目の条件として「商品名」をグループ化で表示しています。
この条件では「collection match」を選択したことにより「スウェットパーカーと同時に購入されている商品」を簡単に可視化することが可能になります。
最後に
Cart Analysis(カートアナリシス)機能を活用することで購買データの分析の幅が大きく広がることが分かりました。購買データの深掘り分析でぜひご活用ください。
またDearOneではAmplitudeの導入支援を行なっております。
Amplitudeの導入や分析に関するご相談は以下よりお気軽にお問い合せください。