N回目の購買日の列を作成したい

顧客の購買行動を分析する際に、各顧客の1回目、2回目、3回目といった特定の購買回数における購買日を把握したいことがあります。

役立つ人

顧客行動分析を行う方、リピート購買の分析を実施している方、購買履歴から特定の購買タイミングを抽出したい方にお役立ていただける機能です。

問題

注文データから顧客の購買分析を行う際に、各顧客の何回目の購買がいつ発生したのかという購買回数と購買日の情報が必要になります。しかし、通常の注文データには購買回数の情報が含まれておらず、各顧客の特定回数目(例:2回目)の購買日を直接取得することができません。

解決方法

今回は1行が1つの注文を表し、列には顧客ID、注文日、商品情報などが含まれている注文データを利用し、AIを使った計算方法とUIを利用した計算方法を紹介します。

具体的な手順として、初めに各顧客の注文回数を計算し、次に条件付き計算機能を使用して特定回数目の注文日を抽出する列を作成します。

最後にグループ化機能と欠損値処理を組み合わせて、顧客ごとに統一した注文日情報を全行に適用します。

AI プロンプトでデータを加工する

テーブルビューから「AIデータ加工」ボタンをクリックします。

AI プロンプトのダイアログが開いたら、プロンプト入力欄に以下のプロンプトを入力し実行します。

顧客ごとに「2回目の注文日」の列を追加して

プロンプトを実行すると、AIが自動的に以下のような処理を含むRスクリプトを生成します。

生成されたコードでは、まず最初に注文回数の情報を計算し、次に注文回数が2回の顧客ごとに2回目の注文日を特定して列に格納し、最後に顧客ごとにこの2回目の注文の値を全ての行に設定するという処理が実行されます。

「ステップとして実行」ボタンをクリックすることで、処理が実行され、結果が反映されます。

これにより、「2回目の注文」という列が追加され、各顧客の2回目の購入日が全ての行に設定されました。実際に確認すると、同じ顧客IDの行には同じ2回目の購入日が設定されていることが確認できます。

UIでデータを加工する

注文回数を計算する

まず各顧客の注文回数を計算するために、顧客ID列のヘッダーメニューから「表計算を作成」を選択します。

表計算のダイアログが表示されたら、グループ化に「顧客ID」が選択されていることを家訓し、値に「注文日」を選択します。

続いて計算のタイプに「ランク」を選択します。

ランクの種類には「Denseランク」を選択します。

「Minランク」は同じ値があった場合に次の値をスキップしますが、「Denseランク」は連続した順位をつけるため、同じ日付に複数の注文があっても正確な注文回数を計算できます。

新しい列名を「注文回数」に変更し、OKボタンをクリックします。

プレビューボタンをクリックし、内容を確認のうえ実行します。

これで各行に注文回数の情報が追加されました。

特定回数目の注文日列の作成

次に特定回数目(今回は2回目)の注文日を抽出する列を作成します。

注文回数列のヘッダーメニューから「計算を作成」の「条件付き」を選択します。

条件付き計算のダイアログが表示されたら、「条件を追加」ボタンをクリックし、条件設定で「注文回数」が「等しい」「2」という条件を設定します。

これにより注文回数が2の行という条件を作成できます。

新しい値には「注文日」列を選択します。これで注文回数が2の行に対してのみ注文日の値を返すように設定できます。

それ以外の行はデフォルトで欠損値となるため、そのまま設定を保持します。新しい列名を「2回目の注文」に設定し、実行ボタンをクリックします。

これで各顧客の2回目の注文日を表す列が追加されました。ただし、この段階では2回目の注文が発生した行にのみ日付が入力され、その他の行は欠損値となっています。

顧客ごとに欠損値を指定した注文回数における注文日置換する。

最後に、各顧客の全ての行に2回目の注文日を適用するため、まずデータを顧客ごとにグループ化します。

ステップメニューから「グループ化」を選択します。

グループ化の設定で、列に「顧客ID」を選択し、実行ボタンをクリックします。

データが顧客IDでグループ化され、色分けして表示されることが確認できます。

次に欠損値を埋めるため、「2回目の注文」列のヘッダーメニューから「欠損値の加工」を選択し、「欠損値(NA)を…で埋める」のサブメニューから「最頻値」を選択します。

グループ化された状態では、各顧客グループ内で最頻値(この場合は2回目の注文日)が欠損値部分に適用されるため、顧客ごとに全ての行に2回目の注文日が設定されます。

実行ボタンをクリックすると、各顧客の全ての行に2回目の注文日が統一して適用されました。

最後に、グループ化を解除するため、「グループを解除」を選択します。

これで顧客のN回目(今回は2回目)の注文日を取得する処理が完了しました。

Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio