SPSS Modeler ヒモトク

Modelerデータ加工Tips#12-顧客毎の累積購入金額と特定額到達までの日数を算出

記事をシェアする:

 

みなさん、こんにちは。浜銀総合研究所の中村です。

弊社は横浜銀行グループのシンクタンクとして、調査・研究、経営課題の解決に役立つコンサルティングサービス、ソリューション提供を行っています。

その中でも、私の所属する情報戦略コンサルティング部では、データサイエンスの領域に特化して、主にリスク管理やマーケティングの戦略・施策立案などの支援をさせていただいています。ここ数年はお客様のデジタルトランスフォーメーションの影響でマーケティングや統計の講義、分析ツールの使用方法・数理モデル構築の研修など、データサイエンティストの育成支援も実施する機会が増えています。

データ分析でよく使用される分析ツールのひとつがIBM SPSS Modelerです。弊社では、リスク管理の面ではローンの貸倒予測モデル・回収効率化モデルの構築に古くから利用しています。特にマーケティング用途では購入見込みの高い顧客の予測や顧客のセグメンテーションにModelerを活用しています。

今回は、マーケティングにおける重要な指標の一つである顧客生涯価値(Lifetime Value:以下「LTV」)の向上を検討するシーンを想定したデータ加工Tipsをご紹介します。

 

LTVを最大化する

 

LTVとは、顧客から生涯に渡ってもたらされる利益のことを指し、マーケティングで重要視されています。次々と顧客が押し寄せる成長市場を除けば、ほとんどのビジネスはライバルと顧客を奪いあうことになるはずです。販促コストをかけて獲得した顧客は大事に育て、なるべく長く関係を維持したいですよね。

顧客基盤を持つ組織の多くは、下の図の青い面積を広げる施策にトライするかと思います。顧客マーケティングの世界では、これをLTV(顧客生涯価値)の最大化と呼んでいます。

 

 

ある小売業では、ポイントプログラムに入会して顧客が最初に5000円を使うまでに要した日数がランクアップと休眠に影響していると結論を得ました。その特徴量を予測モデルの説明変数に取り込んだ結果、施策の精度を向上させたそうです。今回の例題は、その知見を参考にさせていただきました。

 

例題1:「顧客毎の累積購入金額を算出する」

 

取引データから顧客ID毎に累積金額を作ります。

 

例題データ

利用するデータはこちらです。

https://raw.githubusercontent.com/yoichiro0903n/blue/main/DataTips12.csv

(リンクを右クリックして「リンク先を保存」またはブラウザで開いてからページを保存します)

 

出来上がったストリームは次の通りです。フィールド作成ノードを2つ利用します。

フィールド作成はお馴染みですね。三菱自動車工業の伴さんが推しノード#️07で詳しく説明されているので詳細は割愛します。

 

 

まず最初にID毎に累積を求めるため、前もって購入回数①を作成する必要があります。

フィールド名を「購入回数」として、派生フィールドをカウント型にします。次にTips#06でファミマデジタルワンの橋本さんが解説されたように@OFFSET関数を以下の様に設定します。

IDがひとつ上のIDと同じなら、カウントが1から1つずつ増えていきます。リセット条件はIDがひとつ上のIDと異なるものになると、初期値1にリセットされます。カウント型は誰が考えたのか感心するほど便利です。

 

きちんとできたか確認します。IDが変わるとカウントがリセットされていますね。

 

続いて②で関数@SUMを使います。

@SUMは@SUM(フィールド名)で最初から最後のレコードまでフィールドを累積する関数です。これに引数を追加し@SUM(フィールド名, N)とするとNレコード前までの累積を求めます。先ほどの①の「購入回数」をNとして用います。

 

ID毎、該当購入日時点での累積購入金額が算出されます。2手詰めで完了です。

 

 

@SUMと同様の動きをする関数に、@MIN、@MAX、@MEANなどがあります。これらも、Nレコード前までの最小値・最大値・平均値を参照してくれます。

オーソドックスなやり方は上記ですが、@OFFSETを駆使すると、1手詰めも可能です。Nをマイナスにすることで、Nレコード後の値を参照することができるようになります。次の設定で、同じIDが続く間、購入金額を足し合わせ、IDが変わった際には初期値0になります。

 

出題時にも触れた通り、今回は後続の例題を考慮し、購入回数を作る2手詰めを模範解答としました。

 

例題2:「累積2000円までの日数を算出する」

 

累積金額が最初に2000円に到達した日数を顧客ID毎に求めます。

 

例題データ

例題1の完成データをそのまま使うか以下を利用ください。

https://raw.githubusercontent.com/yoichiro0903n/blue/main/DataTips12_2.csv

(リンクを右クリックして「リンク先を保存」またはブラウザで開いてからページを保存します)

