{"id":"b53af6be-9ec4-4dee-b2df-e5aec8450206","entityType":"agent","slug":"clawhub-leooooooow-rfm-segmenter","name":"RFM Segmenter","canonicalUrl":"https://www.xpersona.co/agent/clawhub-leooooooow-rfm-segmenter","canonicalPath":"/agent/clawhub-leooooooow-rfm-segmenter","generatedAt":"2026-10-12T15:59:47.564Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T21:21:17.560Z","emptyReason":null},"description":"Segment your customer base using Recency, Frequency, and Monetary value scoring to identify Champions, Loyal Customers, At-Risk buyers, and Churned segments... Skill: RFM Segmenter Owner: leooooooow Summary: Segment your customer base using Recency, Frequency, and Monetary value scoring to identify Champions, Loyal Customers, At-Risk buyers, and Churned segments... Tags: latest:1.1.0 Version history: v1.1.0 | 2026-06-06T14:39:17.896Z | user Summary: Adds detailed reference materials and actionable frameworks for effective RFM segmentation and campaign planning. - Added four","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 991 downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17974h9acjg4h7h5djv1hg51d83hcca:rfm-segmenter","sourceUrl":"https://clawhub.ai/leooooooow/rfm-segmenter","homepage":"https://clawhub.ai/leooooooow/skills/rfm-segmenter","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/leooooooow/rfm-segmenter","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/leooooooow/skills/rfm-segmenter","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Segment your customer base using Recency, Frequency, and Monetary value scoring to identify Champions, Loyal Customers, At-Risk buyers, and Churned segments... "},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T21:21:17.560Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T21:21:17.560Z","emptyReason":null},"stars":null,"forks":null,"downloads":991,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"1.1.0","tractionLabel":"991 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T21:21:17.492Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T21:21:17.560Z","lastCrawledAt":"2026-10-11T21:21:17.492Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T21:21:17.492Z","lastVerifiedAt":null,"highlights":[{"version":"1.1.0","createdAt":"2026-06-06T14:39:17.896Z","changelog":"Summary: Adds detailed reference materials and actionable frameworks for effective RFM segmentation and campaign planning. - Added four new support documents: checklist.md, output-template.md, scoring-methodology.md, and segment-action-playbook.md. - Removed the skill-card.md file. - Enhanced documentation for implementing and interpreting RFM segmentation. - Provides clearer guidance on scoring, campaign strategy, and output structure.","fileCount":7,"zipByteSize":16333},{"version":"1.0.0","createdAt":"2026-04-16T03:22:59.454Z","changelog":"Initial release.","fileCount":3,"zipByteSize":4019}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17974h9acjg4h7h5djv1hg51d83hcca:rfm-segmenter","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-leooooooow-rfm-segmenter/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-leooooooow-rfm-segmenter/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-leooooooow-rfm-segmenter/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-leooooooow-rfm-segmenter/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-leooooooow-rfm-segmenter/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-leooooooow-rfm-segmenter/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-12T15:59:47.563Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-leooooooow-rfm-segmenter/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-leooooooow-rfm-segmenter/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-leooooooow-rfm-segmenter/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-leooooooow-rfm-segmenter/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T21:21:17.560Z","emptyReason":null},"readme":"Skill: RFM Segmenter\n\nOwner: leooooooow\n\nSummary: Segment your customer base using Recency, Frequency, and Monetary value scoring to identify Champions, Loyal Customers, At-Risk buyers, and Churned segments...\n\nTags: latest:1.1.0\n\nVersion history:\n\nv1.1.0 | 2026-06-06T14:39:17.896Z | user\n\nSummary: Adds detailed reference materials and actionable frameworks for effective RFM segmentation and campaign planning.\n\n- Added four new support documents: checklist.md, output-template.md, scoring-methodology.md, and segment-action-playbook.md.\n- Removed the skill-card.md file.\n- Enhanced documentation for implementing and interpreting RFM segmentation.\n- Provides clearer guidance on scoring, campaign strategy, and output structure.\n\nv1.0.0 | 2026-04-16T03:22:59.454Z | user\n\nInitial release.\n\nArchive index:\n\nArchive v1.1.0: 7 files, 16333 bytes\n\nFiles: checklist.md (3383b), output-template.md (4088b), scoring-methodology.md (6437b), segment-action-playbook.md (7876b), skill-card.md (2676b), SKILL.md (10838b), _meta.json (132b)\n\nFile v1.1.0:SKILL.md\n\n---\nname: RFM Segmenter\ndescription: Segment your customer base using Recency, Frequency, and Monetary value scoring to identify Champions, Loyal Customers, At-Risk buyers, and Churned segments — then generate targeted retention and reactivation campaigns for each group.\n---\n\n# RFM Segmenter\n\nMost ecommerce stores treat all customers the same: one email blast, one discount, one message. RFM segmentation breaks your customer base into behaviorally distinct groups so you can send the right message to the right person at the right time. This skill takes raw order data, scores each customer on Recency (how recently they bought), Frequency (how often), and Monetary value (how much they've spent), assigns them to named segments, and recommends specific marketing actions for each group.\n\n## Quick Reference\n\n| Decision | Strong | Acceptable | Weak |\n|----------|--------|------------|------|\n| Data window | Rolling 12–24 months | Last 12 months fixed | All-time (biases toward old customers) |\n| Scoring method | Quintile-based (1–5 per dimension) | Quartile-based (1–4) | Binary high/low |\n| Segment naming | Named behavioral segments (Champions, etc.) | Numbered clusters | R/F/M score only |\n| Monetary metric | Net revenue (post-refund) | Gross revenue | Order count only |\n| Recency baseline | Category purchase cycle-adjusted | Fixed 30/60/90/180 days | No adjustment |\n| Action specificity | Segment-specific campaigns and offers | Generic retention vs. win-back | Mass email to all |\n\n## Solves\n\n1. **Indiscriminate discounting** — Giving a 20% coupon to Champions who would have bought anyway destroys margin. RFM lets you reserve discounts for At-Risk and Lapsed segments where they're actually needed.\n2. **Churn blindness** — Without recency scoring, you don't know a customer is slipping away until they're gone. RFM flags customers before they churn.\n3. **Misallocated retention spend** — Marketing budgets spent on customers who already churn (Hibernating segment) have near-zero ROI. Redirect that spend to Promising and Needs Attention segments.\n4. **Over-emailing engaged customers** — Sending 5 emails a week to Champions can flip them from loyal to annoyed. RFM helps you calibrate frequency by segment.\n5. **Reactivation guesswork** — Win-back campaigns work best with personalized angles. RFM tells you which churned customers were once high-value and worth the spend.\n6. **LTV forecasting** — Champions and Loyal Customers are your LTV anchors. Knowing their size helps you set realistic growth targets.\n7. **Loyalty program design** — RFM reveals which behaviors (frequency vs. spend) actually predict long-term customer value in your category.\n\n## Workflow\n\n### Step 1 — Export and Clean Order Data\nPull a customer-level order export with: Customer ID (or email), Order Date, and Order Value (net of refunds). Set your analysis window (recommended: rolling 24 months for stable categories, 12 months for fashion/seasonal). Remove test orders, internal orders, and wholesale accounts.\n\n### Step 2 — Calculate R, F, M Raw Values\nFor each customer:\n- **Recency (R)**: Days since their most recent order (relative to today or your snapshot date)\n- **Frequency (F)**: Total number of orders in the analysis window\n- **Monetary (M)**: Total net revenue from orders in the analysis window\n\n### Step 3 — Assign R, F, M Scores (1–5)\nDivide your customer base into quintiles for each dimension. Score 5 = best, 1 = worst.\n\n- **R score**: Most recent buyers get 5; oldest last-purchase dates get 1\n- **F score**: Highest order count gets 5; single purchase gets 1 (or lowest frequency)\n- **M score**: Highest spenders get 5; lowest spenders get 1\n\n*If you have fewer than 500 customers, use quartiles (1–4) to avoid artificially small quintile buckets.*\n\n### Step 4 — Combine Scores and Assign Segments\n\nUse the following segment mapping (adjustable by business):\n\n| Segment | R Score | F Score | M Score | Description |\n|---------|---------|---------|---------|-------------|\n| Champions | 4–5 | 4–5 | 4–5 | Bought recently, buy often, spend the most |\n| Loyal Customers | 3–5 | 3–5 | 3–5 | Regular buyers with above-average spend |\n| Potential Loyalists | 4–5 | 2–3 | 2–3 | Recent buyers, could become loyal with nurturing |\n| New Customers | 4–5 | 1 | any | Just made their first or second purchase |\n| Promising | 3–4 | 1–2 | 1–2 | Recent buyers, light frequency and spend |\n| Needs Attention | 2–3 | 2–3 | 2–3 | Above-average overall but recency declining |\n| About to Sleep | 2–3 | 1–2 | 1–2 | Recency dropping, below-average engagement |\n| At Risk | 1–2 | 3–5 | 3–5 | Were Champions or Loyal but haven't returned |\n| Can't Lose Them | 1 | 4–5 | 4–5 | Haven't bought in a long time, were high-value |\n| Hibernating | 1–2 | 1–2 | 1–2 | Low across all dimensions, minimal engagement |\n| Lost | 1 | 1–2 | 1–2 | Haven't purchased in longest time, low value |\n\n### Step 5 — Validate Segment Sizes\nHealthy segment distributions for a mature ecommerce store:\n- Champions: 5–15%\n- Loyal Customers: 10–20%\n- At Risk + Can't Lose Them: 10–20% (your most urgent attention)\n- New + Potential Loyalists: 15–25% (your growth pipeline)\n- Hibernating + Lost: 20–40% (normal; focus is on preventing others from getting here)\n\nIf Champions exceed 30%, your scoring window is too narrow. If Lost exceeds 60%, customer acquisition is outpacing retention.\n\n### Step 6 — Build Segment-Specific Campaign Plans\nMap each segment to a specific message, offer, channel, and cadence. See the output template for the full campaign matrix.\n\n### Step 7 — Set Review Cadence\nRe-run the RFM analysis every 30–90 days (shorter for high-frequency categories like consumables, longer for furniture or appliances). Track segment migration: customers moving from Needs Attention to At Risk is a warning signal; customers moving from Promising to Loyal is a success signal.\n\n## Examples\n\n### Example 1 — Fashion Apparel Brand (2,400 active customers)\n\n**Input data summary:**\n- Analysis window: 12 months\n- Average order frequency: 2.3 orders/year\n- Average order value: $87\n- Average customer LTV (12-month): $201\n\n**RFM Score Distribution:**\n```\nChampions (R4-5, F4-5, M4-5): 187 customers (7.8%)\nLoyal Customers (R3-5, F3-5, M3-5): 312 customers (13.0%)\nAt Risk (R1-2, F3-5, M3-5): 203 customers (8.5%)\nCan't Lose Them (R1, F4-5, M4-5): 89 customers (3.7%)\nNew Customers (R4-5, F1): 445 customers (18.5%)\nPotential Loyalists (R4-5, F2-3, M2-3): 276 customers (11.5%)\nNeeds Attention (R2-3, F2-3, M2-3): 334 customers (13.9%)\nAbout to Sleep (R2-3, F1-2, M1-2): 201 customers (8.4%)\nHibernating (R1-2, F1-2, M1-2): 298 customers (12.4%)\nLost (R1, F1-2, M1-2): 55 customers (2.3%)\n```\n\n**Key Actions:**\n- **Champions (187)**: Early access to new collection + personal stylist offer. No discount. Target: increase AOV.\n- **At Risk (203)**: Win-back email sequence — \"We miss you\" → 10% offer → last chance. Target: reactivate 25%.\n- **Can't Lose Them (89)**: Phone/SMS outreach. VIP reactivation offer (20% + free shipping). These were top spenders.\n- **New Customers (445)**: Onboarding sequence focused on second purchase (most impactful moment in fashion LTV).\n\n**Projected Revenue Impact:**\n- At Risk reactivation (25% of 203 × $87 AOV): ~$4,400 recovered revenue\n- Champion upgrade campaigns (AOV increase of $30 for 40% of 187): ~$2,244 additional revenue\n- New Customer second purchase (15% conversion of 445 × $87): ~$5,808 additional revenue\n\n---\n\n### Example 2 — Consumable Brand (Coffee Subscription + One-Time Buyers)\n\n**Challenge:** High purchase frequency means standard RFM windows miss the nuance of subscription vs. occasional buyers.\n\n**Solution:** Separate the analysis for subscribers (recency = days since last subscription renewal) and non-subscribers (standard RFM), then merge segments with adjusted scoring.\n\n**Adjusted recency buckets for coffee (avg. reorder cycle = 28 days):**\n- R5: Purchased within 21 days\n- R4: 22–42 days\n- R3: 43–70 days\n- R2: 71–120 days\n- R1: 120+ days\n\n**Finding:** 340 R1 customers with F4-5 (frequent buyers who've lapsed) = 14% of customer base. This \"At Risk Power Buyer\" sub-segment exists in most consumable brands but gets missed with standard quarterly RFM windows.\n\n**Action:** Target these 340 with a personalized reactivation campaign: \"Your usual order is overdue\" + 15% one-time reactivation discount. Expected reactivation rate: 35–45%.\n\n---\n\n## Common Mistakes\n\n1. **Using all-time data instead of a rolling window.** A customer who bought 50 times in 2019 but nothing since 2022 looks like a Champion in all-time data but is Lost in any meaningful current sense. Always use a rolling window.\n\n2. **Not adjusting for purchase cycle.** A 90-day recency cutoff is fine for a general retailer but meaningless for a daily supplement brand where lapsing after 45 days is already a warning sign.\n\n3. **Treating Monetary as gross revenue.** High-return customers can have high gross revenue but negative net revenue. Use post-refund net revenue for M scoring.\n\n4. **Building 11 segments when you only have 200 customers.** With small datasets, collapse to 5–6 named segments. Micro-segments with 3 customers can't be acted on.\n\n5. **Forgetting to exclude wholesale and B2B accounts.** A single wholesale account can dominate your F and M quintiles and skew the entire scoring model.\n\n6. **Running RFM once and never updating it.** Customer behavior shifts over time. Segment scores should be refreshed at least quarterly; monthly is better for fast-moving categories.\n\n7. **Applying identical discounting to all non-Champion segments.** At Risk and Can't Lose Them need discounts; New Customers need education and social proof; Promising customers need curated recommendations. One offer doesn't fit all.\n\n8. **Ignoring segment migration trends.** If 20% of last quarter's Loyal Customers are now in Needs Attention, you have a systemic retention problem that won't be solved by a single campaign.\n\n9. **Not tracking RFM campaign performance by segment.** You can't improve what you don't measure. Always tag campaigns with the RFM segment they targeted and report conversion by segment.\n\n10. **Using RFM as the only segmentation layer.** RFM tells you what customers do, not why. Combine with product category data or survey responses to build fuller personas.\n\n## Resources\n\n- [Output Template](references/output-template.md) — RFM segment report and campaign matrix\n- [Segment Action Playbook](references/segment-action-playbook.md) — Campaign strategies per segment\n- [Scoring Methodology Guide](references/scoring-methodology.md) — Quintile calculation and edge cases\n- [Quality Checklist](assets/checklist.md) — Pre-deployment accuracy checklist\n\nFile v1.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn70fv0ehp50emedet9tx3fekd82pw3b\",\n  \"slug\": \"rfm-segmenter\",\n  \"version\": \"1.1.0\",\n  \"publishedAt\": 1780756757896\n}\n\nFile v1.1.0:checklist.md\n\n# RFM Segmenter — Quality Checklist\n\nUse before deploying any RFM-driven campaign. All sections must be checked.\n\n---\n\n## 1. Data Quality (8 items)\n- [ ] Order data exported from ecommerce backend (Shopify/WooCommerce/BigCommerce), not marketing platform\n- [ ] Refunds and returns subtracted — using net revenue, not gross\n- [ ] Test orders excluded (internal team purchases, dummy orders)\n- [ ] Wholesale / B2B accounts excluded or flagged separately\n- [ ] Analysis window clearly defined (start date and end date)\n- [ ] Duplicate customer records merged (same customer, multiple emails/accounts)\n- [ ] Cancelled orders excluded from frequency and monetary totals\n- [ ] Order dates verified — no future dates, no clearly erroneous dates (e.g., year 1900)\n\n## 2. Scoring Accuracy (7 items)\n- [ ] Scoring method (quintile/quartile/tertile) matches customer base size\n- [ ] Recency scored correctly: lower days = higher score\n- [ ] Frequency scored correctly: more orders = higher score\n- [ ] Monetary scored correctly: higher net spend = higher score\n- [ ] Tied values handled (not leaving gaps in quintile buckets)\n- [ ] Single-purchase customers (F1) correctly identified and not forced into multiple frequency buckets\n- [ ] Segment boundaries documented and reproducible\n\n## 3. Segment Assignment (5 items)\n- [ ] All customers assigned to exactly one segment (no gaps or duplicates)\n- [ ] Segment mapping rules documented and reviewed\n- [ ] Champions segment represents recognizable top customers (spot-check 10 names)\n- [ ] Lost/Hibernating segments represent recognizable lapsed customers (spot-check)\n- [ ] Segment sizes pass the reasonableness check (Champions 5–15%, Lost <20%)\n\n## 4. Campaign Readiness (8 items)\n- [ ] Each segment has a defined campaign strategy (message angle, offer, channel)\n- [ ] At Risk and Can't Lose Them campaigns are prioritized (highest ROI recovery)\n- [ ] Champions campaign uses no discount (or minimal incentive only)\n- [ ] Email audiences built in ESP (Klaviyo, Mailchimp) for each active segment\n- [ ] Suppression list applied (Lost segment excluded from active sends)\n- [ ] SMS list built for At Risk and Can't Lose Them segments (if applicable)\n- [ ] Retargeting audiences uploaded to Meta/Google Ads for key segments\n- [ ] A/B test designed for at least one segment campaign (message or offer variant)\n\n## 5. Tracking & Reporting (6 items)\n- [ ] Campaign UTM parameters set up per segment (utm_content=rfm-champions, etc.)\n- [ ] Baseline conversion metrics documented before campaigns launch\n- [ ] Revenue attribution plan defined (how will you measure each segment's campaign contribution?)\n- [ ] Next RFM refresh date scheduled (30/60/90 days)\n- [ ] Segment migration tracking set up (can you see who moved between segments?)\n- [ ] KPIs defined per segment (e.g., At Risk: reactivation rate; New Customers: 90-day repeat rate)\n\n## 6. Final Review (4 items)\n- [ ] RFM output reviewed by someone who knows the customer base (does it \"feel\" right?)\n- [ ] Top 20 Champions verified to be recognizable high-value customers\n- [ ] Top 20 Can't Lose Them verified to be recognizable formerly-valuable lapsed customers\n- [ ] Report shared with marketing team with clear action items and owners\n\n---\n\n**Total items: 38**\n**Minimum before sending any campaign: Sections 1–3 fully complete + Section 4 complete for that specific segment**\n\nFile v1.1.0:output-template.md\n\n# RFM Segmenter — Output Template\n\n## Analysis Summary\n**Store:** [Store Name]\n**Analysis Date:** [Date]\n**Data Window:** [Start] – [End] ([N] months)\n**Total Customers Analyzed:** [N]\n**Scoring Method:** [Quintile / Quartile]\n**Monetary Metric:** [Gross / Net Revenue]\n\n---\n\n## RFM Score Distribution\n\n| Segment | Customer Count | % of Base | Avg R Score | Avg F Score | Avg M Score | Avg LTV | Avg Orders | Avg Days Since Purchase |\n|---------|---------------|-----------|------------|------------|------------|---------|-----------|------------------------|\n| Champions | [N] | [%] | [N] | [N] | [N] | $[N] | [N] | [N] |\n| Loyal Customers | [N] | [%] | | | | $[N] | [N] | [N] |\n| Potential Loyalists | [N] | [%] | | | | $[N] | [N] | [N] |\n| New Customers | [N] | [%] | | | | $[N] | [N] | [N] |\n| Promising | [N] | [%] | | | | $[N] | [N] | [N] |\n| Needs Attention | [N] | [%] | | | | $[N] | [N] | [N] |\n| About to Sleep | [N] | [%] | | | | $[N] | [N] | [N] |\n| At Risk | [N] | [%] | | | | $[N] | [N] | [N] |\n| Can't Lose Them | [N] | [%] | | | | $[N] | [N] | [N] |\n| Hibernating | [N] | [%] | | | | $[N] | [N] | [N] |\n| Lost | [N] | [%] | | | | $[N] | [N] | [N] |\n| **Total** | **[N]** | **100%** | | | | **$[N]** | | |\n\n---\n\n## Revenue Concentration\n\n| Segment | Revenue % of Total | Revenue at Risk (At Risk + Can't Lose) |\n|---------|-------------------|---------------------------------------|\n| Champions + Loyal | [%] | — |\n| At Risk | [%] | $[N] |\n| Can't Lose Them | [%] | $[N] |\n| **Total Revenue at Risk** | | **$[N]** |\n\n---\n\n## Segment Migration (vs. Previous Quarter)\n\n| Segment | Previous Count | Current Count | Change | Migration Rate |\n|---------|---------------|--------------|--------|----------------|\n| Champions | [N] | [N] | +/−[N] | [%] |\n| At Risk | [N] | [N] | +/−[N] | [%] |\n| Lost | [N] | [N] | +/−[N] | [%] |\n\n---\n\n## Campaign Action Matrix\n\n| Segment | Priority | Message Angle | Offer | Channel | Cadence | Expected Response Rate |\n|---------|----------|--------------|-------|---------|---------|----------------------|\n| Champions | Maintain | Exclusivity / Early access | No discount (or free shipping) | Email + SMS | Monthly | 35–55% open rate |\n| Loyal Customers | Upsell | Loyalty rewards / New arrivals | 5–10% VIP discount | Email | Bi-weekly | 30–45% |\n| Potential Loyalists | Convert | Second purchase nudge | 10–15% one-time offer | Email | Weekly for 3 weeks | 15–25% |\n| New Customers | Onboard | Welcome series / Brand story | 10% next order | Email | Days 1, 4, 7, 14 | 20–35% |\n| Needs Attention | Retain | \"We noticed you haven't visited\" | 10–15% limited time | Email | 2x per month | 10–20% |\n| At Risk | Win-back | \"We miss you\" sequence | 15–20% + free shipping | Email + SMS | 3-step sequence | 8–18% |\n| Can't Lose Them | Reactivate | VIP personal outreach | 20–25% + bonus gift | Email + phone | Immediate | 15–30% |\n| Hibernating | Low-cost reactivation | Mass \"Still interested?\" | 10–15% | Email only | Quarterly | 2–5% |\n| Lost | Suppress or sunset | Remove from active list | No spend | — | Suppress | <2% |\n\n---\n\n## Projected Revenue Impact\n\n| Segment | Customers Targeted | Expected Response Rate | Expected Conversions | Avg AOV | Expected Revenue |\n|---------|-------------------|----------------------|---------------------|---------|-----------------|\n| At Risk reactivation | [N] | [%] | [N] | $[N] | $[N] |\n| Can't Lose Them | [N] | [%] | [N] | $[N] | $[N] |\n| Potential Loyalists | [N] | [%] | [N] | $[N] | $[N] |\n| **Total** | | | **[N]** | | **$[N]** |\n\n---\n\n## Top 3 Priority Actions\n\n1. **[Action]** — [Segment], [N] customers, estimated revenue impact $[N], launch by [date].\n2. **[Action]** — [Segment], [N] customers, estimated revenue impact $[N], launch by [date].\n3. **[Action]** — [Segment], [N] customers, estimated revenue impact $[N], launch by [date].\n\n---\n\n## Next Review Date\n**Scheduled:** [Date — 30/60/90 days from analysis date]\n**Key metrics to watch:** At Risk segment size, Champions-to-Loyal migration rate, New Customer 90-day repeat rate.\n\nFile v1.1.0:scoring-methodology.md\n\n# RFM Scoring Methodology Guide\n\n## Quintile vs. Quartile vs. Tertile — Which to Use\n\n| Customer Base Size | Recommended Scoring | Segments Per Dimension |\n|-------------------|--------------------|-----------------------|\n| 50–200 customers | Tertile (1–3) | 3 |\n| 200–500 customers | Quartile (1–4) | 4 |\n| 500+ customers | Quintile (1–5) | 5 |\n| 5,000+ customers | Quintile (1–5) or custom decile | 5–10 |\n\n**Why it matters:** With 150 customers and quintile scoring, each bucket has ~30 people. That's workable. With 80 customers, each bucket has 16 — too small to run meaningful segment campaigns. Use tertile scoring for small lists.\n\n---\n\n## Step-by-Step Quintile Calculation\n\n### 1. Recency Scoring (R)\n\nSort all customers ascending by days since last order (fewest days = best recency):\n\n```\nTotal customers: 1,000\nQuintile boundaries (20% each = 200 customers per bucket):\n\nR5 (best): Days 0–18     → 200 customers\nR4:         Days 19–35   → 200 customers\nR3:         Days 36–58   → 200 customers\nR2:         Days 59–105  → 200 customers\nR1 (worst): Days 106+    → 200 customers\n```\n\n*Note: The exact day boundaries depend on your specific customer distribution. Calculate them from your actual data — don't use fixed cutoffs like \"0–30 days = R5\" because your purchase cycle may differ.*\n\n### 2. Frequency Scoring (F)\n\nSort all customers descending by number of orders:\n\n```\nF5 (best): 8+ orders     → 200 customers (top 20%)\nF4:         5–7 orders   → 200 customers\nF3:         3–4 orders   → 200 customers\nF2:         2 orders     → 200 customers\nF1 (worst): 1 order      → 200 customers\n```\n\n*Edge case: If a large percentage of customers have exactly 1 order (common for new stores), expand F1 to include all single-purchase customers and score remaining customers across F2–F5.*\n\n### 3. Monetary Scoring (M)\n\nSort all customers descending by net revenue:\n\n```\nM5 (best): $800+         → 200 customers (top 20%)\nM4:         $400–799     → 200 customers\nM3:         $200–399     → 200 customers\nM2:         $100–199     → 200 customers\nM1 (worst): <$100        → 200 customers\n```\n\n---\n\n## Handling Edge Cases\n\n### Tied Values\nWhen many customers share the same value (e.g., 400 customers have exactly 1 order), you have two options:\n1. **Assign all tied values to the same score bucket** — Acceptable if the tied group is <30% of your total.\n2. **Random assignment within the tied group** — Distribute ties across adjacent buckets randomly to maintain even distribution.\n\n### Customers With a Single Order\nIn most ecommerce stores, 40–60% of customers have exactly 1 order. Don't over-segment this group:\n- All single-purchase customers get F1 by default\n- Use R and M scores to differentiate within this group\n- A customer with R5, F1, M5 is a \"High-Value New Customer,\" distinct from R5, F1, M1 (just a new customer with small first order)\n\n### New Store With <12 Months of Data\n- Don't force a 12-month window. Use all available data.\n- Your \"Lost\" segment will be empty or tiny — that's fine.\n- Focus scoring on R and F (M is less meaningful with a short history).\n- Re-run the full model at 12 months when you have enough data for meaningful segmentation.\n\n### Seasonal Businesses\nFor businesses with strong seasonality (holiday gifts, summer toys, etc.):\n- Run RFM analysis within each season rather than across the full year.\n- A customer who bought every December for 5 years is a Champion, not a Hibernating customer — but a full-year rolling window would score them as R1.\n- Add a \"seasonal flag\" to your customer record to adjust recency scoring.\n\n---\n\n## Python Code for RFM Scoring (Basic Implementation)\n\n```python\nimport pandas as pd\nfrom datetime import datetime\n\n# Load order data\ndf = pd.read_csv('orders.csv')  # columns: customer_id, order_date, order_value_net\ndf['order_date'] = pd.to_datetime(df['order_date'])\n\n# Set snapshot date\nsnapshot_date = datetime(2026, 6, 6)\n\n# Calculate R, F, M raw values\nrfm = df.groupby('customer_id').agg({\n    'order_date': lambda x: (snapshot_date - x.max()).days,  # Recency\n    'customer_id': 'count',                                   # Frequency\n    'order_value_net': 'sum'                                  # Monetary\n}).rename(columns={\n    'order_date': 'recency',\n    'customer_id': 'frequency',\n    'order_value_net': 'monetary'\n})\n\n# Score each dimension (1-5, higher = better)\nrfm['R_score'] = pd.qcut(rfm['recency'], q=5, labels=[5,4,3,2,1]).astype(int)\nrfm['F_score'] = pd.qcut(rfm['frequency'].rank(method='first'), q=5, labels=[1,2,3,4,5]).astype(int)\nrfm['M_score'] = pd.qcut(rfm['monetary'].rank(method='first'), q=5, labels=[1,2,3,4,5]).astype(int)\n\n# Create RFM composite score\nrfm['RFM_score'] = rfm['R_score'].astype(str) + rfm['F_score'].astype(str) + rfm['M_score'].astype(str)\n\n# Assign segment names\ndef assign_segment(row):\n    r, f, m = row['R_score'], row['F_score'], row['M_score']\n    if r >= 4 and f >= 4 and m >= 4:\n        return 'Champions'\n    elif r >= 3 and f >= 3 and m >= 3:\n        return 'Loyal Customers'\n    elif r >= 4 and f <= 1:\n        return 'New Customers'\n    elif r >= 4 and f <= 3 and m <= 3:\n        return 'Potential Loyalists'\n    elif r <= 2 and f >= 3 and m >= 3:\n        if r == 1:\n            return \"Can't Lose Them\"\n        return 'At Risk'\n    elif r <= 2 and f <= 2 and m <= 2:\n        return 'Hibernating'\n    elif r >= 2 and f >= 2 and m >= 2:\n        return 'Needs Attention'\n    else:\n        return 'About to Sleep'\n\nrfm['segment'] = rfm.apply(assign_segment, axis=1)\n\nprint(rfm['segment'].value_counts())\n```\n\n---\n\n## Validating Your Model\n\nBefore acting on RFM results, run these sanity checks:\n\n1. **Revenue concentration**: Champions + Loyal Customers should represent 60–80% of total revenue despite being 20–35% of customers. If not, your scoring window or boundaries may be off.\n\n2. **Recency distribution**: If >50% of customers are in R1, your window is too long or your reorder cycle is shorter than you think.\n\n3. **Monetary spread**: The M5 bucket should have substantially higher average spend than M1 (ideally 5–20x higher). If the spread is narrow, consider using a log scale for monetary scoring.\n\n4. **Segment stability**: Run the model on last quarter's data and compare to this quarter. Large sudden swings in segment sizes indicate data quality issues (missing orders, date errors, etc.).\n\nFile v1.1.0:segment-action-playbook.md\n\n# RFM Segment Action Playbook\n\n## Detailed Campaign Strategies by Segment\n\n---\n\n## Champions (R4-5, F4-5, M4-5)\n\n**Who they are:** Your best customers. Bought recently, buy often, and spend the most. They love your brand.\n\n**Goal:** Keep them engaged, increase AOV, turn them into advocates.\n\n**Do NOT:** Discount them. They're buying at full price already. A discount trains them to wait for offers.\n\n### Campaign Ideas\n1. **Early access program** — \"You're one of our top customers. Here's access to our new collection 48 hours before everyone else.\"\n2. **VIP event or behind-the-scenes content** — Factory tour, founder Q&A, product development preview.\n3. **Referral program invitation** — Champions have the highest brand affinity and are most likely to refer successfully. Offer a generous referral reward.\n4. **Bundle or curated set offer** — Higher AOV items: \"Based on your purchases, we think you'd love this set.\"\n5. **Personalized thank-you** — Handwritten note or personal email from the founder. High-retention, zero discount cost.\n\n### Metrics to Track\n- AOV trend (goal: growing)\n- Referral conversion rate\n- Segment retention rate quarter-over-quarter (goal: >85% remain in Champions or Loyal)\n\n---\n\n## Loyal Customers (R3-5, F3-5, M3-5)\n\n**Who they are:** Consistent buyers with above-average spend. The backbone of recurring revenue.\n\n**Goal:** Solidify loyalty, prevent downward migration, nudge toward Champions.\n\n### Campaign Ideas\n1. **Loyalty points or cashback program** — Reward purchase frequency directly.\n2. **Cross-sell to adjacent categories** — \"You love [Product A], you might like [Category B].\"\n3. **Anniversary or milestone messages** — \"You've been a customer for 1 year!\" (creates emotional connection, often no offer needed).\n4. **Subscription upsell** — If you offer subscriptions, these customers are ideal candidates for auto-replenishment.\n5. **New product beta testing** — \"As one of our best customers, would you test this before launch?\"\n\n### Metrics to Track\n- Churn rate to Needs Attention (goal: <10% per quarter)\n- Cross-category purchase rate\n- Subscription conversion rate\n\n---\n\n## Potential Loyalists (R4-5, F2-3, M2-3)\n\n**Who they are:** Recent buyers with growing engagement. On the trajectory to loyalty if nurtured.\n\n**Goal:** Accelerate second and third purchase to build habitual buying.\n\n### Campaign Ideas\n1. **Second purchase incentive** — \"Thank you for your first order. Here's 10% off your next.\" (Second purchase is the most predictive moment for LTV.)\n2. **Product education email series** — Help them get more value from what they bought. Reduces returns and increases re-purchase intent.\n3. **Complementary product recommendation** — Pair their first purchase with a logical follow-on item.\n4. **Review request with incentive** — \"Leave a review and get $5 off.\" Turns them into advocates while deepening engagement.\n5. **Wishlist feature promotion** — \"Save items for later\" creates future purchase intent data.\n\n### Metrics to Track\n- 90-day repeat purchase rate (industry benchmark: 25–35% for most categories)\n- Time-to-second-purchase trend\n- Segment upgrade rate to Loyal Customers\n\n---\n\n## New Customers (R4-5, F1)\n\n**Who they are:** Just made their first (or second) purchase. The most critical onboarding window.\n\n**Goal:** Convert to repeat buyers before they forget about you.\n\n### Email Sequence (Days 1, 4, 7, 14, 30)\n- **Day 1:** Order confirmation + brand story (why you exist)\n- **Day 4:** Getting the most out of your purchase (product tips, care, usage)\n- **Day 7:** Social proof — reviews and community content from similar customers\n- **Day 14:** Cross-sell recommendation + 10% second-purchase offer\n- **Day 30:** Check-in — \"How are you enjoying [product]?\" + review request\n\n### Metrics to Track\n- 30-day repeat rate\n- 90-day repeat rate\n- Onboarding email open rate by step\n\n---\n\n## Needs Attention (R2-3, F2-3, M2-3)\n\n**Who they are:** Were buying regularly but recency is declining. They're distracted, not necessarily lost.\n\n**Goal:** Re-engage before they slide into At Risk.\n\n### Campaign Ideas\n1. **\"We noticed you haven't visited recently\"** — Light personalization, no heavy discount yet.\n2. **New arrivals since their last visit** — \"A lot has changed since you were here last.\"\n3. **Seasonal relevance hook** — \"It's [season], perfect time to restock/refresh.\"\n4. **Limited-time offer (10–15%)** — Creates urgency without being a desperate win-back.\n5. **Browse abandonment retargeting** — If they've visited recently without converting, hit them with dynamic ads.\n\n### Metrics to Track\n- Response rate to re-engagement campaigns\n- Segment migration: Needs Attention → Active vs. Needs Attention → At Risk\n\n---\n\n## At Risk (R1-2, F3-5, M3-5)\n\n**Who they are:** Were Champions or Loyal Customers but haven't bought in a long time. Highest priority for win-back.\n\n**Goal:** Reactivate before they become \"Can't Lose Them\" (even worse) or \"Lost.\"\n\n### Win-Back Sequence (3 emails over 2 weeks)\n- **Email 1:** \"We miss you\" — Emotional, no offer. Show them what's new.\n- **Email 2:** \"A special offer just for you\" — 15–20% discount + free shipping. Urgency: 7 days.\n- **Email 3:** \"Last chance\" — Remind them the offer expires. Mention popular products they haven't tried.\n\n### Additional Tactics\n- **SMS win-back** — Higher open rate than email. Keep it short: \"Hey [Name], it's been a while. Here's 20% off — expires Sunday.\"\n- **Retargeting ads** — Show them their past purchases or complementary products.\n- **Personalized reason to return** — \"Your favorite [Product] is back in stock\" or \"New version of [Product] just launched.\"\n\n### Metrics to Track\n- Win-back email conversion rate (goal: 10–18%)\n- Revenue recovered per reactivated customer\n- Post-reactivation repeat purchase rate\n\n---\n\n## Can't Lose Them (R1, F4-5, M4-5)\n\n**Who they are:** Were your most valuable customers. Haven't bought in the longest time. Extremely high LTV — worth a significant recovery investment.\n\n**Goal:** Reactivate at any reasonable cost. Losing these customers permanently is very expensive.\n\n### High-Touch Approach\n1. **Personal outreach** — Email from the founder/CEO (not a mass blast template). \"I noticed you haven't ordered recently and wanted to reach out personally.\"\n2. **VIP reactivation offer** — 20–25% discount + free shipping + bonus gift (if applicable). The recovery cost is worth it given their historical LTV.\n3. **Phone call or SMS** — For your very top 20–30 customers in this segment, a personal call is appropriate.\n4. **Survey: \"What happened?\"** — Understanding why they left helps you fix the underlying issue for future customers.\n\n### Metrics to Track\n- Reactivation rate (goal: 20–35%)\n- Post-reactivation LTV trajectory (do they return to Champions or just make one purchase?)\n\n---\n\n## Hibernating (R1-2, F1-2, M1-2)\n\n**Who they are:** Low scores across all dimensions. Low investment value for recovery.\n\n**Goal:** Minimal spend. One quarterly attempt, then suppress.\n\n### Low-Cost Tactics\n- **Annual \"Still interested?\" email** — Simple, no heavy creative. A 3–5% response rate is typical.\n- **Category migration email** — If you've added new product lines since they last visited, show them.\n- **Unsubscribe offer** — Let them opt out cleanly; this keeps your list healthy and email metrics accurate.\n\n---\n\n## Lost (R1, F1-2, M1-2)\n\n**Who they are:** The weakest customers across all dimensions who haven't bought in the longest time.\n\n**Goal:** Remove from active marketing. Do not invest in reactivation.\n\n### Actions\n- Move to suppression list (stop sending marketing emails)\n- Retain in database for reporting\n- Re-include in GDPR/CCPA data deletion processes if requested\n- Optional: one \"farewell\" email + opt-out confirmation to clean list hygiene\n\nFile v1.1.0:skill-card.md\n\n## Description:\n\nSegment your customer base using Recency, Frequency, and Monetary value scoring to identify Champions, Loyal Customers, At-Risk buyers, and Churned segments — then generate targeted retention and reactivation campaigns for each group.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[leooooooow](https://clawhub.ai/user/leooooooow)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal ecommerce and retention marketing teams use this skill to score customers by recency, frequency, and monetary value, assign named segments, and plan segment-specific retention, win-back, and suppression campaigns.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: RFM analysis can expose sensitive customer order history and contact data.\n\nMitigation: Use the smallest necessary export, prefer customer IDs over emails, store outputs securely, and delete temporary datasets when analysis is complete.\n\nRisk: Segment-driven outreach can violate consent, opt-out, suppression, SMS, phone, advertising, or privacy requirements if activated without review.\n\nMitigation: Verify consent status, opt-outs, suppression lists, and applicable marketing and privacy laws before launching email, SMS, phone, or ad-audience campaigns.\n\nRisk: Poor data quality can produce misleading segments and inappropriate campaign actions.\n\nMitigation: Apply the provided checklist before campaign deployment, including net revenue validation, removal of test or wholesale orders, duplicate customer handling, and segment sanity checks.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/leooooooow/skills/rfm-segmenter)\n- [Output Template](artifact/output-template.md)\n- [Segment Action Playbook](artifact/segment-action-playbook.md)\n- [Scoring Methodology Guide](artifact/scoring-methodology.md)\n- [Quality Checklist](artifact/checklist.md)\n\n## Skill Output:\n\n**Output Type(s):** [analysis, markdown, code, guidance]\n\n**Output Format:** [Markdown reports, scoring guidance, campaign matrices, checklists, and optional Python code examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces customer segment classifications, campaign recommendations, validation checks, and review cadence guidance; it does not execute hidden tools or call external services.]\n\n## Skill Version(s):\n\n1.1.0 (source: evidence.release.version)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.0: 3 files, 4019 bytes\n\nFiles: skill-card.md (2139b), SKILL.md (5512b), _meta.json (132b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: rfm-segmenter\ndescription: Segment your customer base by Recency, Frequency, and Monetary value to identify VIPs, at-risk churners, and dormant buyers, then generate targeted re-engagement strategies for each segment.\n---\n\n# RFM Segmenter\n\nMost ecommerce brands treat their entire customer list the same way, sending identical promotions to someone who bought yesterday and someone who has not purchased in a year. RFM Segmenter applies the proven Recency-Frequency-Monetary framework to divide your customer base into actionable segments — VIP loyalists, promising newcomers, at-risk churners, hibernating buyers, and lost customers — then generates specific re-engagement strategies and messaging recommendations for each group so you spend marketing dollars where they actually move the needle.\n\n## Use when\n\n- You have a customer purchase export (from Shopify, Amazon, WooCommerce, or any ecommerce platform) and want to understand which customers are your most valuable and which are slipping away\n- You are planning an email or SMS campaign and need to segment your audience beyond basic demographics into behavior-based groups with different messaging strategies\n- Your retention rate is declining and you want to identify exactly which customer cohort is churning and design a targeted win-back approach for that specific group\n- You need to justify marketing budget allocation by showing which customer segments generate the most revenue and which segments have the highest recovery potential\n\n## What this skill does\n\nThis skill takes your customer transaction data and applies RFM scoring methodology to classify every customer into distinct behavioral segments. It calculates three scores for each customer: Recency (how recently they purchased), Frequency (how often they purchase), and Monetary value (how much they spend). Each dimension is scored on a 1-5 scale, and customers are grouped into named segments such as Champions (high across all three), Loyal Customers (high frequency and monetary, moderate recency), At-Risk (previously high value but recency declining), Hibernating (low recency, formerly active), and Lost (low across all dimensions). For each segment, the skill generates tailored marketing strategies including recommended channels, messaging tone, offer types, and campaign timing. It also calculates segment sizes and revenue contribution to help you prioritize where to focus.\n\n## Inputs required\n\n- **Customer transaction data** (required): A summary or export of customer purchase history including customer identifier, date of most recent purchase, total number of orders, and total spend. Example: \"Customer ID, Last Purchase Date, Order Count, Total Spend — or paste a CSV sample and I will work with your column names\"\n- **Analysis time frame** (required): The lookback period for the RFM analysis. Example: \"Last 12 months\" or \"January 2025 through March 2026\"\n- **Business context** (required): Your product category, average order value, and typical repurchase cycle so segment thresholds are calibrated correctly. Example: \"Skincare products, $35 AOV, customers typically reorder every 60-90 days\"\n- **Current marketing channels** (optional): Which channels you actively use (email, SMS, paid social, direct mail) so strategy recommendations are limited to channels you can actually execute. Example: \"Klaviyo for email, Attentive for SMS, Meta Ads for retargeting\"\n\n## Output format\n\nThe output is a comprehensive RFM segmentation report with five sections. First, a **Scoring Methodology** explanation showing how the 1-5 RFM scores were assigned based on your specific data distribution and repurchase cycle, so you understand exactly where the segment boundaries fall. Second, a **Segment Summary Table** listing each named segment (Champions, Loyal, Potential Loyalists, At-Risk, Needs Attention, About to Sleep, Hibernating, Lost) with the RFM score ranges that define it, the number of customers in each group, their percentage of total customers, and their percentage of total revenue. Third, a **Segment Deep Dive** for each group covering behavioral profile, estimated lifetime value trajectory, churn probability, and what distinguishes this group from adjacent segments. Fourth, a **Re-Engagement Strategy Matrix** with segment-specific recommendations including campaign type (welcome series, VIP exclusives, win-back offers, sunset flows), recommended channel, messaging tone and example subject lines, offer type and discount depth, and optimal send timing. Fifth, a **Priority Action Plan** that ranks the three highest-impact segments to target first based on revenue recovery potential and effort required, with specific next steps you can execute immediately.\n\n## Scope\n\n- Designed for: ecommerce operators, retention marketers, CRM managers, and DTC brand teams\n- Platform context: Shopify, WooCommerce, Amazon, BigCommerce, and any ecommerce platform that exports transaction data\n- Language: English\n\n## Limitations\n\n- Does not connect to your ecommerce platform or CRM directly; you need to provide transaction data as a CSV paste, summary, or file upload\n- RFM scoring uses standard quintile-based methodology and may need manual threshold adjustments for businesses with unusual purchase cycles such as luxury goods or annual subscription products\n- Strategy recommendations are marketing best practices, not personalized predictions; actual campaign performance depends on execution quality, creative, and offer strength\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn70fv0ehp50emedet9tx3fekd82pw3b\",\n  \"slug\": \"rfm-segmenter\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1776309779454\n}\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nSegment your customer base by Recency, Frequency, and Monetary value to identify VIPs, at-risk churners, and dormant buyers, then generate targeted re-engagement strategies for each segment. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[leooooooow](https://clawhub.ai/user/leooooooow) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nEcommerce operators, retention marketers, CRM managers, and DTC brand teams use this skill to segment customer purchase data by recency, frequency, and monetary value, then prioritize targeted re-engagement campaigns. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Customer transaction exports may include personal data that is not needed for RFM scoring. <br>\nMitigation: Use only data the user is allowed to process, prefer pseudonymous customer IDs, and remove names, emails, phone numbers, addresses, payment details, and other unnecessary fields before analysis. <br>\nRisk: Marketing recommendations are strategy guidance rather than personalized performance predictions. <br>\nMitigation: Review segment thresholds and campaign recommendations against the business's purchase cycle, available channels, privacy requirements, and execution constraints before launch. <br>\n\n\n## Reference(s): <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [analysis, markdown, guidance] <br>\n**Output Format:** [Markdown report with segmentation tables, strategy matrices, and action-plan guidance] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires user-provided customer transaction data, analysis time frame, and business context; does not connect directly to ecommerce or CRM platforms.] <br>\n\n## Skill Version(s): <br>\n1.0.0 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: RFM Segmenter Owner: leooooooow Summary: Segment your customer base using Recency, Frequency, and Monetary value scoring to identify Champions, Loyal Customers, At-Risk buyers, and Churned segments... Tags: latest:1.1.0 Version history: v1.1.0 | 2026-06-06T14:39:17.896Z | user Summary: Adds detailed reference materials and actionable frameworks for effective RFM segmentation and campaign planning. - Added four","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"Champions (R4-5, F4-5, M4-5): 187 customers (7.8%)\nLoyal Customers (R3-5, F3-5, M3-5): 312 customers (13.0%)\nAt Risk (R1-2, F3-5, M3-5): 203 customers (8.5%)\nCan't Lose Them (R1, F4-5, M4-5): 89 customers (3.7%)\nNew Customers (R4-5, F1): 445 customers (18.5%)\nPotential Loyalists (R4-5, F2-3, M2-3): 276 customers (11.5%)\nNeeds Attention (R2-3, F2-3, M2-3): 334 customers (13.9%)\nAbout to Sleep (R2-3, F1-2, M1-2): 201 customers (8.4%)\nHibernating (R1-2, F1-2, M1-2): 298 customers (12.4%)\nLost (R1, F1-2, M1-2): 55 customers (2.3%)"},{"language":"text","snippet":"Total customers: 1,000\nQuintile boundaries (20% each = 200 customers per bucket):\n\nR5 (best): Days 0–18     → 200 customers\nR4:         Days 19–35   → 200 customers\nR3:         Days 36–58   → 200 customers\nR2:         Days 59–105  → 200 customers\nR1 (worst): Days 106+    → 200 customers"},{"language":"text","snippet":"F5 (best): 8+ orders     → 200 customers (top 20%)\nF4:         5–7 orders   → 200 customers\nF3:         3–4 orders   → 200 customers\nF2:         2 orders     → 200 customers\nF1 (worst): 1 order      → 200 customers"},{"language":"text","snippet":"M5 (best): $800+         → 200 customers (top 20%)\nM4:         $400–799     → 200 customers\nM3:         $200–399     → 200 customers\nM2:         $100–199     → 200 customers\nM1 (worst): <$100        → 200 customers"},{"language":"python","snippet":"import pandas as pd\nfrom datetime import datetime\n\n# Load order data\ndf = pd.read_csv('orders.csv')  # columns: customer_id, order_date, order_value_net\ndf['order_date'] = pd.to_datetime(df['order_date'])\n\n# Set snapshot date\nsnapshot_date = datetime(2026, 6, 6)\n\n# Calculate R, F, M raw values\nrfm = df.groupby('customer_id').agg({\n    'order_date': lambda x: (snapshot_date - x.max()).days,  # Recency\n    'customer_id': 'count',                                   # Frequency\n    'order_value_net': 'sum'                                  # Monetary\n}).rename(columns={\n    'order_date': 'recency',\n    'customer_id': 'frequency',\n    'order_value_net': 'monetary'\n})\n\n# Score each dimension (1-5, higher = better)\nrfm['R_score'] = pd.qcut(rfm['recency'], q=5, labels=[5,4,3,2,1]).astype(int)\nrfm['F_score'] = pd.qcut(rfm['frequency'].rank(method='first'), q=5, labels=[1,2,3,4,5]).astype(int)\nrfm['M_score'] = pd.qcut(rfm['monetary'].rank(method='first'), q=5, labels=[1,2,3,4,5]).astype(int)\n\n# Create RFM composite score\nrfm['RFM_score'] = rfm['R_score'].astype(str) + rfm['F_score'].astype(str) + rfm['M_score'].astype(str)\n\n# Assign segment names\ndef assign_segment(row):\n    r, f, m = row['R_score'], row['F_score'], row['M_score']\n    if r >= 4 and f >= 4 and m >= 4:\n        return 'Champions'\n    elif r >= 3 and f >= 3 and m >= 3:\n        return 'Loyal Customers'\n    elif r >= 4 and f <= 1:\n        return 'New Customers'\n    elif r >= 4 and f <= 3 and m <= 3:\n        return 'Potential Loyalists'\n    elif r <= 2 and f >= 3 and m >= 3:\n        if r == 1:\n            return \"Can't Lose Them\"\n        return 'At Risk'\n    elif r <= 2 and f <= 2 and m <= 2:\n        return 'Hibernating'\n    elif r >= 2 and f >= 2 and m >= 2:\n        return 'Needs Attention'\n    else:\n        return 'About to Sleep'\n\nrfm['segment'] = rfm.apply(assign_segment, axis=1)\n\nprint(rfm['segment'].value_counts())"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: RFM Segmenter\ndescription: Segment your customer base using Recency, Frequency, and Monetary value scoring to identify Champions, Loyal Customers, At-Risk buyers, and Churned segments — then generate targeted retention and reactivation campaigns for each group.\n---\n\n# RFM Segmenter\n\nMost ecommerce stores treat all customers the same: one email blast, one discount, one message. RFM segmentation breaks your customer base into behaviorally distinct groups so you can send the right message to the right person at the right time. This skill takes raw order data, scores each customer on Recency (how recently they bought), Frequency (how often), and Monetary value (how much they've spent), assigns them to named segments, and recommends specific marketing actions for each group.\n\n## Quick Reference\n\n| Decision | Strong | Acceptable | Weak |\n|----------|--------|------------|------|\n| Data window | Rolling 12–24 months | Last 12 months fixed | All-time (biases toward old customers) |\n| Scoring method | Quintile-based (1–5 per dimension) | Quartile-based (1–4) | Binary high/low |\n| Segment naming | Named behavioral segments (Champions, etc.) | Numbered clusters | R/F/M score only |\n| Monetary metric | Net revenue (post-refund) | Gross revenue | Order count only |\n| Recency baseline | Category purchase cycle-adjusted | Fixed 30/60/90/180 days | No adjustment |\n| Action specificity | Segment-specific campaigns and offers | Generic retention vs. win-back | Mass email to all |\n\n## Solves\n\n1. **Indiscriminate discounting** — Giving a 20% coupon to Champions who would have bought anyway destroys margin. RFM lets you reserve discounts for At-Risk and Lapsed segments where they're actually needed.\n2. **Churn blindness** — Without recency scoring, you don't know a customer is slipping away until they're gone. RFM flags customers before they churn.\n3. **Misallocated retention spend** — Marketing budgets spent on customers who already churn (Hibernating segment) have near-zero ROI. Redirect that spend to Promising and Needs Attention segments.\n4. **Over-emailing engaged customers** — Sending 5 emails a week to Champions can flip them from loyal to annoyed. RFM helps you calibrate frequency by segment.\n5. **Reactivation guesswork** — Win-back campaigns work best with personalized angles. RFM tells you which churned customers were once high-value and worth the spend.\n6. **LTV forecasting** — Champions and Loyal Customers are your LTV anchors. Knowing their size helps you set realistic growth targets.\n7. **Loyalty program design** — RFM reveals which behaviors (frequency vs. spend) actually predict long-term customer value in your category.\n\n## Workflow\n\n### Step 1 — Export and Clean Order Data\nPull a customer-level order export with: Customer ID (or email), Order Date, and Order Value (net of refunds). Set your analysis window (recommended: rolling 24 months for stable categories, 12 months for fashion/seasonal). Remove test orders, internal orders, and wholes"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn70fv0ehp50emedet9tx3fekd82pw3b\",\n  \"slug\": \"rfm-segmenter\",\n  \"version\": \"1.1.0\",\n  \"publishedAt\": 1780756757896\n}"},{"path":"checklist.md","content":"# RFM Segmenter — Quality Checklist\n\nUse before deploying any RFM-driven campaign. All sections must be checked.\n\n---\n\n## 1. Data Quality (8 items)\n- [ ] Order data exported from ecommerce backend (Shopify/WooCommerce/BigCommerce), not marketing platform\n- [ ] Refunds and returns subtracted — using net revenue, not gross\n- [ ] Test orders excluded (internal team purchases, dummy orders)\n- [ ] Wholesale / B2B accounts excluded or flagged separately\n- [ ] Analysis window clearly defined (start date and end date)\n- [ ] Duplicate customer records merged (same customer, multiple emails/accounts)\n- [ ] Cancelled orders excluded from frequency and monetary totals\n- [ ] Order dates verified — no future dates, no clearly erroneous dates (e.g., year 1900)\n\n## 2. Scoring Accuracy (7 items)\n- [ ] Scoring method (quintile/quartile/tertile) matches customer base size\n- [ ] Recency scored correctly: lower days = higher score\n- [ ] Frequency scored correctly: more orders = higher score\n- [ ] Monetary scored correctly: higher net spend = higher score\n- [ ] Tied values handled (not leaving gaps in quintile buckets)\n- [ ] Single-purchase customers (F1) correctly identified and not forced into multiple frequency buckets\n- [ ] Segment boundaries documented and reproducible\n\n## 3. Segment Assignment (5 items)\n- [ ] All customers assigned to exactly one segment (no gaps or duplicates)\n- [ ] Segment mapping rules documented and reviewed\n- [ ] Champions segment represents recognizable top customers (spot-check 10 names)\n- [ ] Lost/Hibernating segments represent recognizable lapsed customers (spot-check)\n- [ ] Segment sizes pass the reasonableness check (Champions 5–15%, Lost <20%)\n\n## 4. Campaign Readiness (8 items)\n- [ ] Each segment has a defined campaign strategy (message angle, offer, channel)\n- [ ] At Risk and Can't Lose Them campaigns are prioritized (highest ROI recovery)\n- [ ] Champions campaign uses no discount (or minimal incentive only)\n- [ ] Email audiences built in ESP (Klaviyo, Mailchimp) for each active segment\n- [ ] Suppression list applied (Lost segment excluded from active sends)\n- [ ] SMS list built for At Risk and Can't Lose Them segments (if applicable)\n- [ ] Retargeting audiences uploaded to Meta/Google Ads for key segments\n- [ ] A/B test designed for at least one segment campaign (message or offer variant)\n\n## 5. Tracking & Reporting (6 items)\n- [ ] Campaign UTM parameters set up per segment (utm_content=rfm-champions, etc.)\n- [ ] Baseline conversion metrics documented before campaigns launch\n- [ ] Revenue attribution plan defined (how will you measure each segment's campaign contribution?)\n- [ ] Next RFM refresh date scheduled (30/60/90 days)\n- [ ] Segment migration tracking set up (can you see who moved between segments?)\n- [ ] KPIs defined per segment (e.g., At Risk: reactivation rate; New Customers: 90-day repeat rate)\n\n## 6. Final Review (4 items)\n- [ ] RFM output reviewed by someone who knows the customer base (does it \"feel\" right?)\n- [ ] To"},{"path":"output-template.md","content":"# RFM Segmenter — Output Template\n\n## Analysis Summary\n**Store:** [Store Name]\n**Analysis Date:** [Date]\n**Data Window:** [Start] – [End] ([N] months)\n**Total Customers Analyzed:** [N]\n**Scoring Method:** [Quintile / Quartile]\n**Monetary Metric:** [Gross / Net Revenue]\n\n---\n\n## RFM Score Distribution\n\n| Segment | Customer Count | % of Base | Avg R Score | Avg F Score | Avg M Score | Avg LTV | Avg Orders | Avg Days Since Purchase |\n|---------|---------------|-----------|------------|------------|------------|---------|-----------|------------------------|\n| Champions | [N] | [%] | [N] | [N] | [N] | $[N] | [N] | [N] |\n| Loyal Customers | [N] | [%] | | | | $[N] | [N] | [N] |\n| Potential Loyalists | [N] | [%] | | | | $[N] | [N] | [N] |\n| New Customers | [N] | [%] | | | | $[N] | [N] | [N] |\n| Promising | [N] | [%] | | | | $[N] | [N] | [N] |\n| Needs Attention | [N] | [%] | | | | $[N] | [N] | [N] |\n| About to Sleep | [N] | [%] | | | | $[N] | [N] | [N] |\n| At Risk | [N] | [%] | | | | $[N] | [N] | [N] |\n| Can't Lose Them | [N] | [%] | | | | $[N] | [N] | [N] |\n| Hibernating | [N] | [%] | | | | $[N] | [N] | [N] |\n| Lost | [N] | [%] | | | | $[N] | [N] | [N] |\n| **Total** | **[N]** | **100%** | | | | **$[N]** | | |\n\n---\n\n## Revenue Concentration\n\n| Segment | Revenue % of Total | Revenue at Risk (At Risk + Can't Lose) |\n|---------|-------------------|---------------------------------------|\n| Champions + Loyal | [%] | — |\n| At Risk | [%] | $[N] |\n| Can't Lose Them | [%] | $[N] |\n| **Total Revenue at Risk** | | **$[N]** |\n\n---\n\n## Segment Migration (vs. Previous Quarter)\n\n| Segment | Previous Count | Current Count | Change | Migration Rate |\n|---------|---------------|--------------|--------|----------------|\n| Champions | [N] | [N] | +/−[N] | [%] |\n| At Risk | [N] | [N] | +/−[N] | [%] |\n| Lost | [N] | [N] | +/−[N] | [%] |\n\n---\n\n## Campaign Action Matrix\n\n| Segment | Priority | Message Angle | Offer | Channel | Cadence | Expected Response Rate |\n|---------|----------|--------------|-------|---------|---------|----------------------|\n| Champions | Maintain | Exclusivity / Early access | No discount (or free shipping) | Email + SMS | Monthly | 35–55% open rate |\n| Loyal Customers | Upsell | Loyalty rewards / New arrivals | 5–10% VIP discount | Email | Bi-weekly | 30–45% |\n| Potential Loyalists | Convert | Second purchase nudge | 10–15% one-time offer | Email | Weekly for 3 weeks | 15–25% |\n| New Customers | Onboard | Welcome series / Brand story | 10% next order | Email | Days 1, 4, 7, 14 | 20–35% |\n| Needs Attention | Retain | \"We noticed you haven't visited\" | 10–15% limited time | Email | 2x per month | 10–20% |\n| At Risk | Win-back | \"We miss you\" sequence | 15–20% + free shipping | Email + SMS | 3-step sequence | 8–18% |\n| Can't Lose Them | Reactivate | VIP personal outreach | 20–25% + bonus gift | Email + phone | Immediate | 15–30% |\n| Hibernating | Low-cost reactivation | Mass \"Still interested?\" | 10–15% | Email only | Quarterly | 2–5% |\n| Lost | Suppress"},{"path":"scoring-methodology.md","content":"# RFM Scoring Methodology Guide\n\n## Quintile vs. Quartile vs. Tertile — Which to Use\n\n| Customer Base Size | Recommended Scoring | Segments Per Dimension |\n|-------------------|--------------------|-----------------------|\n| 50–200 customers | Tertile (1–3) | 3 |\n| 200–500 customers | Quartile (1–4) | 4 |\n| 500+ customers | Quintile (1–5) | 5 |\n| 5,000+ customers | Quintile (1–5) or custom decile | 5–10 |\n\n**Why it matters:** With 150 customers and quintile scoring, each bucket has ~30 people. That's workable. With 80 customers, each bucket has 16 — too small to run meaningful segment campaigns. Use tertile scoring for small lists.\n\n---\n\n## Step-by-Step Quintile Calculation\n\n### 1. Recency Scoring (R)\n\nSort all customers ascending by days since last order (fewest days = best recency):\n\n```\nTotal customers: 1,000\nQuintile boundaries (20% each = 200 customers per bucket):\n\nR5 (best): Days 0–18     → 200 customers\nR4:         Days 19–35   → 200 customers\nR3:         Days 36–58   → 200 customers\nR2:         Days 59–105  → 200 customers\nR1 (worst): Days 106+    → 200 customers\n```\n\n*Note: The exact day boundaries depend on your specific customer distribution. Calculate them from your actual data — don't use fixed cutoffs like \"0–30 days = R5\" because your purchase cycle may differ.*\n\n### 2. Frequency Scoring (F)\n\nSort all customers descending by number of orders:\n\n```\nF5 (best): 8+ orders     → 200 customers (top 20%)\nF4:         5–7 orders   → 200 customers\nF3:         3–4 orders   → 200 customers\nF2:         2 orders     → 200 customers\nF1 (worst): 1 order      → 200 customers\n```\n\n*Edge case: If a large percentage of customers have exactly 1 order (common for new stores), expand F1 to include all single-purchase customers and score remaining customers across F2–F5.*\n\n### 3. Monetary Scoring (M)\n\nSort all customers descending by net revenue:\n\n```\nM5 (best): $800+         → 200 customers (top 20%)\nM4:         $400–799     → 200 customers\nM3:         $200–399     → 200 customers\nM2:         $100–199     → 200 customers\nM1 (worst): <$100        → 200 customers\n```\n\n---\n\n## Handling Edge Cases\n\n### Tied Values\nWhen many customers share the same value (e.g., 400 customers have exactly 1 order), you have two options:\n1. **Assign all tied values to the same score bucket** — Acceptable if the tied group is <30% of your total.\n2. **Random assignment within the tied group** — Distribute ties across adjacent buckets randomly to maintain even distribution.\n\n### Customers With a Single Order\nIn most ecommerce stores, 40–60% of customers have exactly 1 order. Don't over-segment this group:\n- All single-purchase customers get F1 by default\n- Use R and M scores to differentiate within this group\n- A customer with R5, F1, M5 is a \"High-Value New Customer,\" distinct from R5, F1, M1 (just a new customer with small first order)\n\n### New Store With <12 Months of Data\n- Don't force a 12-month window. Use all available data.\n- Your \"Lost\" segment will be empty or tiny — t"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Segment your customer base using Recency, Frequency, and Monetary value scoring to identify Champions, Loyal Customers, At-Risk buyers, and Churned segments... Skill: RFM Segmenter Owner: leooooooow Summary: Segment your customer base using Recency, Frequency, and Monetary value scoring to identify Champions, Loyal Customers, At-Risk buyers, and Churned segments... Tags: latest:1.1.0 Version history: v1.1.0 | 2026-06-06T14:39:17.896Z | user Summary: Adds detailed reference materials and actionable frameworks for effective RFM segmentation and campaign planning. - Added four","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1810,"uniquenessScore":47,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T21:21:17.560Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T21:21:17.560Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-12T15:59:47.564Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}