code-ai-installer 4.0.0 → 4.0.1-a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (471) hide show
  1. package/README.md +83 -67
  2. package/dist/index.js +2 -0
  3. package/dist/mcp/audit_ledger.d.ts +12 -0
  4. package/dist/mcp/audit_ledger.js +82 -0
  5. package/dist/mcp/cli.js +7 -1
  6. package/dist/mcp/config.d.ts +23 -0
  7. package/dist/mcp/config.js +36 -0
  8. package/dist/mcp/index.d.ts +1 -2
  9. package/dist/mcp/index.js +1 -2
  10. package/dist/mcp/paths.d.ts +20 -2
  11. package/dist/mcp/paths.js +29 -5
  12. package/dist/mcp/proposal_dedup.d.ts +32 -0
  13. package/dist/mcp/proposal_dedup.js +102 -0
  14. package/dist/mcp/proposal_store.d.ts +18 -0
  15. package/dist/mcp/proposal_store.js +74 -0
  16. package/dist/mcp/scorecard.d.ts +140 -0
  17. package/dist/mcp/scorecard.js +103 -0
  18. package/dist/mcp/skill_invocations.d.ts +15 -0
  19. package/dist/mcp/skill_invocations.js +28 -0
  20. package/dist/mcp/task_state.d.ts +77 -2
  21. package/dist/mcp/tools/_subprocess.d.ts +16 -0
  22. package/dist/mcp/tools/_subprocess.js +56 -0
  23. package/dist/mcp/tools/advance_gate.js +2 -2
  24. package/dist/mcp/tools/aggregate_run_metrics.d.ts +19 -0
  25. package/dist/mcp/tools/aggregate_run_metrics.js +139 -0
  26. package/dist/mcp/tools/apply_diff.d.ts +2 -0
  27. package/dist/mcp/tools/apply_diff.js +29 -0
  28. package/dist/mcp/tools/audit_bilocale_parity.d.ts +2 -0
  29. package/dist/mcp/tools/audit_bilocale_parity.js +146 -0
  30. package/dist/mcp/tools/audit_budget_compliance.d.ts +35 -0
  31. package/dist/mcp/tools/audit_budget_compliance.js +172 -0
  32. package/dist/mcp/tools/build.d.ts +2 -0
  33. package/dist/mcp/tools/build.js +47 -0
  34. package/dist/mcp/tools/check_lint.d.ts +2 -0
  35. package/dist/mcp/tools/check_lint.js +23 -0
  36. package/dist/mcp/tools/classify_gate.js +2 -2
  37. package/dist/mcp/tools/current_gate.js +2 -2
  38. package/dist/mcp/tools/dependency_supply_chain.d.ts +2 -0
  39. package/dist/mcp/tools/dependency_supply_chain.js +59 -0
  40. package/dist/mcp/tools/docker_compose.d.ts +2 -0
  41. package/dist/mcp/tools/docker_compose.js +24 -0
  42. package/dist/mcp/tools/e2e_playwright.d.ts +2 -0
  43. package/dist/mcp/tools/e2e_playwright.js +88 -0
  44. package/dist/mcp/tools/get_skill.js +17 -0
  45. package/dist/mcp/tools/git_commit.d.ts +2 -0
  46. package/dist/mcp/tools/git_commit.js +30 -0
  47. package/dist/mcp/tools/list_proposals.d.ts +6 -0
  48. package/dist/mcp/tools/list_proposals.js +16 -0
  49. package/dist/mcp/tools/list_skills.js +9 -1
  50. package/dist/mcp/tools/load_role.d.ts +3 -4
  51. package/dist/mcp/tools/load_role.js +11 -13
  52. package/dist/mcp/tools/propose_change.d.ts +8 -0
  53. package/dist/mcp/tools/propose_change.js +36 -0
  54. package/dist/mcp/tools/record_decision.js +25 -25
  55. package/dist/mcp/tools/review_proposal.d.ts +17 -0
  56. package/dist/mcp/tools/review_proposal.js +99 -0
  57. package/dist/mcp/tools/run_drift_audit.d.ts +11 -0
  58. package/dist/mcp/tools/run_drift_audit.js +79 -0
  59. package/dist/mcp/tools/run_tests.d.ts +2 -0
  60. package/dist/mcp/tools/run_tests.js +92 -0
  61. package/dist/mcp/tools/sign_off.js +14 -2
  62. package/dist/mcp/tools/stubs.js +30 -9
  63. package/dist/mcp/tools/verify_claim.js +33 -6
  64. package/dist/mcp_setup.d.ts +8 -0
  65. package/dist/mcp_setup.js +4 -1
  66. package/dist/shared/frontmatter.d.ts +44 -2
  67. package/dist/shared/frontmatter.js +54 -6
  68. package/dist/shared/index.d.ts +0 -5
  69. package/dist/shared/index.js +0 -5
  70. package/dist/shared/persona.d.ts +2 -2
  71. package/dist/shared/persona.js +1 -1
  72. package/dist/shared/pipeline.d.ts +46 -1
  73. package/dist/shared/tools.d.ts +1382 -16
  74. package/dist/shared/tools.js +229 -0
  75. package/dist/shared/vocabulary.d.ts +99 -4
  76. package/dist/shared/vocabulary.js +94 -5
  77. package/domains/analytics/.agents/skills/ansoff-matrix/SKILL.md +316 -300
  78. package/domains/analytics/.agents/skills/bcg-matrix/SKILL.md +345 -329
  79. package/domains/analytics/.agents/skills/blue-ocean-strategy/SKILL.md +432 -416
  80. package/domains/analytics/.agents/skills/board/SKILL.md +22 -0
  81. package/domains/analytics/.agents/skills/cohort-analysis/SKILL.md +338 -322
  82. package/domains/analytics/.agents/skills/competitive-analysis/SKILL.md +413 -395
  83. package/domains/analytics/.agents/skills/customer-journey-mapping/SKILL.md +347 -331
  84. package/domains/analytics/.agents/skills/gates/SKILL.md +388 -366
  85. package/domains/analytics/.agents/skills/handoff/SKILL.md +402 -380
  86. package/domains/analytics/.agents/skills/html-pdf-report/SKILL.md +21 -289
  87. package/domains/analytics/.agents/skills/html-pdf-report-reference/SKILL.md +325 -0
  88. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
  89. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
  90. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
  91. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
  92. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
  93. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
  94. package/domains/analytics/.agents/skills/html-pdf-report-reference/agents/skill.yaml +23 -0
  95. package/domains/analytics/.agents/skills/icp-buyer-persona/SKILL.md +407 -390
  96. package/domains/analytics/.agents/skills/jtbd-analysis/SKILL.md +357 -341
  97. package/domains/analytics/.agents/skills/karpathy-guidelines/SKILL.md +32 -0
  98. package/domains/analytics/.agents/skills/pest-analysis/SKILL.md +324 -305
  99. package/domains/analytics/.agents/skills/porters-five-forces/SKILL.md +377 -361
  100. package/domains/analytics/.agents/skills/report-design/SKILL.md +416 -398
  101. package/domains/analytics/.agents/skills/rfm-analysis/SKILL.md +330 -314
  102. package/domains/analytics/.agents/skills/session-prompt-generator/SKILL.md +400 -378
  103. package/domains/analytics/.agents/skills/swot-analysis/SKILL.md +340 -324
  104. package/domains/analytics/.agents/skills/tam-sam-som/SKILL.md +329 -312
  105. package/domains/analytics/.agents/skills/trend-analysis/SKILL.md +347 -331
  106. package/domains/analytics/.agents/skills/unit-economics/SKILL.md +430 -413
  107. package/domains/analytics/.agents/skills/value-chain-analysis/SKILL.md +346 -330
  108. package/domains/analytics/.agents/skills/web-research/SKILL.md +323 -308
  109. package/domains/analytics/AGENTS.md +1 -0
  110. package/domains/analytics/agents/auditor.md +76 -0
  111. package/domains/analytics/agents/conductor.md +11 -0
  112. package/domains/analytics/agents/data_analyst.md +11 -0
  113. package/domains/analytics/agents/designer.md +11 -0
  114. package/domains/analytics/agents/interviewer.md +11 -0
  115. package/domains/analytics/agents/layouter.md +11 -0
  116. package/domains/analytics/agents/mediator.md +11 -0
  117. package/domains/analytics/agents/researcher.md +11 -0
  118. package/domains/analytics/agents/strategist.md +11 -0
  119. package/domains/analytics/locales/en/.agents/skills/ansoff-matrix/SKILL.md +316 -300
  120. package/domains/analytics/locales/en/.agents/skills/bcg-matrix/SKILL.md +345 -329
  121. package/domains/analytics/locales/en/.agents/skills/blue-ocean-strategy/SKILL.md +432 -416
  122. package/domains/analytics/locales/en/.agents/skills/board/SKILL.md +22 -0
  123. package/domains/analytics/locales/en/.agents/skills/cohort-analysis/SKILL.md +338 -322
  124. package/domains/analytics/locales/en/.agents/skills/competitive-analysis/SKILL.md +413 -395
  125. package/domains/analytics/locales/en/.agents/skills/customer-journey-mapping/SKILL.md +347 -331
  126. package/domains/analytics/locales/en/.agents/skills/gates/SKILL.md +388 -366
  127. package/domains/analytics/locales/en/.agents/skills/handoff/SKILL.md +402 -380
  128. package/domains/analytics/locales/en/.agents/skills/html-pdf-report/SKILL.md +21 -289
  129. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/SKILL.md +325 -0
  130. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
  131. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
  132. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
  133. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
  134. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
  135. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
  136. package/domains/analytics/locales/en/.agents/skills/html-pdf-report-reference/agents/skill.yaml +29 -0
  137. package/domains/analytics/locales/en/.agents/skills/icp-buyer-persona/SKILL.md +407 -390
  138. package/domains/analytics/locales/en/.agents/skills/jtbd-analysis/SKILL.md +357 -341
  139. package/domains/analytics/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +32 -0
  140. package/domains/analytics/locales/en/.agents/skills/pest-analysis/SKILL.md +324 -305
  141. package/domains/analytics/locales/en/.agents/skills/porters-five-forces/SKILL.md +377 -361
  142. package/domains/analytics/locales/en/.agents/skills/report-design/SKILL.md +416 -398
  143. package/domains/analytics/locales/en/.agents/skills/rfm-analysis/SKILL.md +330 -314
  144. package/domains/analytics/locales/en/.agents/skills/session-prompt-generator/SKILL.md +400 -378
  145. package/domains/analytics/locales/en/.agents/skills/swot-analysis/SKILL.md +340 -324
  146. package/domains/analytics/locales/en/.agents/skills/tam-sam-som/SKILL.md +329 -312
  147. package/domains/analytics/locales/en/.agents/skills/trend-analysis/SKILL.md +347 -331
  148. package/domains/analytics/locales/en/.agents/skills/unit-economics/SKILL.md +430 -413
  149. package/domains/analytics/locales/en/.agents/skills/value-chain-analysis/SKILL.md +366 -350
  150. package/domains/analytics/locales/en/.agents/skills/web-research/SKILL.md +324 -309
  151. package/domains/analytics/locales/en/AGENTS.md +1 -0
  152. package/domains/analytics/locales/en/agents/auditor.md +76 -0
  153. package/domains/analytics/locales/en/agents/conductor.md +27 -0
  154. package/domains/analytics/locales/en/agents/data_analyst.md +29 -0
  155. package/domains/analytics/locales/en/agents/designer.md +27 -0
  156. package/domains/analytics/locales/en/agents/interviewer.md +11 -0
  157. package/domains/analytics/locales/en/agents/layouter.md +11 -0
  158. package/domains/analytics/locales/en/agents/mediator.md +11 -0
  159. package/domains/analytics/locales/en/agents/researcher.md +11 -0
  160. package/domains/analytics/locales/en/agents/strategist.md +11 -0
  161. package/domains/analytics/persona/persona-base.md +94 -0
  162. package/domains/analytics/pipeline.yaml +102 -0
  163. package/domains/content/.agents/skills/audience-analysis/SKILL.md +15 -0
  164. package/domains/content/.agents/skills/board/SKILL.md +20 -0
  165. package/domains/content/.agents/skills/brand-compliance/SKILL.md +15 -0
  166. package/domains/content/.agents/skills/brand-guidelines/SKILL.md +17 -0
  167. package/domains/content/.agents/skills/competitor-content-analysis/SKILL.md +15 -0
  168. package/domains/content/.agents/skills/content-brief/SKILL.md +15 -0
  169. package/domains/content/.agents/skills/content-calendar/SKILL.md +15 -0
  170. package/domains/content/.agents/skills/content-release-gate/SKILL.md +15 -0
  171. package/domains/content/.agents/skills/content-review-checklist/SKILL.md +15 -0
  172. package/domains/content/.agents/skills/cta-optimization/SKILL.md +15 -0
  173. package/domains/content/.agents/skills/data-storytelling/SKILL.md +15 -0
  174. package/domains/content/.agents/skills/email-copywriting/SKILL.md +15 -0
  175. package/domains/content/.agents/skills/email-engagement-tiers/SKILL.md +15 -0
  176. package/domains/content/.agents/skills/fact-checking/SKILL.md +15 -0
  177. package/domains/content/.agents/skills/gates/SKILL.md +20 -0
  178. package/domains/content/.agents/skills/google-stitch-content/SKILL.md +15 -0
  179. package/domains/content/.agents/skills/handoff/SKILL.md +24 -0
  180. package/domains/content/.agents/skills/headline-formulas/SKILL.md +15 -0
  181. package/domains/content/.agents/skills/image-prompt-engineering/SKILL.md +15 -0
  182. package/domains/content/.agents/skills/karpathy-guidelines/SKILL.md +28 -0
  183. package/domains/content/.agents/skills/mailerlite-email-ops/SKILL.md +15 -0
  184. package/domains/content/.agents/skills/marketing-psychology/SKILL.md +15 -0
  185. package/domains/content/.agents/skills/moodboard/SKILL.md +15 -0
  186. package/domains/content/.agents/skills/platform-compliance/SKILL.md +15 -0
  187. package/domains/content/.agents/skills/platform-strategy/SKILL.md +15 -0
  188. package/domains/content/.agents/skills/platform-visual-specs/SKILL.md +15 -0
  189. package/domains/content/.agents/skills/readability-scoring/SKILL.md +15 -0
  190. package/domains/content/.agents/skills/seo-copywriting/SKILL.md +15 -0
  191. package/domains/content/.agents/skills/social-media-formats/SKILL.md +15 -0
  192. package/domains/content/.agents/skills/source-verification/SKILL.md +15 -0
  193. package/domains/content/.agents/skills/storytelling-framework/SKILL.md +15 -0
  194. package/domains/content/.agents/skills/tone-of-voice/SKILL.md +15 -0
  195. package/domains/content/.agents/skills/topic-research/SKILL.md +15 -0
  196. package/domains/content/.agents/skills/trend-research/SKILL.md +15 -0
  197. package/domains/content/.agents/skills/visual-brief/SKILL.md +15 -0
  198. package/domains/content/AGENTS.md +4 -0
  199. package/domains/content/agents/auditor.md +76 -0
  200. package/domains/content/agents/conductor.md +11 -0
  201. package/domains/content/agents/copywriter.md +11 -0
  202. package/domains/content/agents/researcher.md +11 -0
  203. package/domains/content/agents/reviewer.md +11 -0
  204. package/domains/content/agents/strategist.md +11 -0
  205. package/domains/content/agents/visual_concept.md +11 -0
  206. package/domains/content/locales/en/.agents/skills/audience-analysis/SKILL.md +15 -0
  207. package/domains/content/locales/en/.agents/skills/board/SKILL.md +20 -0
  208. package/domains/content/locales/en/.agents/skills/brand-compliance/SKILL.md +15 -0
  209. package/domains/content/locales/en/.agents/skills/brand-guidelines/SKILL.md +17 -0
  210. package/domains/content/locales/en/.agents/skills/competitor-content-analysis/SKILL.md +15 -0
  211. package/domains/content/locales/en/.agents/skills/content-brief/SKILL.md +15 -0
  212. package/domains/content/locales/en/.agents/skills/content-calendar/SKILL.md +15 -0
  213. package/domains/content/locales/en/.agents/skills/content-release-gate/SKILL.md +15 -0
  214. package/domains/content/locales/en/.agents/skills/content-review-checklist/SKILL.md +15 -0
  215. package/domains/content/locales/en/.agents/skills/cta-optimization/SKILL.md +15 -0
  216. package/domains/content/locales/en/.agents/skills/data-storytelling/SKILL.md +15 -0
  217. package/domains/content/locales/en/.agents/skills/email-copywriting/SKILL.md +15 -0
  218. package/domains/content/locales/en/.agents/skills/email-engagement-tiers/SKILL.md +15 -0
  219. package/domains/content/locales/en/.agents/skills/fact-checking/SKILL.md +15 -0
  220. package/domains/content/locales/en/.agents/skills/gates/SKILL.md +20 -0
  221. package/domains/content/locales/en/.agents/skills/google-stitch-content/SKILL.md +15 -0
  222. package/domains/content/locales/en/.agents/skills/handoff/SKILL.md +24 -0
  223. package/domains/content/locales/en/.agents/skills/headline-formulas/SKILL.md +15 -0
  224. package/domains/content/locales/en/.agents/skills/image-prompt-engineering/SKILL.md +15 -0
  225. package/domains/content/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +30 -1
  226. package/domains/content/locales/en/.agents/skills/mailerlite-email-ops/SKILL.md +15 -0
  227. package/domains/content/locales/en/.agents/skills/marketing-psychology/SKILL.md +15 -0
  228. package/domains/content/locales/en/.agents/skills/moodboard/SKILL.md +15 -0
  229. package/domains/content/locales/en/.agents/skills/platform-compliance/SKILL.md +15 -0
  230. package/domains/content/locales/en/.agents/skills/platform-strategy/SKILL.md +15 -0
  231. package/domains/content/locales/en/.agents/skills/platform-visual-specs/SKILL.md +15 -0
  232. package/domains/content/locales/en/.agents/skills/readability-scoring/SKILL.md +15 -0
  233. package/domains/content/locales/en/.agents/skills/seo-copywriting/SKILL.md +15 -0
  234. package/domains/content/locales/en/.agents/skills/social-media-formats/SKILL.md +15 -0
  235. package/domains/content/locales/en/.agents/skills/source-verification/SKILL.md +15 -0
  236. package/domains/content/locales/en/.agents/skills/storytelling-framework/SKILL.md +15 -0
  237. package/domains/content/locales/en/.agents/skills/tone-of-voice/SKILL.md +15 -0
  238. package/domains/content/locales/en/.agents/skills/topic-research/SKILL.md +15 -0
  239. package/domains/content/locales/en/.agents/skills/trend-research/SKILL.md +15 -0
  240. package/domains/content/locales/en/.agents/skills/visual-brief/SKILL.md +15 -0
  241. package/domains/content/locales/en/AGENTS.md +4 -0
  242. package/domains/content/locales/en/agents/auditor.md +76 -0
  243. package/domains/content/locales/en/agents/conductor.md +12 -0
  244. package/domains/content/locales/en/agents/copywriter.md +12 -0
  245. package/domains/content/locales/en/agents/researcher.md +12 -0
  246. package/domains/content/locales/en/agents/reviewer.md +12 -0
  247. package/domains/content/locales/en/agents/strategist.md +12 -0
  248. package/domains/content/locales/en/agents/visual_concept.md +12 -0
  249. package/domains/content/persona/persona-base.md +94 -0
  250. package/domains/content/pipeline.yaml +96 -0
  251. package/domains/development/.agents/skills/adr-log/SKILL.md +1 -0
  252. package/domains/development/.agents/skills/design-intake/SKILL.md +0 -4
  253. package/domains/development/.agents/skills/karpathy-guidelines/SKILL.md +2 -1
  254. package/domains/development/.agents/skills/lava-flow-legacy-detection/SKILL.md +15 -1
  255. package/domains/development/.agents/skills/mcp-integration/SKILL.md +211 -0
  256. package/domains/development/.agents/skills/mcp-integration/agents/claude.json +22 -0
  257. package/domains/development/.agents/skills/mcp-integration/agents/copilot.json +22 -0
  258. package/domains/development/.agents/skills/mcp-integration/agents/gemini.json +22 -0
  259. package/domains/development/.agents/skills/mcp-integration/agents/kimi.yaml +18 -0
  260. package/domains/development/.agents/skills/mcp-integration/agents/openai.yaml +8 -0
  261. package/domains/development/.agents/skills/mcp-integration/agents/qwen.json +22 -0
  262. package/domains/development/.agents/skills/mcp-integration/agents/skill.yaml +26 -0
  263. package/domains/development/.agents/skills/qa-ui-a11y-smoke/SKILL.md +1 -1
  264. package/domains/development/.agents/skills/ui-a11y-smoke-review/SKILL.md +1 -1
  265. package/domains/development/AGENTS.md +1 -0
  266. package/domains/development/AGENTS.yaml +1 -0
  267. package/domains/development/agents/architect.md +13 -1
  268. package/domains/development/agents/auditor.md +74 -0
  269. package/domains/development/agents/conductor.md +14 -3
  270. package/domains/development/agents/devops.md +8 -9
  271. package/domains/development/agents/reviewer.md +12 -0
  272. package/domains/development/agents/senior_full_stack.md +12 -0
  273. package/domains/development/agents/tester.md +10 -16
  274. package/domains/development/locales/en/.agents/skills/adr-log/SKILL.md +1 -0
  275. package/domains/development/locales/en/.agents/skills/current-state-analysis/SKILL.md +256 -172
  276. package/domains/development/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +2 -1
  277. package/domains/development/locales/en/.agents/skills/lava-flow-legacy-detection/SKILL.md +15 -1
  278. package/domains/development/locales/en/.agents/skills/mcp-integration/SKILL.md +211 -0
  279. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/claude.json +22 -0
  280. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/copilot.json +22 -0
  281. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/gemini.json +22 -0
  282. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/kimi.yaml +18 -0
  283. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/openai.yaml +8 -0
  284. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/qwen.json +22 -0
  285. package/domains/development/locales/en/.agents/skills/mcp-integration/agents/skill.yaml +26 -0
  286. package/domains/development/locales/en/.agents/skills/qa-ui-a11y-smoke/SKILL.md +1 -1
  287. package/domains/development/locales/en/.agents/skills/ui-a11y-smoke-review/SKILL.md +1 -1
  288. package/domains/development/locales/en/AGENTS.md +5 -0
  289. package/domains/development/locales/en/AGENTS.yaml +1 -0
  290. package/domains/development/locales/en/agents/architect.md +13 -1
  291. package/domains/development/locales/en/agents/auditor.md +74 -0
  292. package/domains/development/locales/en/agents/conductor.md +14 -3
  293. package/domains/development/locales/en/agents/devops.md +8 -9
  294. package/domains/development/locales/en/agents/reviewer.md +12 -0
  295. package/domains/development/locales/en/agents/senior_full_stack.md +12 -0
  296. package/domains/development/locales/en/agents/tester.md +10 -16
  297. package/domains/development/persona/persona-base.md +94 -0
  298. package/domains/product/.agents/skills/aarrr-metrics/SKILL.md +451 -433
  299. package/domains/product/.agents/skills/ab-test-design/SKILL.md +428 -412
  300. package/domains/product/.agents/skills/acceptance-criteria/SKILL.md +422 -406
  301. package/domains/product/.agents/skills/assumption-mapping/SKILL.md +323 -307
  302. package/domains/product/.agents/skills/board/SKILL.md +24 -0
  303. package/domains/product/.agents/skills/design-brief/SKILL.md +433 -418
  304. package/domains/product/.agents/skills/epic-breakdown/SKILL.md +435 -420
  305. package/domains/product/.agents/skills/gates/SKILL.md +470 -446
  306. package/domains/product/.agents/skills/gtm-brief/SKILL.md +18 -321
  307. package/domains/product/.agents/skills/gtm-brief-reference/SKILL.md +348 -0
  308. package/domains/product/.agents/skills/gtm-brief-reference/agents/claude.json +17 -0
  309. package/domains/product/.agents/skills/gtm-brief-reference/agents/copilot.json +17 -0
  310. package/domains/product/.agents/skills/gtm-brief-reference/agents/gemini.json +17 -0
  311. package/domains/product/.agents/skills/gtm-brief-reference/agents/kimi.yaml +15 -0
  312. package/domains/product/.agents/skills/gtm-brief-reference/agents/openai.yaml +10 -0
  313. package/domains/product/.agents/skills/gtm-brief-reference/agents/qwen.json +17 -0
  314. package/domains/product/.agents/skills/gtm-brief-reference/agents/skill.yaml +22 -0
  315. package/domains/product/.agents/skills/handoff/SKILL.md +463 -439
  316. package/domains/product/.agents/skills/html-pdf-report/SKILL.md +21 -663
  317. package/domains/product/.agents/skills/html-pdf-report-reference/SKILL.md +699 -0
  318. package/domains/product/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
  319. package/domains/product/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
  320. package/domains/product/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
  321. package/domains/product/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
  322. package/domains/product/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
  323. package/domains/product/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
  324. package/domains/product/.agents/skills/html-pdf-report-reference/agents/skill.yaml +22 -0
  325. package/domains/product/.agents/skills/hypothesis-template/SKILL.md +484 -469
  326. package/domains/product/.agents/skills/jtbd-canvas/SKILL.md +274 -258
  327. package/domains/product/.agents/skills/kano-model/SKILL.md +370 -355
  328. package/domains/product/.agents/skills/karpathy-guidelines/SKILL.md +36 -0
  329. package/domains/product/.agents/skills/launch-checklist/SKILL.md +434 -419
  330. package/domains/product/.agents/skills/moscow-prioritization/SKILL.md +407 -392
  331. package/domains/product/.agents/skills/north-star-metric/SKILL.md +317 -301
  332. package/domains/product/.agents/skills/okr-framework/SKILL.md +299 -284
  333. package/domains/product/.agents/skills/opportunity-solution-tree/SKILL.md +472 -456
  334. package/domains/product/.agents/skills/prd-template/SKILL.md +18 -258
  335. package/domains/product/.agents/skills/prd-template-reference/SKILL.md +285 -0
  336. package/domains/product/.agents/skills/prd-template-reference/agents/claude.json +17 -0
  337. package/domains/product/.agents/skills/prd-template-reference/agents/copilot.json +17 -0
  338. package/domains/product/.agents/skills/prd-template-reference/agents/gemini.json +17 -0
  339. package/domains/product/.agents/skills/prd-template-reference/agents/kimi.yaml +16 -0
  340. package/domains/product/.agents/skills/prd-template-reference/agents/openai.yaml +10 -0
  341. package/domains/product/.agents/skills/prd-template-reference/agents/qwen.json +17 -0
  342. package/domains/product/.agents/skills/prd-template-reference/agents/skill.yaml +23 -0
  343. package/domains/product/.agents/skills/problem-statement/SKILL.md +327 -312
  344. package/domains/product/.agents/skills/product-roadmap/SKILL.md +320 -304
  345. package/domains/product/.agents/skills/product-vision/SKILL.md +409 -394
  346. package/domains/product/.agents/skills/release-notes/SKILL.md +18 -258
  347. package/domains/product/.agents/skills/release-notes-reference/SKILL.md +285 -0
  348. package/domains/product/.agents/skills/release-notes-reference/agents/claude.json +17 -0
  349. package/domains/product/.agents/skills/release-notes-reference/agents/copilot.json +17 -0
  350. package/domains/product/.agents/skills/release-notes-reference/agents/gemini.json +17 -0
  351. package/domains/product/.agents/skills/release-notes-reference/agents/kimi.yaml +15 -0
  352. package/domains/product/.agents/skills/release-notes-reference/agents/openai.yaml +10 -0
  353. package/domains/product/.agents/skills/release-notes-reference/agents/qwen.json +17 -0
  354. package/domains/product/.agents/skills/release-notes-reference/agents/skill.yaml +22 -0
  355. package/domains/product/.agents/skills/report-design/SKILL.md +17 -307
  356. package/domains/product/.agents/skills/report-design-reference/SKILL.md +331 -0
  357. package/domains/product/.agents/skills/report-design-reference/agents/claude.json +17 -0
  358. package/domains/product/.agents/skills/report-design-reference/agents/copilot.json +17 -0
  359. package/domains/product/.agents/skills/report-design-reference/agents/gemini.json +17 -0
  360. package/domains/product/.agents/skills/report-design-reference/agents/kimi.yaml +15 -0
  361. package/domains/product/.agents/skills/report-design-reference/agents/openai.yaml +10 -0
  362. package/domains/product/.agents/skills/report-design-reference/agents/qwen.json +17 -0
  363. package/domains/product/.agents/skills/report-design-reference/agents/skill.yaml +22 -0
  364. package/domains/product/.agents/skills/rice-scoring/SKILL.md +266 -251
  365. package/domains/product/.agents/skills/saas-metrics/SKILL.md +422 -404
  366. package/domains/product/.agents/skills/session-prompt-generator/SKILL.md +474 -450
  367. package/domains/product/.agents/skills/user-flow/SKILL.md +491 -476
  368. package/domains/product/.agents/skills/user-interview-script/SKILL.md +315 -298
  369. package/domains/product/.agents/skills/user-story/SKILL.md +401 -385
  370. package/domains/product/.agents/skills/wsjf-scoring/SKILL.md +333 -315
  371. package/domains/product/AGENTS.md +5 -0
  372. package/domains/product/AGENTS.yaml +1 -0
  373. package/domains/product/agents/auditor.md +76 -0
  374. package/domains/product/agents/conductor.md +11 -0
  375. package/domains/product/agents/data_analyst.md +11 -0
  376. package/domains/product/agents/designer.md +11 -0
  377. package/domains/product/agents/discovery.md +11 -0
  378. package/domains/product/agents/layouter.md +11 -0
  379. package/domains/product/agents/mediator.md +11 -0
  380. package/domains/product/agents/pm.md +11 -0
  381. package/domains/product/agents/product_strategist.md +11 -0
  382. package/domains/product/agents/tech_lead.md +11 -0
  383. package/domains/product/agents/ux_designer.md +11 -0
  384. package/domains/product/locales/en/.agents/skills/aarrr-metrics/SKILL.md +451 -433
  385. package/domains/product/locales/en/.agents/skills/ab-test-design/SKILL.md +428 -412
  386. package/domains/product/locales/en/.agents/skills/acceptance-criteria/SKILL.md +422 -406
  387. package/domains/product/locales/en/.agents/skills/assumption-mapping/SKILL.md +323 -307
  388. package/domains/product/locales/en/.agents/skills/board/SKILL.md +24 -0
  389. package/domains/product/locales/en/.agents/skills/design-brief/SKILL.md +433 -418
  390. package/domains/product/locales/en/.agents/skills/epic-breakdown/SKILL.md +435 -420
  391. package/domains/product/locales/en/.agents/skills/gates/SKILL.md +470 -446
  392. package/domains/product/locales/en/.agents/skills/gtm-brief/SKILL.md +18 -321
  393. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/SKILL.md +348 -0
  394. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/claude.json +17 -0
  395. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/copilot.json +17 -0
  396. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/gemini.json +17 -0
  397. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/kimi.yaml +15 -0
  398. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/openai.yaml +10 -0
  399. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/qwen.json +17 -0
  400. package/domains/product/locales/en/.agents/skills/gtm-brief-reference/agents/skill.yaml +22 -0
  401. package/domains/product/locales/en/.agents/skills/handoff/SKILL.md +463 -439
  402. package/domains/product/locales/en/.agents/skills/html-pdf-report/SKILL.md +21 -663
  403. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/SKILL.md +699 -0
  404. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/claude.json +17 -0
  405. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/copilot.json +17 -0
  406. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/gemini.json +17 -0
  407. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/kimi.yaml +15 -0
  408. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/openai.yaml +10 -0
  409. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/qwen.json +17 -0
  410. package/domains/product/locales/en/.agents/skills/html-pdf-report-reference/agents/skill.yaml +22 -0
  411. package/domains/product/locales/en/.agents/skills/hypothesis-template/SKILL.md +484 -469
  412. package/domains/product/locales/en/.agents/skills/jtbd-canvas/SKILL.md +273 -257
  413. package/domains/product/locales/en/.agents/skills/kano-model/SKILL.md +370 -355
  414. package/domains/product/locales/en/.agents/skills/karpathy-guidelines/SKILL.md +36 -0
  415. package/domains/product/locales/en/.agents/skills/launch-checklist/SKILL.md +434 -419
  416. package/domains/product/locales/en/.agents/skills/moscow-prioritization/SKILL.md +407 -392
  417. package/domains/product/locales/en/.agents/skills/north-star-metric/SKILL.md +317 -301
  418. package/domains/product/locales/en/.agents/skills/okr-framework/SKILL.md +299 -284
  419. package/domains/product/locales/en/.agents/skills/opportunity-solution-tree/SKILL.md +472 -456
  420. package/domains/product/locales/en/.agents/skills/prd-template/SKILL.md +18 -258
  421. package/domains/product/locales/en/.agents/skills/prd-template-reference/SKILL.md +285 -0
  422. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/claude.json +16 -0
  423. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/copilot.json +16 -0
  424. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/gemini.json +16 -0
  425. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/kimi.yaml +15 -0
  426. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/openai.yaml +10 -0
  427. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/qwen.json +16 -0
  428. package/domains/product/locales/en/.agents/skills/prd-template-reference/agents/skill.yaml +22 -0
  429. package/domains/product/locales/en/.agents/skills/problem-statement/SKILL.md +327 -312
  430. package/domains/product/locales/en/.agents/skills/product-roadmap/SKILL.md +321 -305
  431. package/domains/product/locales/en/.agents/skills/product-vision/SKILL.md +410 -395
  432. package/domains/product/locales/en/.agents/skills/release-notes/SKILL.md +18 -258
  433. package/domains/product/locales/en/.agents/skills/release-notes-reference/SKILL.md +285 -0
  434. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/claude.json +16 -0
  435. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/copilot.json +16 -0
  436. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/gemini.json +16 -0
  437. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/kimi.yaml +14 -0
  438. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/openai.yaml +10 -0
  439. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/qwen.json +16 -0
  440. package/domains/product/locales/en/.agents/skills/release-notes-reference/agents/skill.yaml +21 -0
  441. package/domains/product/locales/en/.agents/skills/report-design/SKILL.md +17 -307
  442. package/domains/product/locales/en/.agents/skills/report-design-reference/SKILL.md +331 -0
  443. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/claude.json +17 -0
  444. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/copilot.json +17 -0
  445. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/gemini.json +17 -0
  446. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/kimi.yaml +15 -0
  447. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/openai.yaml +10 -0
  448. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/qwen.json +17 -0
  449. package/domains/product/locales/en/.agents/skills/report-design-reference/agents/skill.yaml +22 -0
  450. package/domains/product/locales/en/.agents/skills/rice-scoring/SKILL.md +266 -251
  451. package/domains/product/locales/en/.agents/skills/saas-metrics/SKILL.md +422 -404
  452. package/domains/product/locales/en/.agents/skills/session-prompt-generator/SKILL.md +474 -450
  453. package/domains/product/locales/en/.agents/skills/user-flow/SKILL.md +491 -476
  454. package/domains/product/locales/en/.agents/skills/user-interview-script/SKILL.md +314 -297
  455. package/domains/product/locales/en/.agents/skills/user-story/SKILL.md +401 -385
  456. package/domains/product/locales/en/.agents/skills/wsjf-scoring/SKILL.md +333 -315
  457. package/domains/product/locales/en/AGENTS.md +5 -0
  458. package/domains/product/locales/en/agents/auditor.md +76 -0
  459. package/domains/product/locales/en/agents/conductor.md +11 -0
  460. package/domains/product/locales/en/agents/data_analyst.md +11 -0
  461. package/domains/product/locales/en/agents/designer.md +11 -0
  462. package/domains/product/locales/en/agents/discovery.md +11 -0
  463. package/domains/product/locales/en/agents/layouter.md +11 -0
  464. package/domains/product/locales/en/agents/mediator.md +11 -0
  465. package/domains/product/locales/en/agents/pm.md +11 -0
  466. package/domains/product/locales/en/agents/product_strategist.md +11 -0
  467. package/domains/product/locales/en/agents/tech_lead.md +11 -0
  468. package/domains/product/locales/en/agents/ux_designer.md +11 -0
  469. package/domains/product/persona/persona-base.md +94 -0
  470. package/domains/product/pipeline.yaml +115 -0
  471. package/package.json +72 -70
