mcpField
E
ecom-rfm-analysis

ecom-rfm-analysis

github.com/asgard-ai-platformマーケティング・グロース24341 回インストール21 週間前に更新
リポジトリ

ecom-rfm-analysis について

購買時期、購入頻度、支出額で取引データを採点する顧客セグメント分析スキルです。マーケティング担当者が行動別に顧客を分類し、施策を立てるための手順と手法の限界を示します。

主な機能

  1. 01R・F・M の五分位スコア
  2. 02名称付き顧客セグメント
  3. 03セグメント別マーケティング施策
  4. 04Python スコアリングスクリプトと検証テスト
  5. 05RFM の限界に関する説明

活用シーン

  1. 01高価値・優良・離反リスク顧客の特定
  2. 02新規顧客の導入と二回目購入の促進
  3. 03休眠顧客の再獲得施策の設計
  4. 04セグメント分析前の取引データ確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/asgard-ai-platform/skills --skill ecom-rfm-analysis

インストール後、Claude Code で/ecom-rfm-analysisを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

examples/
sample_input.json
references/
clv-prediction.md
rfm-implementation.md
scripts/
rfm_score.py

詳細

RFM分析

概要

RFMは、顧客を3つの行動指標で分類します。Recency(最後に購入した時期)、Frequency(購入頻度)、Monetary(購入金額)です。生の取引データを、ターゲットを絞ったマーケティングに活用できる顧客セグメントに変換します。

フレームワーク

IRON LAW: RFM Uses ACTUAL Behavior, Not Demographics

RFM is behavioral segmentation — it classifies by what customers DO,
not who they ARE. A 25-year-old and a 65-year-old in the same RFM segment
should receive the same treatment. Never mix RFM with demographic
assumptions.
3つの指標
指標測定内容計算方法
Recency(R)最終購入からの日数今日 - 最終購入日
Frequency(F)期間内の購入回数個別の取引数をカウント
Monetary(M)期間内の合計購入金額取引金額の合計
スコアリング方法(五分位ベース)
  1. 各指標について、すべての顧客を順位付けし、5つの同じ規模のグループ(五分位)に分けます
  2. 5(最良)から1(最悪)までのスコアを付けます。R=5は最も最近の購入、F=5は最も高い購入頻度、M=5は最も高い購入金額を意味します
  3. 3桁のRFMスコアにまとめます(例:R5-F4-M5 = 最近購入し、購入頻度が高く、購入金額も高い)

注:Recencyでは、日数が少ないほどスコアが高くなります(購入時期が最近であるほど良い)。

主なセグメント
セグメントRFMパターン説明戦略
ChampionsR5, F5, M5購入時期が最近で、購入頻度と購入金額が高い最優良顧客特典、ロイヤルティプログラム、先行アクセス
LoyalR4-5, F4-5, M3-5安定して購入する顧客アップセル、クロスセル、紹介プログラム
Potential LoyalistsR4-5, F2-3, M2-3購入時期が最近で、購入頻度は中程度購入頻度を高めるために育成
At RiskR2-3, F3-5, M3-5以前は購入頻度または購入金額が高かったが、最近は購入していない顧客呼び戻しキャンペーン、特別オファー
HibernatingR1-2, F1-2, M1-2長期間休眠状態で、購入金額も低い顧客低コストで再活性化するか、対象から外す
New CustomersR5, F1, M1-2初回購入を済ませたばかりの顧客オンボーディング、2回目の購入特典
実施手順

フェーズ1:データの準備

  • 必須項目:顧客ID、取引日、取引金額
  • データの整理:返金、テスト注文、社内注文を除外
  • 分析期間を設定(通常12~24か月)

フェーズ2:RFMスコアの算出

  • 各顧客のR、F、Mを算出
  • 各指標に五分位スコア(1~5)を割り当て
  • セグメントにまとめる

フェーズ3:セグメント化と施策の実行

  • 各顧客を名前付きのセグメント(Champions、At Riskなど)に分類
  • セグメントごとにターゲットを絞った施策を設計
  • 結果を測定:ターゲットにした顧客の行動に違いがあったか?

出力形式

# RFM Analysis: {Business}

## Data Summary
- Customers analyzed: {N}
- Analysis window: {start} to {end}
- Transactions: {N}

## Segment Distribution
| Segment | Count | % | Avg R (days) | Avg F | Avg M |
|---------|-------|---|-------------|-------|-------|
| Champions | {N} | {%} | {days} | {count} | ${X} |
| At Risk | {N} | {%} | ... | ... | ... |
| ... | ... | ... | ... | ... | ... |

## Key Findings
- Top 20% customers contribute {X%} of revenue
- {N} customers at risk of churning (were high-value, now dormant)
- {N} new customers need second-purchase nurturing

## Recommended Actions
| Segment | Action | Channel | Expected Impact |
|---------|--------|---------|----------------|
| Champions | {loyalty reward} | {email/app} | Increase AOV by X% |
| At Risk | {win-back offer} | {email/SMS} | Recover X% of dormant revenue |

注意点

  • RFMは過去を振り返る指標です:顧客が何をしたかは分かりますが、これから何をするかは分かりません。将来を見通すインサイトを得るには、予測モデル(CLV予測)と組み合わせてください。
  • 五分位を均等に分けても意味がない場合があります:顧客の80%が1回しか購入していない場合、五分位の1~4はすべて「単発購入者」になります。ビジネスの状況に応じて、独自の区切り値を検討してください。
  • サブスクリプションではMonetaryが誤解を招く場合があります:全員が同じサブスクリプション料金を支払う場合、Mの指標からは情報が得られません。これを除外して、RFのみを使用してください。
  • B2BとB2Cでは購入頻度の基準が異なります:四半期ごとに購入するB2B顧客は「高頻度」と見なされますが、四半期ごとに購入するB2C顧客は「リスクあり」と見なされることがあります。ビジネスの状況に合わせて調整してください。
  • At Riskの顧客にメッセージを送りすぎないでください:休眠顧客にメールを大量に送ると、配信停止が増える可能性があります。毎週メールを送るより、よく練られた呼び戻しキャンペーンを1回実施する方が効果的です。

スクリプト

スクリプト説明使用方法
scripts/rfm_score.pyR/F/Mに基づいて顧客をスコアリングし、セグメントラベルを割り当てますpython scripts/rfm_score.py --help

python scripts/rfm_score.py --verifyを実行すると、組み込みのサニティテストを実行できます。

参考資料

  • Python/SQLの実装コードについては、references/rfm-implementation.mdを参照してください
  • RFMを拡張したCLV予測については、references/clv-prediction.mdを参照してください

コメント