本文へ移動
cccskills
無料GitHub で公開

"ecom-rfm-analysis"

"Perform RFM (Recency, Frequency, Monetary) customer segmentation from transaction data. Use this skill when the user needs to segment customers by purchase behavior, identify high-value buyers, design retention campaigns, or prioritize marketing spend by customer value — even if they say 'who are our best customers', 'which customers are at risk of churning', or 'how do we target our marketing'.".

インストール方法を見る

含まれるファイル(5)

  • SKILL.md5.2 KB
  • examples/sample_input.json3.4 KB
  • references/clv-prediction.md9.7 KB
  • references/rfm-implementation.md15.5 KB
  • scripts/rfm_score.py6.6 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

RFM Analysis

Overview

RFM segments customers based on three behavioral dimensions: Recency (when they last bought), Frequency (how often they buy), and Monetary (how much they spend). It converts raw transaction data into actionable customer segments for targeted marketing.

Framework

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.

The Three Dimensions

DimensionWhat It MeasuresHow to Calculate
Recency (R)Days since last purchaseToday - Last purchase date
Frequency (F)Number of purchases in periodCount of distinct transactions
Monetary (M)Total spend in periodSum of transaction values

Scoring Method (Quintile-Based)

  1. For each dimension, rank all customers and divide into 5 equal groups (quintiles)
  2. Score 5 (best) to 1 (worst): R=5 means most recent, F=5 means most frequent, M=5 means highest spend
  3. Combine into 3-digit RFM score (e.g., R5-F4-M5 = recent, frequent, high-value)

Note: For Recency, LOWER days = HIGHER score (more recent is better).

Key Segments

SegmentRFM PatternDescriptionStrategy
ChampionsR5, F5, M5Best customers, recent, frequent, high-valueReward, loyalty program, early access
LoyalR4-5, F4-5, M3-5Consistent buyersUpsell, cross-sell, referral program
Potential LoyalistsR4-5, F2-3, M2-3Recent, moderate frequencyNurture to increase frequency
At RiskR2-3, F3-5, M3-5Were frequent/high-value, not buying recentlyWin-back campaign, special offers
HibernatingR1-2, F1-2, M1-2Long dormant, low valueLow-cost reactivation or let go
New CustomersR5, F1, M1-2Just made first purchaseOnboarding, second-purchase incentive

Implementation Steps

Phase 1: Data Preparation

  • Required: Customer ID, Transaction Date, Transaction Amount
  • Clean: Remove refunds, test orders, internal orders
  • Set analysis window (typically 12-24 months)

Phase 2: Calculate RFM Scores

  • Calculate R, F, M for each customer
  • Assign quintile scores (1-5) for each dimension
  • Combine into segments

Phase 3: Segment and Act

  • Map each customer to a named segment (Champions, At Risk, etc.)
  • Design targeted actions per segment
  • Measure results: did targeted customers behave differently?

Output Format

# 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 |

Gotchas

  • RFM is backward-looking: It tells you what customers DID, not what they WILL do. Combine with predictive models (CLV prediction) for forward-looking insights.
  • Equal quintiles may not make sense: If 80% of customers bought only once, quintile 1-4 are all "one-time buyers." Consider custom breakpoints based on business context.
  • Monetary can be misleading for subscriptions: If everyone pays the same subscription fee, M dimension adds no information. Drop it and use RF only.
  • B2B vs B2C frequency differs: A B2B customer buying quarterly is "frequent." A B2C customer buying quarterly may be "at risk." Calibrate to business context.
  • Don't over-message At Risk customers: Bombarding dormant customers with emails can increase unsubscribes. One well-crafted win-back campaign is better than weekly emails.

Scripts

ScriptDescriptionUsage
scripts/rfm_score.pyScore customers on R/F/M and assign segment labelspython scripts/rfm_score.py --help

Run python scripts/rfm_score.py --verify to execute built-in sanity tests.

References

  • For Python/SQL implementation code, see references/rfm-implementation.md
  • For CLV prediction extending RFM, see references/clv-prediction.md

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

"Implement and select ad bidding strategies from manual CPC to automated target-CPA and target-ROAS. Use this skill when the user needs to choose a bidding strategy, set up automated bidding, or optimize bid parameters — even if they say 'what bidding strategy should I use', 'target CPA setup', or 'smart bidding configuration'.".

日本語の概要は準備中です。原文の説明を表示しています。

charlieviettq/awesome-agent-skill262026年7月20日 更新

"Optimize advertising budget allocation across campaigns using marginal returns analysis. Use this skill when the user needs to distribute budget across multiple campaigns, optimize spend pacing, or maximize overall ROAS under budget constraints — even if they say 'how to split my ad budget', 'campaign budget optimization', or 'diminishing returns on ad spend'.".

日本語の概要は準備中です。原文の説明を表示しています。

charlieviettq/awesome-agent-skill262026年7月20日 更新

"Build CTR prediction models for estimating ad click-through rates from features. Use this skill when the user needs to predict click probability, build an ad ranking model, or evaluate ad creative performance — even if they say 'predict click rate', 'ad relevance scoring', or 'which ad will get more clicks'.".

日本語の概要は準備中です。原文の説明を表示しています。

charlieviettq/awesome-agent-skill262026年7月20日 更新

"Implement Generalized Second Price auction for ad slot allocation and pricing. Use this skill when the user needs to understand search ad auctions, compute ad positions and costs-per-click, or analyze bidding dynamics — even if they say 'how does Google Ads auction work', 'ad rank calculation', or 'second price auction for ads'.".

日本語の概要は準備中です。原文の説明を表示しています。

charlieviettq/awesome-agent-skill262026年7月20日 更新

"Implement VCG mechanism for incentive-compatible ad slot allocation with truthful bidding. Use this skill when the user needs to design a truthful auction mechanism, compute externality-based payments, or understand why platforms may prefer GSP over VCG — even if they say 'truthful auction design', 'VCG payments', or 'incentive-compatible mechanism'.".

日本語の概要は準備中です。原文の説明を表示しています。

charlieviettq/awesome-agent-skill262026年7月20日 更新

"Explain blockchain fundamentals including distributed ledger architecture, consensus mechanisms, and block structure. Use this skill when the user needs to understand blockchain concepts, evaluate whether blockchain fits a use case, or design a blockchain-based solution — even if they say 'how does blockchain work', 'do I need blockchain', or 'distributed ledger'.".

日本語の概要は準備中です。原文の説明を表示しています。

charlieviettq/awesome-agent-skill262026年7月20日 更新

charlieviettq のスキルをすべて見る

このスキルの問題を報告する