@@ -1,314 +1,330 @@
1
- ---
2
- name: rfm-analysis
3
- description: Customer segmentation by recency, frequency, and monetary value
4
- ---
5
- # RFM Analysis — Customer Segmentation by Recency, Frequency, and Monetary Value
6
-
7
- ## When to Use
8
- - When building a retention strategy — to understand who to retain and who to reactivate.
9
- - When optimizing a marketing budget — to direct resources to the most valuable segments.
10
- - When launching personalized campaigns — different messaging for different segments.
11
- - When analyzing a customer base — identifying Champions, loyal, at-risk, and lost customers.
12
-
13
- ## Input
14
-
15
- | Field | Required | Description |
16
- |------|:-----------:|----------|
17
- | Business / Product | ✅ | What we are analyzing |
18
- | Business Model | ✅ | E-commerce / SaaS / Marketplace / Service |
19
- | Transaction Data | ⬚ | Table: customer, date, amount (if real data is available) |
20
- | Analysis Period | ⬚ | For what period (default — 12 months) |
21
- | Number of Customers | | Base size to calibrate the scale |
22
- | Average Check | ⬚ | For modeling, if real data is missing |
23
- | Purchase Frequency | ⬚ | Average frequency for modeling |
24
-
25
- > If mandatory fields are not provided **request them from the user** before starting the analysis. Do not make assumptions.
26
-
27
- > If real data is missingthe skill operates with **modeled data**, explicitly marked as hypothetical. The methodology remains applicable when real data becomes available.
28
-
29
- ## Data Sources
30
- 1. **Transactional data** — CRM, payment system, ERP (if provided).
31
- 2. **Web search** industry benchmarks (average check, frequency, retention rate).
32
- 3. **Industry reports** — typical RFM distributions for the given business type.
33
- 4. **Product analytics** user activity data (for SaaS logins, actions).
34
- 5. **Data from the user** exports from CRM, Google Analytics, payment provider.
35
-
36
- > When working with modeled data specify benchmark sources. Data older than 12 months must be marked ⚠️.
37
-
38
- ### Relationship with Other Skills
39
- | Skill | What We Take | When to Call |
40
- |------|-----------|----------------|
41
- | `web-research` | Industry benchmarks: avg check, frequency, retention | If there is no real data for modeling |
42
- | `cohort-analysis` | Retention curves for calibrating Recency thresholds (step 2) | If cohort data is available |
43
- | `competitive-analysis` | Competitor benchmarks for retention and LTV | To compare with market standards |
44
- | `icp-buyer-persona` | Champions profile → ICP enrichment (step 8) | After segmentation: Champions = ICP standard |
45
- | `unit-economics` | LTV per segment for calculating reactivation budget | To evaluate ROI by segments |
46
- | `customer-journey-mapping` | Churn points for At Risk / About to Sleep | To understand exactly where we are losing customers |
47
-
48
- ## Protocol
49
-
50
- ### Step 0Gathering Context
51
- 1. Check for the presence of mandatory data.
52
- 2. Determine the mode: **real data** or **modeled**.
53
- 3. Record the analysis period.
54
- 4. Define the adaptation for the business model:
55
-
56
- | Business Model | Recency = | Frequency = | Monetary = |
57
- |---------------|-----------|-------------|------------|
58
- | E-commerce | Days since the last order | Number of orders | Total order amount |
59
- | SaaS (subscription) | Days since the last login/action | Number of active months | MRR or subscription plan |
60
- | SaaS (usage-based) | Days since the last usage | Number of sessions/actions | Total payment amount |
61
- | Marketplace | Days since the last transaction | Number of transactions | GMV (Gross Merchandise Volume) |
62
- | Service (offline) | Days since the last visit | Number of visits | Total check amount |
63
-
64
- ### Step 1 — Defining the Data Scope
65
- - Define the unit of analysis: customer / account / subscriber.
66
- - Define a "transaction" for the given business model (see table in step 0).
67
- - Define the period: start and end dates.
68
- - Exclude anomalies: test accounts, refunds, abnormal amounts (>3σ).
69
-
70
- ### Step 2 Recency Score (R)
71
- 1. Calculate the days since the last transaction for each customer.
72
- 2. Define thresholds based on the business cycle:
73
-
74
- | Score | E-commerce | SaaS (subscription) | Marketplace |
75
- |:-----:|:----------:|:---------------:|:-----------:|
76
- | R=5 | 0-30 days | 0-7 days | 0-14 days |
77
- | R=4 | 31-90 | 8-30 | 15-45 |
78
- | R=3 | 91-180 | 31-60 | 46-90 |
79
- | R=2 | 181-365 | 61-120 | 91-180 |
80
- | R=1 | >365 | >120 | >180 |
81
-
82
- > Thresholds are guidelines. Calibrate to the actual distribution (quintiles) if data is available.
83
-
84
- ### Step 3 Frequency Score (F)
85
- 1. Count the number of transactions per customer for the period.
86
- 2. Divide into 5 groups (quintiles or business logic).
87
- 3. F=5: top-20% by frequency. F=1: one-time / minimal.
88
-
89
- ### Step 4 — Monetary Score (M)
90
- 1. Calculate the total amount per customer for the period.
91
- 2. Divide into 5 groups (quintiles or business logic).
92
- 3. M=5: top-20% by amount. M=1: minimal spending.
93
- 4. For fixed subscription SaaS: replace M with an **Engagement Score** (depth of use: features, integrations, number of users in the account).
94
-
95
- ### Step 5 Segmentation
96
- Assign an RFM code (111-555) to each customer and group them:
97
-
98
- | Segment | RFM Range | Description | Typical Share |
99
- |---------|:------------:|----------|:-------------:|
100
- | **Champions** | R=5, F=4-5, M=4-5 | Best customers, buy frequently and a lot | 5-10% |
101
- | **Loyal Customers** | R=4-5, F=3-5, M=3-5 | Regular and valuable | 10-15% |
102
- | **Potential Loyalists** | R=4-5, F=1-3, M=1-3 | New with growth potential | 10-15% |
103
- | **Recent Customers** | R=5, F=1, M=1 | Just arrived, first purchase | 5-10% |
104
- | **Promising** | R=3-4, F=1-2, M=1-2 | Show interest, need activation | 10-15% |
105
- | **Need Attention** | R=3, F=3, M=3 | Average, at risk of leaving | 5-10% |
106
- | **About to Sleep** | R=2-3, F=1-2, M=1-2 | Losing interest | 10-15% |
107
- | **At Risk** | R=1-2, F=3-5, M=3-5 | Were active and valuable, leaving | 5-10% |
108
- | **Cannot Lose** | R=1, F=5, M=5 | VIPs who left critical to win back | 1-3% |
109
- | **Hibernating** | R=1-2, F=1-2, M=1-2 | Long inactive, low value | 10-15% |
110
- | **Lost** | R=1, F=1, M=1 | Lost | 5-10% |
111
-
112
- ### Step 6 Evaluating Segment Value
113
- For each segment, calculate:
114
-
115
- | Segment | % of base | % of revenue | Avg LTV | Revenue/customer | Budget Priority |
116
- |---------|:------:|:---------:|:-------:|:--------------:|:-----------------:|
117
- | Champions | X% | X% | $XXX | $XXX | High (retention) |
118
- | At Risk | X% | X% | $XXX | $XXX | High (reactivation) |
119
- | Lost | X% | X% | $XXX | $XXX | Low (let go) |
120
-
121
- **Pareto Principle:** usually Champions + Loyal = 15-25% of the base, but 60-80% of revenue. If the distribution differs — record it as an anomaly.
122
-
123
- ### Step 7 Strategy and Personalization by Segments
124
-
125
- | Segment | Goal | Action | Channel | Tone | Offer | KPI |
126
- |---------|------|----------|-------|-----|-------------|-----|
127
- | Champions | Retention + advocacy | Exclusive access, referral program | Email, personal | Appreciative, VIP | Early access, referral bonus | NPS, referral rate |
128
- | Loyal | Upsell + loyalty | Cross-selling, loyalty program | Email, in-app | Friendly, expert | Upgrade, bundle | ARPU, retention |
129
- | Potential Loyalists | Engagement + onboarding | Guided onboarding, educational email series | Email, in-app | Supportive | Bonus for the 2nd purchase | F→2+, activation |
130
- | Recent | Activation | Welcome series, aha-moment | Email, push | Welcoming | Promo code for the 2nd order | Day-7 retention |
131
- | At Risk | Reactivation | "We miss you", special offer | Email, SMS | Caring, urgent | 20% discount, personal offer | Win-back rate |
132
- | Cannot Lose | Urgent reactivation | Manager call, personal offer | Call, email | Personal, VIP | Max discount, upgrade | Win-back rate |
133
- | Lost | Win-back or let go | Final email, churn reason survey | Email | Neutral | Survey + last chance | Churn reason data |
134
-
135
- ### Step 8 Migration Analysis
136
- Track the movement of customers between segments:
137
-
138
- 1. Compare RFM segments for the current and previous periods:
139
-
140
- | Migration | Count | % | Interpretation | Action |
141
- |----------|:----------:|:-:|---------------|----------|
142
- | Champions → At Risk | [N] | X% | Loss of best customers — critical | Immediate reactivation |
143
- | Potential Loyalists Loyal | [N] | X% | Healthy growth onboarding works | Scale the approach |
144
- | At Risk Lost | [N] | X% | Reactivation failed | Revise strategy |
145
- | Recent Promising | [N] | X% | Activation works | Continue |
146
-
147
- 2. Key migrations to monitor:
148
- - **Negative:** Champions/Loyal At Risk, At Risk Lost, Potential Hibernating.
149
- - **Positive:** Recent Potential Loyal Champions.
150
- 3. Recommended recalculation frequency:
151
-
152
- | Business Model | Frequency |
153
- |---------------|---------|
154
- | E-commerce (FMCG) | Weekly |
155
- | E-commerce (high-ticket) | Monthly |
156
- | SaaS | Monthly |
157
- | Marketplace | Bi-weekly |
158
- | Service (offline) | Quarterly |
159
-
160
- ## Example E-commerce: Sports Supplements Store
161
-
162
- **Context:** Online sports supplements store, B2C, 12,000 customers, 12-month period. Average check $45, average frequency 3.2 purchases/year.
163
-
164
- ### Evaluation Scale
165
-
166
- | Metric | 5 | 4 | 3 | 2 | 1 |
167
- |---------|:-:|:-:|:-:|:-:|:-:|
168
- | **Recency** (days) | 0-30 | 31-60 | 61-120 | 121-240 | >240 |
169
- | **Frequency** (orders) | ≥6 | 4-5 | 3 | 2 | 1 |
170
- | **Monetary** ($) | >$300 | $200-300 | $100-200 | $50-100 | <$50 |
171
-
172
- ### Segments
173
-
174
- | Segment | % of base | % of rev. | Count | Avg LTV | Strategy |
175
- |---------|:------:|:---------:|:------:|:-------:|-----------|
176
- | Champions | 8% | 35% | 960 | $520 | Referral program, VIP access |
177
- | Loyal | 12% | 28% | 1440 | $340 | Upsell to subscription, loyalty program |
178
- | Potential Loyalists | 11% | 8% | 1320 | $105 | Onboarding: "3rd order = free shipping" |
179
- | At Risk | 7% | 12% | 840 | $250 | "We miss you" + 15% discount on favorite category |
180
- | Cannot Lose | 2% | 5% | 240 | $360 | Manager call, personal offer |
181
- | Lost | 15% | 2% | 1800 | $25 | Final email + churn reason survey |
182
-
183
- **Pareto Check:** Champions + Loyal = 20% of base, 63% of revenue ✅ (healthy distribution).
184
-
185
- ### Migration Analysis (MoM)
186
-
187
- | Migration | Count | % | Signal |
188
- |----------|:------:|:-:|--------|
189
- | Champions → At Risk | 45 | 4.7% | 🔴 Loss of VIPs — launch win-back |
190
- | Potential Loyal | 180 | 13.6% | 🟢 Onboarding works |
191
- | At Risk → Lost | 120 | 14.3% | 🟡 Reactivation isn't effective enough |
192
-
193
- **Recommendation:** Champions At Risk = 4.7% above benchmark (3%). Investigate: price? quality? competitor?
194
-
195
- ## Validation (Quality Gate)
196
-
197
- - [ ] All three metrics (R, F, M) are defined with clear thresholds adapted to the business model
198
- - [ ] Quintile thresholds are justified by the business cycle (or real data quintiles)
199
- - [ ] A minimum of 6 named segments with RFM ranges are outlined
200
- - [ ] For each segment: strategy, action, channel, tone, KPI
201
- - [ ] Segment value is evaluated: % of base, % of revenue, average LTV
202
- - [ ] Pareto check: Champions + Loyal ≈ 15-25% of base, 60-80% of revenue
203
- - [ ] Migration analysis: key transitions between segments are recorded
204
- - [ ] Recalculation frequency is recommended for the given business model
205
- - [ ] If the data is modeled it is explicitly stated with benchmark sources
206
- - [ ] No logical contradictions in segmentation (RFM codes are correct)
207
- - [ ] Data sources are specified; data older than 12 months is marked ⚠️
208
-
209
- > If validation failsiterate until it passes, rather than handing off.
210
-
211
- ## Handoff
212
- The output of `$rfm-analysis` is an input for:
213
- - **Strategist / Mediator** customer segments for strategic decisions.
214
- - **`unit-economics`** LTV by segments, retention rates, reactivation budget.
215
- - **`cohort-analysis`** cohort grouping within segments.
216
- - **`customer-journey-mapping`** churn points for At Risk / About to Sleep.
217
- - **`icp-buyer-persona`** Champions profile = ICP standard.
218
-
219
- Handoff format: table of segments (% of base, % of revenue, LTV) + strategies + migration analysis. When transferring — use `$handoff`.
220
-
221
- ## Anti-patterns
222
-
223
- | Error | Why it's bad | How to do it right |
224
- |--------|-------------|---------------|
225
- | Identical thresholds for all businesses | SaaS and e-commerce have different buying cycles | Calibrate thresholds to the business model (table in step 0) |
226
- | Modeled data without labels | Decisions based on hypotheses, not facts | Explicitly mark, specify benchmark sources |
227
- | Too many segments (>11) | Impossible to create a unique strategy for each | 6-11 named segments |
228
- | Segmentation without a strategy | RFM for the sake of RFM, no actionable insights | Every segment = goal + action + channel + KPI |
229
- | Ignoring M for subscriptions | Monetary is less variable in SaaS | Replace M with Engagement Score for SaaS |
230
- | Static analysis without migration | Cannot see how customers move between segments | Migration analysis: negative and positive transitions |
231
- | No personalization | Identical message for Champions and At Risk | Different tone, channel, offer, frequency per segment |
232
- | Segments without value | Unclear where to allocate budget | % of base + % of revenue + LTV per segment + Pareto check |
233
- | Benchmarks without a source | Impossible to verify | Every benchmark with a source and date |
234
-
235
- ## Output Template
236
-
237
- ```markdown
238
- ### RFM Analysis — [Business / Product]
239
-
240
- **Business Model:** [Model]
241
- **Analysis Period:** [Date Date]
242
- **Base Size:** [N customers]
243
- **Data Type:** Real / Modeled (Benchmark: [Source])
244
- **Date:** [Date]
245
-
246
- ---
247
-
248
- #### Metric Adaptation
249
-
250
- | Metric | Definition for the Given Business |
251
- |---------|-------------------------------|
252
- | Recency | [What is measured: days since the last X] |
253
- | Frequency | [What is counted: number of X over the period] |
254
- | Monetary | [What is counted: total amount of X / engagement score] |
255
-
256
- #### Assessment Scale
257
-
258
- | Metric | Score 5 | Score 4 | Score 3 | Score 2 | Score 1 |
259
- |---------|:-------:|:-------:|:-------:|:-------:|:-------:|
260
- | **Recency** | 0-[X] | [X]-[X] | [X]-[X] | [X]-[X] | >[X] |
261
- | **Frequency** | >[X] | [X]-[X] | [X]-[X] | [X]-[X] | [X] |
262
- | **Monetary** | >[X] | [X]-[X] | [X]-[X] | [X]-[X] | <[X] |
263
-
264
- ---
265
-
266
- #### Customer Segments
267
-
268
- | Segment | RFM Range | % Base | % Rev. | Count | Avg LTV | Priority |
269
- |---------|:------------:|:------:|:---------:|:------:|:-------:|:---------:|
270
- | Champions | R5, F4-5, M4-5 | X% | X% | [N] | $XXX | High |
271
- | Loyal | R4-5, F3-5, M3-5 | X% | X% | [N] | $XXX | High |
272
- | ... | ... | ... | ... | ... | ... | ... |
273
-
274
- **Pareto Check:** Champions + Loyal = X% of base, X% of revenue [Healthy / Anomalous]
275
-
276
- ---
277
-
278
- #### Strategy and Personalization
279
-
280
- | Segment | Goal | Action | Channel | Tone | Offer | KPI |
281
- |---------|------|----------|-------|-----|-------------|-----|
282
- | Champions | [Goal] | [Action] | [Channel] | [Tone] | [Offer] | [KPI] |
283
- | At Risk | [Goal] | [Action] | [Channel] | [Tone] | [Offer] | [KPI] |
284
-
285
- ---
286
-
287
- #### Migration Analysis
288
-
289
- | Migration | Count | % of Segment | Signal | Action |
290
- |----------|:------:|:----------:|:------:|----------|
291
- | Champions → At Risk | [N] | X% | 🔴 | [What to do] |
292
- | Potential → Loyal | [N] | X% | 🟢 | [What to do] |
293
- | At Risk → Lost | [N] | X% | 🟡 | [What to do] |
294
-
295
- **Recalculation Frequency:** [weekly / monthly / quarterly]
296
-
297
- ---
298
-
299
- #### Recommendations
300
- 1. **Immediate:** [At Risk / Cannot Lose — what to do now]
301
- 2. **Medium-term:** [Potential Loyalists — how to activate]
302
- 3. **Long-term:** [Champions — loyalty program / advocacy]
303
- 4. **Recalculation:** every [N] days
304
-
305
- ---
306
-
307
- #### Sources and Assumptions
308
-
309
- | # | Fact / Assumption | Source | Date | Reliability |
310
- |---|-------------------|----------|------|:-------------:|
311
- | 1 | [Fact] | [Source] | [Date] | ✅ / ⚠️ / 🔮 |
312
-
313
- Legend: ✅ Verified (real data) | ⚠️ Estimated (benchmark) | 🔮 Assumed (modeling)
314
- ```
1
+ ---
2
+ name: rfm-analysis
3
+ description: Customer segmentation by recency, frequency, and monetary value
4
+ type: triggered
5
+ domain: analytics
6
+ owners:
7
+ - data_analyst
8
+ gates:
9
+ - DATA_ANALYST
10
+ tech: []
11
+ topic: []
12
+ triggers:
13
+ - "rfm-analysis"
14
+ - "RFM"
15
+ - "RFM-анализ"
16
+ - "сегментация клиентов"
17
+ related: []
18
+ budget_lines: 330
19
+ schema_version: 1
20
+ ---
21
+ # RFM Analysis Customer Segmentation by Recency, Frequency, and Monetary Value
22
+
23
+ ## When to Use
24
+ - When building a retention strategy — to understand who to retain and who to reactivate.
25
+ - When optimizing a marketing budgetto direct resources to the most valuable segments.
26
+ - When launching personalized campaigns — different messaging for different segments.
27
+ - When analyzing a customer baseidentifying Champions, loyal, at-risk, and lost customers.
28
+
29
+ ## Input
30
+
31
+ | Field | Required | Description |
32
+ |------|:-----------:|----------|
33
+ | Business / Product | | What we are analyzing |
34
+ | Business Model | | E-commerce / SaaS / Marketplace / Service |
35
+ | Transaction Data | ⬚ | Table: customer, date, amount (if real data is available) |
36
+ | Analysis Period | | For what period (default 12 months) |
37
+ | Number of Customers | ⬚ | Base size to calibrate the scale |
38
+ | Average Check | ⬚ | For modeling, if real data is missing |
39
+ | Purchase Frequency | | Average frequency for modeling |
40
+
41
+ > If mandatory fields are not provided **request them from the user** before starting the analysis. Do not make assumptions.
42
+
43
+ > If real data is missing the skill operates with **modeled data**, explicitly marked as hypothetical. The methodology remains applicable when real data becomes available.
44
+
45
+ ## Data Sources
46
+ 1. **Transactional data** CRM, payment system, ERP (if provided).
47
+ 2. **Web search** — industry benchmarks (average check, frequency, retention rate).
48
+ 3. **Industry reports** — typical RFM distributions for the given business type.
49
+ 4. **Product analytics** — user activity data (for SaaS — logins, actions).
50
+ 5. **Data from the user** exports from CRM, Google Analytics, payment provider.
51
+
52
+ > When working with modeled data specify benchmark sources. Data older than 12 months must be marked ⚠️.
53
+
54
+ ### Relationship with Other Skills
55
+ | Skill | What We Take | When to Call |
56
+ |------|-----------|----------------|
57
+ | `web-research` | Industry benchmarks: avg check, frequency, retention | If there is no real data — for modeling |
58
+ | `cohort-analysis` | Retention curves for calibrating Recency thresholds (step 2) | If cohort data is available |
59
+ | `competitive-analysis` | Competitor benchmarks for retention and LTV | To compare with market standards |
60
+ | `icp-buyer-persona` | Champions profile ICP enrichment (step 8) | After segmentation: Champions = ICP standard |
61
+ | `unit-economics` | LTV per segment for calculating reactivation budget | To evaluate ROI by segments |
62
+ | `customer-journey-mapping` | Churn points for At Risk / About to Sleep | To understand exactly where we are losing customers |
63
+
64
+ ## Protocol
65
+
66
+ ### Step 0 Gathering Context
67
+ 1. Check for the presence of mandatory data.
68
+ 2. Determine the mode: **real data** or **modeled**.
69
+ 3. Record the analysis period.
70
+ 4. Define the adaptation for the business model:
71
+
72
+ | Business Model | Recency = | Frequency = | Monetary = |
73
+ |---------------|-----------|-------------|------------|
74
+ | E-commerce | Days since the last order | Number of orders | Total order amount |
75
+ | SaaS (subscription) | Days since the last login/action | Number of active months | MRR or subscription plan |
76
+ | SaaS (usage-based) | Days since the last usage | Number of sessions/actions | Total payment amount |
77
+ | Marketplace | Days since the last transaction | Number of transactions | GMV (Gross Merchandise Volume) |
78
+ | Service (offline) | Days since the last visit | Number of visits | Total check amount |
79
+
80
+ ### Step 1 Defining the Data Scope
81
+ - Define the unit of analysis: customer / account / subscriber.
82
+ - Define a "transaction" for the given business model (see table in step 0).
83
+ - Define the period: start and end dates.
84
+ - Exclude anomalies: test accounts, refunds, abnormal amounts (>3σ).
85
+
86
+ ### Step 2 Recency Score (R)
87
+ 1. Calculate the days since the last transaction for each customer.
88
+ 2. Define thresholds based on the business cycle:
89
+
90
+ | Score | E-commerce | SaaS (subscription) | Marketplace |
91
+ |:-----:|:----------:|:---------------:|:-----------:|
92
+ | R=5 | 0-30 days | 0-7 days | 0-14 days |
93
+ | R=4 | 31-90 | 8-30 | 15-45 |
94
+ | R=3 | 91-180 | 31-60 | 46-90 |
95
+ | R=2 | 181-365 | 61-120 | 91-180 |
96
+ | R=1 | >365 | >120 | >180 |
97
+
98
+ > Thresholds are guidelines. Calibrate to the actual distribution (quintiles) if data is available.
99
+
100
+ ### Step 3 Frequency Score (F)
101
+ 1. Count the number of transactions per customer for the period.
102
+ 2. Divide into 5 groups (quintiles or business logic).
103
+ 3. F=5: top-20% by frequency. F=1: one-time / minimal.
104
+
105
+ ### Step 4 Monetary Score (M)
106
+ 1. Calculate the total amount per customer for the period.
107
+ 2. Divide into 5 groups (quintiles or business logic).
108
+ 3. M=5: top-20% by amount. M=1: minimal spending.
109
+ 4. For fixed subscription SaaS: replace M with an **Engagement Score** (depth of use: features, integrations, number of users in the account).
110
+
111
+ ### Step 5 — Segmentation
112
+ Assign an RFM code (111-555) to each customer and group them:
113
+
114
+ | Segment | RFM Range | Description | Typical Share |
115
+ |---------|:------------:|----------|:-------------:|
116
+ | **Champions** | R=5, F=4-5, M=4-5 | Best customers, buy frequently and a lot | 5-10% |
117
+ | **Loyal Customers** | R=4-5, F=3-5, M=3-5 | Regular and valuable | 10-15% |
118
+ | **Potential Loyalists** | R=4-5, F=1-3, M=1-3 | New with growth potential | 10-15% |
119
+ | **Recent Customers** | R=5, F=1, M=1 | Just arrived, first purchase | 5-10% |
120
+ | **Promising** | R=3-4, F=1-2, M=1-2 | Show interest, need activation | 10-15% |
121
+ | **Need Attention** | R=3, F=3, M=3 | Average, at risk of leaving | 5-10% |
122
+ | **About to Sleep** | R=2-3, F=1-2, M=1-2 | Losing interest | 10-15% |
123
+ | **At Risk** | R=1-2, F=3-5, M=3-5 | Were active and valuable, leaving | 5-10% |
124
+ | **Cannot Lose** | R=1, F=5, M=5 | VIPs who left — critical to win back | 1-3% |
125
+ | **Hibernating** | R=1-2, F=1-2, M=1-2 | Long inactive, low value | 10-15% |
126
+ | **Lost** | R=1, F=1, M=1 | Lost | 5-10% |
127
+
128
+ ### Step 6 Evaluating Segment Value
129
+ For each segment, calculate:
130
+
131
+ | Segment | % of base | % of revenue | Avg LTV | Revenue/customer | Budget Priority |
132
+ |---------|:------:|:---------:|:-------:|:--------------:|:-----------------:|
133
+ | Champions | X% | X% | $XXX | $XXX | High (retention) |
134
+ | At Risk | X% | X% | $XXX | $XXX | High (reactivation) |
135
+ | Lost | X% | X% | $XXX | $XXX | Low (let go) |
136
+
137
+ **Pareto Principle:** usually Champions + Loyal = 15-25% of the base, but 60-80% of revenue. If the distribution differs — record it as an anomaly.
138
+
139
+ ### Step 7 — Strategy and Personalization by Segments
140
+
141
+ | Segment | Goal | Action | Channel | Tone | Offer | KPI |
142
+ |---------|------|----------|-------|-----|-------------|-----|
143
+ | Champions | Retention + advocacy | Exclusive access, referral program | Email, personal | Appreciative, VIP | Early access, referral bonus | NPS, referral rate |
144
+ | Loyal | Upsell + loyalty | Cross-selling, loyalty program | Email, in-app | Friendly, expert | Upgrade, bundle | ARPU, retention |
145
+ | Potential Loyalists | Engagement + onboarding | Guided onboarding, educational email series | Email, in-app | Supportive | Bonus for the 2nd purchase | F→2+, activation |
146
+ | Recent | Activation | Welcome series, aha-moment | Email, push | Welcoming | Promo code for the 2nd order | Day-7 retention |
147
+ | At Risk | Reactivation | "We miss you", special offer | Email, SMS | Caring, urgent | 20% discount, personal offer | Win-back rate |
148
+ | Cannot Lose | Urgent reactivation | Manager call, personal offer | Call, email | Personal, VIP | Max discount, upgrade | Win-back rate |
149
+ | Lost | Win-back or let go | Final email, churn reason survey | Email | Neutral | Survey + last chance | Churn reason data |
150
+
151
+ ### Step 8 — Migration Analysis
152
+ Track the movement of customers between segments:
153
+
154
+ 1. Compare RFM segments for the current and previous periods:
155
+
156
+ | Migration | Count | % | Interpretation | Action |
157
+ |----------|:----------:|:-:|---------------|----------|
158
+ | Champions At Risk | [N] | X% | Loss of best customers — critical | Immediate reactivation |
159
+ | Potential Loyalists → Loyal | [N] | X% | Healthy growth — onboarding works | Scale the approach |
160
+ | At Risk Lost | [N] | X% | Reactivation failed | Revise strategy |
161
+ | Recent → Promising | [N] | X% | Activation works | Continue |
162
+
163
+ 2. Key migrations to monitor:
164
+ - **Negative:** Champions/Loyal → At Risk, At Risk → Lost, Potential → Hibernating.
165
+ - **Positive:** Recent → Potential → Loyal → Champions.
166
+ 3. Recommended recalculation frequency:
167
+
168
+ | Business Model | Frequency |
169
+ |---------------|---------|
170
+ | E-commerce (FMCG) | Weekly |
171
+ | E-commerce (high-ticket) | Monthly |
172
+ | SaaS | Monthly |
173
+ | Marketplace | Bi-weekly |
174
+ | Service (offline) | Quarterly |
175
+
176
+ ## Example E-commerce: Sports Supplements Store
177
+
178
+ **Context:** Online sports supplements store, B2C, 12,000 customers, 12-month period. Average check $45, average frequency 3.2 purchases/year.
179
+
180
+ ### Evaluation Scale
181
+
182
+ | Metric | 5 | 4 | 3 | 2 | 1 |
183
+ |---------|:-:|:-:|:-:|:-:|:-:|
184
+ | **Recency** (days) | 0-30 | 31-60 | 61-120 | 121-240 | >240 |
185
+ | **Frequency** (orders) | ≥6 | 4-5 | 3 | 2 | 1 |
186
+ | **Monetary** ($) | >$300 | $200-300 | $100-200 | $50-100 | <$50 |
187
+
188
+ ### Segments
189
+
190
+ | Segment | % of base | % of rev. | Count | Avg LTV | Strategy |
191
+ |---------|:------:|:---------:|:------:|:-------:|-----------|
192
+ | Champions | 8% | 35% | 960 | $520 | Referral program, VIP access |
193
+ | Loyal | 12% | 28% | 1440 | $340 | Upsell to subscription, loyalty program |
194
+ | Potential Loyalists | 11% | 8% | 1320 | $105 | Onboarding: "3rd order = free shipping" |
195
+ | At Risk | 7% | 12% | 840 | $250 | "We miss you" + 15% discount on favorite category |
196
+ | Cannot Lose | 2% | 5% | 240 | $360 | Manager call, personal offer |
197
+ | Lost | 15% | 2% | 1800 | $25 | Final email + churn reason survey |
198
+
199
+ **Pareto Check:** Champions + Loyal = 20% of base, 63% of revenue (healthy distribution).
200
+
201
+ ### Migration Analysis (MoM)
202
+
203
+ | Migration | Count | % | Signal |
204
+ |----------|:------:|:-:|--------|
205
+ | Champions At Risk | 45 | 4.7% | 🔴 Loss of VIPs launch win-back |
206
+ | Potential Loyal | 180 | 13.6% | 🟢 Onboarding works |
207
+ | At Risk Lost | 120 | 14.3% | 🟡 Reactivation isn't effective enough |
208
+
209
+ **Recommendation:** Champions At Risk = 4.7% above benchmark (3%). Investigate: price? quality? competitor?
210
+
211
+ ## Validation (Quality Gate)
212
+
213
+ - [ ] All three metrics (R, F, M) are defined with clear thresholds adapted to the business model
214
+ - [ ] Quintile thresholds are justified by the business cycle (or real data quintiles)
215
+ - [ ] A minimum of 6 named segments with RFM ranges are outlined
216
+ - [ ] For each segment: strategy, action, channel, tone, KPI
217
+ - [ ] Segment value is evaluated: % of base, % of revenue, average LTV
218
+ - [ ] Pareto check: Champions + Loyal ≈ 15-25% of base, 60-80% of revenue
219
+ - [ ] Migration analysis: key transitions between segments are recorded
220
+ - [ ] Recalculation frequency is recommended for the given business model
221
+ - [ ] If the data is modeled — it is explicitly stated with benchmark sources
222
+ - [ ] No logical contradictions in segmentation (RFM codes are correct)
223
+ - [ ] Data sources are specified; data older than 12 months is marked ⚠️
224
+
225
+ > If validation fails iterate until it passes, rather than handing off.
226
+
227
+ ## Handoff
228
+ The output of `$rfm-analysis` is an input for:
229
+ - **Strategist / Mediator** customer segments for strategic decisions.
230
+ - **`unit-economics`** LTV by segments, retention rates, reactivation budget.
231
+ - **`cohort-analysis`** cohort grouping within segments.
232
+ - **`customer-journey-mapping`** churn points for At Risk / About to Sleep.
233
+ - **`icp-buyer-persona`**Champions profile = ICP standard.
234
+
235
+ Handoff format: table of segments (% of base, % of revenue, LTV) + strategies + migration analysis. When transferring — use `$handoff`.
236
+
237
+ ## Anti-patterns
238
+
239
+ | Error | Why it's bad | How to do it right |
240
+ |--------|-------------|---------------|
241
+ | Identical thresholds for all businesses | SaaS and e-commerce have different buying cycles | Calibrate thresholds to the business model (table in step 0) |
242
+ | Modeled data without labels | Decisions based on hypotheses, not facts | Explicitly mark, specify benchmark sources |
243
+ | Too many segments (>11) | Impossible to create a unique strategy for each | 6-11 named segments |
244
+ | Segmentation without a strategy | RFM for the sake of RFM, no actionable insights | Every segment = goal + action + channel + KPI |
245
+ | Ignoring M for subscriptions | Monetary is less variable in SaaS | Replace M with Engagement Score for SaaS |
246
+ | Static analysis without migration | Cannot see how customers move between segments | Migration analysis: negative and positive transitions |
247
+ | No personalization | Identical message for Champions and At Risk | Different tone, channel, offer, frequency per segment |
248
+ | Segments without value | Unclear where to allocate budget | % of base + % of revenue + LTV per segment + Pareto check |
249
+ | Benchmarks without a source | Impossible to verify | Every benchmark — with a source and date |
250
+
251
+ ## Output Template
252
+
253
+ ```markdown
254
+ ### RFM Analysis [Business / Product]
255
+
256
+ **Business Model:** [Model]
257
+ **Analysis Period:** [Date — Date]
258
+ **Base Size:** [N customers]
259
+ **Data Type:** Real / Modeled (Benchmark: [Source])
260
+ **Date:** [Date]
261
+
262
+ ---
263
+
264
+ #### Metric Adaptation
265
+
266
+ | Metric | Definition for the Given Business |
267
+ |---------|-------------------------------|
268
+ | Recency | [What is measured: days since the last X] |
269
+ | Frequency | [What is counted: number of X over the period] |
270
+ | Monetary | [What is counted: total amount of X / engagement score] |
271
+
272
+ #### Assessment Scale
273
+
274
+ | Metric | Score 5 | Score 4 | Score 3 | Score 2 | Score 1 |
275
+ |---------|:-------:|:-------:|:-------:|:-------:|:-------:|
276
+ | **Recency** | 0-[X] | [X]-[X] | [X]-[X] | [X]-[X] | >[X] |
277
+ | **Frequency** | >[X] | [X]-[X] | [X]-[X] | [X]-[X] | [X] |
278
+ | **Monetary** | >[X] | [X]-[X] | [X]-[X] | [X]-[X] | <[X] |
279
+
280
+ ---
281
+
282
+ #### Customer Segments
283
+
284
+ | Segment | RFM Range | % Base | % Rev. | Count | Avg LTV | Priority |
285
+ |---------|:------------:|:------:|:---------:|:------:|:-------:|:---------:|
286
+ | Champions | R5, F4-5, M4-5 | X% | X% | [N] | $XXX | High |
287
+ | Loyal | R4-5, F3-5, M3-5 | X% | X% | [N] | $XXX | High |
288
+ | ... | ... | ... | ... | ... | ... | ... |
289
+
290
+ **Pareto Check:** Champions + Loyal = X% of base, X% of revenue → [Healthy / Anomalous]
291
+
292
+ ---
293
+
294
+ #### Strategy and Personalization
295
+
296
+ | Segment | Goal | Action | Channel | Tone | Offer | KPI |
297
+ |---------|------|----------|-------|-----|-------------|-----|
298
+ | Champions | [Goal] | [Action] | [Channel] | [Tone] | [Offer] | [KPI] |
299
+ | At Risk | [Goal] | [Action] | [Channel] | [Tone] | [Offer] | [KPI] |
300
+
301
+ ---
302
+
303
+ #### Migration Analysis
304
+
305
+ | Migration | Count | % of Segment | Signal | Action |
306
+ |----------|:------:|:----------:|:------:|----------|
307
+ | Champions At Risk | [N] | X% | 🔴 | [What to do] |
308
+ | Potential → Loyal | [N] | X% | 🟢 | [What to do] |
309
+ | At Risk Lost | [N] | X% | 🟡 | [What to do] |
310
+
311
+ **Recalculation Frequency:** [weekly / monthly / quarterly]
312
+
313
+ ---
314
+
315
+ #### Recommendations
316
+ 1. **Immediate:** [At Risk / Cannot Lose — what to do now]
317
+ 2. **Medium-term:** [Potential Loyalists — how to activate]
318
+ 3. **Long-term:** [Champions — loyalty program / advocacy]
319
+ 4. **Recalculation:** every [N] days
320
+
321
+ ---
322
+
323
+ #### Sources and Assumptions
324
+
325
+ | # | Fact / Assumption | Source | Date | Reliability |
326
+ |---|-------------------|----------|------|:-------------:|
327
+ | 1 | [Fact] | [Source] | [Date] | ✅ / ⚠️ / 🔮 |
328
+
329
+ Legend: ✅ Verified (real data) | ⚠️ Estimated (benchmark) | 🔮 Assumed (modeling)
330
+ ```