完成したストリームは次の通りです。

 

まず③で初めて購入した日から各購入日までの日数を算出します。

先ほどは@SUMでしたが今度は@MIN関数を使います。顧客毎の初回購入日を求め、date_days_difference関数を用いると、初回購入日からの経過期間が算出できます。

 

ちなみに@MIN関数ではなく、@OFFSET関数でもNを“購入回数−1 ”とすることで、初回購入日を特定し、同じ結果を得られます。

ここまで来たらもう簡単です。条件抽出ノード④で累積購入金額が2000円以上のレコードを抽出します。

 

レコード集計ノード⑤でIDをキーにして継続購入期間の最小値を算出すると、各IDの2000円に到達するまでの日数が分かります。

 

結果は以下の通りです。Aさんが一番速く2000円に到達しています。例題1の続きから、3手詰めで完了となります。

 

せっかくなので、少しおまけを。散布図ノード⑥を使用し、Xフィールドに継続購入期間、Yフィールドに累積購入金額を指定し、オーバーレイの色にIDを指定すれば、ID毎に色違いで折れ線グラフができます。

 

結果を見ると、Aさん(青)は、購入金額がある時から大きく上昇し、現在までの累積購入金額が高く、LTVが上昇することが予想されます。一方で、Bさん(緑色)は、累積購入金額が低く、LTVもあまり期待できません。取引の浅いCさん(黄土色)は、現状Bさんと似たような形状になっており、この辺りで何か施策を打つ必要があると思われます。

よく刑事ドラマで「捜査は初動が重要」というセリフを耳にしますが、LTVでも初動は重要です。初回購入で何に幾ら使い、リピートまで何日要し、どのように軌道に乗るかの特徴を把握できれば、その後、顧客と良い関係を築く一助になるはずです。

また今回は、マーケティングでの活用例としましたが、ID毎の累積計算は多くの領域で応用可能ですので、みなさんの日々のお取り組みに、少しでも役に立てれば幸いです。

 

Modeler詰将棋!次回のTipsから出題

 

次の例題にチャレンジしてみてください。Modeler TipsのIBM運営者によれば賞品は一切ないものの、正解すると名誉と自信がもれなくついてくるそうです。

 

例題:「前日までの7日間移動平均を求める」

日毎の気温データから前日までの7日間移動平均を求めてください(1手詰め)。当日を含まないで計算する工夫が必要です。後続の処理を考えると、2手詰めが望ましい場合もあるため、手数にこだわらず、方法を検討してみてください。まだ「推しノード」でも、この「データ加工Tips」でも使われていない「あの駒(ノード)」も役に立ちます。

例題データ

利用するデータはこちらです。

https://raw.githubusercontent.com/yoichiro0903n/blue/main/tokyo_daily_weather.csv

(リンクを右クリックして「リンク先を保存」またはブラウザで開いてからページを保存します)

 

いかがでしょうか。IBM所属のSPSS Modeler 名人は例題に3分要したとのこと。

さて次回のTips# 13は産総研の本田先生に例題の解説をいただきます。例題の気象データと移動平均で何を教えていただけるのか楽しみです!

 

SPSS Modelerの詳細についてはこちら

→Modelerデータ加工Tips バックナンバーはこちら

 

 

中村 友紀

株式会社 浜銀総合研究所

情報戦略コンサルティング部

副主任研究員

 

More SPSS Modeler ヒモトク stories

ブログで学ぶSPSS_Modeler #01- 予測モデル安定化のためのN分割交差検証をPythonスクリプトでチャレンジ

Data Science and AI, SPSS Modeler ヒモトク, アナリティクス...

  皆様こんにちはIBMの坂本です。SPSS はじめデータサイエンス系のソリューションを担当しています。   いよいよ2022年の新シリーズ「ブログで学ぶSPSS Modeler」が始まりました!僭越 ...続きを読む


Modelerデータ加工Tips#23-GUIループとPython書き出しでデータを分割保存する

Data Science and AI, SPSS Modeler ヒモトク, アナリティクス...

  皆さん、はじめまして本田技研工業株式会社の小川 努です。 この連載もいよいよ最終回。映えあるアンカーを指名いただきました。 私がSPSS Modelerと出会ったのは、約10年前。世の中で「BigData」 ...続きを読む


【開催レポート】SPSS Modeler秋のオンラインユーザー会2021〜データ活用のための組織と成果について考える〜

Data Science and AI, SPSS Modeler ヒモトク, アナリティクス...

    みなさまはじめまして。スマート・アナリティクス株式会社の武田です。 オンラインになってから3回目のSPSS Modeler ユーザー会が、2021年11月5日に開催されました。今回は1048名 ...続きを読む