SSブログ

IBM SPSS ModelerのRFM集計ノード [データサイエンス、統計モデル]

RFMの集計って色々な場面に出てくるのだが、簡単に集計できるノードがあります。
今まで、この手の集計って他のノードやClem式などを組み合わせて自分で作っていました。
RFM集計ノードを使ってみると、意外と便利。

もう少し突っ込んで中身をみてみると、やっているSQLを書くとこんな感じです。

SELECT
"USER_ID",
MAX("DATE") AS "リーセンシ(recency)",
SUM({fn CONVERT("Monetary",SQL_BIGINT)}) AS "マネタリー(monetary)",
COUNT(*) AS "フリクエンシ(frequency)"
FROM ******
GROUP BY "USER_ID"

・IDで集計する

・リーセンシーの計算においては、直近の利用日付しか持ってこない
⇒ 持って来た後で、ノードを通過する際に計算をする
⇒ つまり、ここで必ずSQLプッシュバックが切れる

・マネタリーの値を計算する上で何かしらの値を入力する必要があるが、特にMの値が内容だった、自分で適当に空フィールド作って、"1"でも入力しておく。

・フリクエンシの計算は、ただレコードをカウントしている

ということになっています。

これだけだったら、単なる集計ノード+Clem式で計算再現できますが、RFM集計ノードは、2番目のリーセンシや3番目のリーセンシも保存してくれるみたいで、この辺りを1つのノードで持ってこれるのは良いですね。

nice!(44)  コメント(0)  トラックバック(0) 
共通テーマ:学問