code-ai-installer 4.0.0 → 4.0.1-b

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 +44 -6
  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 +14 -3
  65. package/dist/mcp_setup.js +15 -6
  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,404 +1,422 @@
1
- ---
2
- name: saas-metrics
3
- description: B2B SaaS metrics — MRR/ARR, gross/net churn, NRR, LTV/CAC, Payback, Rule of 40, Magic Number
4
- ---
5
- # SaaS Metrics (B2B)
6
-
7
- > **Category:** Metrics · **Slug:** `saas-metrics`
8
-
9
- ## When to Use
10
-
11
- - For board / investor reporting — standard SaaS health view.
12
- - For PRD Success Criteria — how a PM initiative will affect MRR/NRR/churn.
13
- - For unit economics evaluation — sustainable growth.
14
- - For strategic decisions — pricing, segment focus, expansion.
15
-
16
- ## Input
17
-
18
- | Field | Required | Description |
19
- |-------|:--------:|-------------|
20
- | Finance data | ✅ | Subscription revenue, billing history |
21
- | CRM data | ✅ | Account status, cohort, upgrades/downgrades |
22
- | Customer data | ✅ | Cohorts, churn events, contract terms |
23
- | Costs | ✅ | CAC (S&M spend per acquired), product costs |
24
- | Period | ✅ | Monthly / quarterly view |
25
-
26
- ## Data Sources
27
-
28
- 1. Billing system (Stripe, Chargebee, etc.)
29
- 2. CRM (Salesforce, HubSpot)
30
- 3. Finance (ERP, spreadsheets)
31
- 4. Analytics (usage data for churn prediction)
32
-
33
- ### Related Skills
34
-
35
- | Skill | What we take | When to invoke |
36
- |-------|-------------|----------------|
37
- | `aarrr-metrics` | Funnel view | Complement AARRR |
38
- | `north-star-metric` | NSM alignment | NSM is often a derivative SaaS metric |
39
- | `hypothesis-template` | Impact modeling | For PRD |
40
- | `unit-economics` (if available) | Deep unit view | Alternative / complement |
41
-
42
- ## Core Metrics
43
-
44
- ### Revenue
45
-
46
- - **MRR (Monthly Recurring Revenue)** — sum of all active monthly subscriptions (normalized if annual / quarterly)
47
- - New MRR (from new customers)
48
- - Expansion MRR (upsells, add-ons)
49
- - Contraction MRR (downgrades)
50
- - Churn MRR (lost to cancellation)
51
- - Reactivation MRR (returning customers)
52
- - **ARR (Annual Recurring Revenue)** — MRR × 12
53
- - **Net New MRR** = New + Expansion Contraction − Churn
54
-
55
- ### Churn / Retention
56
-
57
- - **Gross Customer Churn** customers lost / total at start
58
- - **Net Customer Churn** (lost reactivated) / total
59
- - **Gross Revenue Churn** — MRR lost / total MRR at start
60
- - **Net Revenue Churn** — (MRR lost − expansion) / total MRR
61
- - **Can be negative** (key B2B SaaS metric — «negative churn» = expansion > churn)
62
-
63
- ### NRR (Net Revenue Retention)
64
-
65
- ```
66
- NRR = (Starting MRR + Expansion − Contraction − Churn) / Starting MRR × 100%
67
- ```
68
-
69
- **B2B SaaS benchmarks:**
70
- - 100% = breaking even on existing base
71
- - 110-120% = healthy B2B
72
- - 130%+ = world-class (Snowflake, Datadog)
73
- - < 100% = red flag (shrinking base)
74
-
75
- ### Unit Economics
76
-
77
- - **CAC (Customer Acquisition Cost)** — total S&M spend / new customers acquired
78
- - Blended: all customers
79
- - Paid: acquisition from paid channels only
80
- - **LTV (Lifetime Value)** — average revenue from customer over their lifetime
81
- - Simple: ARPA / gross churn rate
82
- - ARPA = Average Revenue Per Account (monthly)
83
- - **LTV / CAC ratio** — sustainable at 3× or higher
84
- - < = destroying value
85
- - 1-3× = ok, room for improvement
86
- - 3×+ = healthy
87
- - 5×+ = possibly under-investing in growth
88
- - **CAC Payback Period** months to recover CAC from gross margin
89
- - Target: < 12 months (B2B SaaS)
90
- - 12-18 months = ok for enterprise
91
- - > 24 months = unhealthy
92
-
93
- ### Growth Health
94
-
95
- - **Rule of 40** = Growth Rate (%) + EBITDA Margin (%) ≥ 40%
96
- - Trade-off: fast growth allows lower margin, slow growth requires profit
97
- - < 40 = not attractive, either grow or profit more
98
- - **Magic Number** = (ARR this quarter − ARR last quarter) × 4 / Sales & Marketing spend last quarter
99
- - > 1 = efficient growth
100
- - 0.5-1 = ok
101
- - < 0.5 = inefficient S&M
102
- - **Burn Multiple** = Net Burn / Net New ARR
103
- - < 1 = great, more ARR than burn
104
- - 1-2 = acceptable
105
- - > 2 = worrying
106
-
107
- ## Protocol
108
-
109
- ### Step 0 Period & Scope
110
-
111
- - Period: monthly baseline, quarterly for board
112
- - Scope: all products? per product line? per segment?
113
-
114
- ### Step 1 Revenue Decomposition
115
-
116
- Monthly waterfall:
117
- - Starting MRR (carryover from last month)
118
- - + New MRR
119
- - + Expansion MRR
120
- - Contraction MRR
121
- - Churn MRR
122
- - = Ending MRR
123
-
124
- ### Step 2 — Cohort Analysis
125
-
126
- Track customer cohorts by signup month:
127
- - Starting count
128
- - Retention by month (month 1, 3, 6, 12, 24)
129
- - Revenue expansion per cohort
130
- - Gross + Net revenue retention curves
131
-
132
- B2B healthy: retention curve stabilizes around 60-85% at 12 months (depends on segment).
133
-
134
- ### Step 3 — Per-Segment
135
-
136
- Split metrics by segment:
137
- - SMB vs mid-market vs enterprise — radically different metrics
138
- - SMB: higher churn, lower ARPA, shorter payback
139
- - Enterprise: lower churn, higher ARPA, longer payback, higher NRR
140
-
141
- ### Step 4 — Unit Economics Per Segment
142
-
143
- | Segment | ARPA | Gross Churn | LTV | CAC | LTV/CAC | Payback |
144
- |---------|:----:|:-----------:|:---:|:---:|:-------:|:-------:|
145
- | SMB | $50/mo | 4% | $1,250 | $400 | 3.1× | 10 months |
146
- | Mid-market | $500/mo | 1.5% | $33,333 | $8,000 | 4.2× | 16 months |
147
- | Enterprise | $5,000/mo | 0.5% | $1M | $150,000 | 6.7× | 24 months |
148
-
149
- ### Step 5 — Leading Indicators
150
-
151
- Predictors for churn / expansion:
152
- - Usage frequency (decrease = churn risk)
153
- - Team seats adoption
154
- - Feature depth
155
- - Support ticket pattern
156
- - Renewal risk score
157
-
158
- ### Step 6 — Benchmark
159
-
160
- Compare to industry:
161
- - SaaS Capital Index
162
- - OpenView benchmark reports
163
- - ChartMogul benchmarks
164
- - Public SaaS companies (10-K filings)
165
-
166
- ### Step 7 — Forecasting
167
-
168
- Modeling:
169
- - Base + optimistic + pessimistic scenarios
170
- - New MRR from channels × conversion
171
- - Expansion from existing cohorts
172
- - Churn from historical curves
173
-
174
- ## Validation (Quality Gate)
175
-
176
- - [ ] MRR decomposition (new / exp / contract / churn)
177
- - [ ] Gross + Net churn separated
178
- - [ ] NRR calculated
179
- - [ ] LTV / CAC / Payback per segment
180
- - [ ] Cohort retention curves
181
- - [ ] Rule of 40 computed
182
- - [ ] Segment-split present (not only blended)
183
- - [ ] Benchmarked against industry
184
- - [ ] Forecasts scenario-based
185
-
186
- ## Handoff
187
-
188
- The result is input for:
189
- - **`north-star-metric`** NSM should relate to NRR / retention
190
- - **`hypothesis-template`** expected SaaS metric impact per initiative
191
- - **PRD Success Criteria** — quantified business impact
192
- - **Board / Exec reporting**
193
-
194
- Format: SaaS metrics dashboard / doc. Via `$handoff`.
195
-
196
- ## Anti-patterns
197
-
198
- | Error | Why it's bad | How to do it right |
199
- |-------|-------------|-------------------|
200
- | ARR vs MRR confusion | Wrong numbers | MRR × 12 = ARR only for monthly; otherwise careful |
201
- | Ignore contraction | Over-reports growth | Separate contraction from churn |
202
- | Only blended metrics | Hides segment truth | Always per-segment |
203
- | LTV/CAC without payback | Distorted view | Both together |
204
- | Cherry-pick cohorts | Survivorship bias | All cohorts |
205
- | Magic Number alone | Pre-revenue misleading | With Burn Multiple |
206
- | Gross margin confusion | LTV × wrong margin | Gross margin, not revenue LTV |
207
-
208
- ## Template
209
-
210
- ```markdown
211
- # SaaS Metrics Dashboard — Q2 2026
212
-
213
- ## Revenue Waterfall
214
- - Starting MRR: $X
215
- - + New MRR: $Y
216
- - + Expansion: $Z
217
- - − Contraction: $A
218
- - Churn: $B
219
- - = Ending MRR: $C
220
- - Net New MRR: $D
221
-
222
- ## Retention
223
- - Gross Rev Churn: X%
224
- - Net Rev Retention: Y%
225
- - Customer Gross Churn: Z%
226
- - Customer Net Churn: A%
227
-
228
- ## Unit Economics (per segment)
229
- | Segment | ARPA | Churn | LTV | CAC | LTV/CAC | Payback |
230
- | SMB | | | | | | |
231
- | Mid-market | | | | | | |
232
- | Enterprise | | | | | | |
233
-
234
- ## Growth Health
235
- - Rule of 40: [growth%] + [margin%] = X
236
- - Magic Number: Y
237
- - Burn Multiple: Z
238
-
239
- ## Cohort Retention
240
- [Curve chart by cohort]
241
-
242
- ## Benchmarks
243
- - Industry median NRR: 110%
244
- - Our NRR: 115%
245
- - ...
246
-
247
- ## Forecast
248
- | Scenario | Q3 ARR | Q4 ARR |
249
- | Base | | |
250
- | Optimistic | | |
251
- | Pessimistic | | |
252
- ```
253
-
254
- ## Worked Example — TeamFlow SaaS Metrics Dashboard Q2 2026
255
-
256
- ```markdown
257
- # SaaS Metrics Dashboard — TeamFlow Q2 2026
258
-
259
- ## Company Snapshot
260
- - **Stage:** Series B, 5 years post-founding, $8M ARR
261
- - **Customers:** 200 active (120 SMB + 70 mid-market + 10 enterprise)
262
- - **Headcount:** 45
263
- - **Period:** Q2 2026 (April 1 – June 30)
264
-
265
- ---
266
-
267
- ## Revenue Waterfall (Q2 2026)
268
-
269
- | Line Item | Amount | Notes |
270
- |-----------|--------|-------|
271
- | **Starting MRR (April 1)** | **$667K** | $8M ARR ÷ 12 |
272
- | + New MRR (new customers) | +$140K | 14 new customer logos, blended ACV ~$3.3K/mo avg |
273
- | + Expansion MRR (existing) | +$213K | 38 accounts added seats / upgraded tier (AI Tier early upgrades) |
274
- | − Contraction MRR | −$20K | 8 accounts downgraded (SMB price sensitivity) |
275
- | Churn MRR | −$160K | 5 customer logos churned (matches 2.5% quarterly = ~8% annual gross churn anchor) |
276
- | = **Ending MRR (June 30)** | **$840K** | |
277
- | **Net New MRR** | **+$173K** | Health measure: +26% QoQ MRR growth |
278
-
279
- Annualized: ARR end of Q2 = $10.08M (12 × $840K). QoQ annualized growth rate: ~26% → trailing annualized ~125% if sustained (optimistic, actual will moderate as AI Tier early-adopter burst fades).
280
-
281
- **NRR verification:** (Start Churn − Contraction + Expansion) / Start = (667 160 20 + 213) / 667 = 700 / 667 = **105.0%** ✓ matches stated NRR
282
-
283
- ---
284
-
285
- ## Retention Metrics
286
-
287
- | Metric | Value | Benchmark (B2B SaaS median) | Status |
288
- |--------|:-----:|:--------------------------:|:------:|
289
- | **Gross Revenue Churn** (Q2) | 2.1% (annualized ~8.4%) | 10-15% annual | healthy |
290
- | **Net Revenue Retention (NRR)** | 105% (from 108% Q1) | 115% median | ⚠️ declining |
291
- | **Customer Gross Churn** (Q2) | 2.5% logo churn (annualized ~10%) | 8-12% annual | on target |
292
- | **Customer Net Churn** | −1.5% net (5 churned, 12 expansion reactivation, +9 net) | N/A | |
293
-
294
- **Key insight:** NRR dropped 3pp QoQ. Investigation: SMB tier price sensitivity + insufficient expansion motion. **AI tier launch (Q2 late) expected to revert by Q3.**
295
-
296
- ---
297
-
298
- ## Unit Economics — Per Segment
299
-
300
- > All LTV/CAC computed with 80% gross margin (SaaS standard). Segment ARPAs chosen so total ARR ≈ $8M: SMB $432K + Mid $4.2M + Ent $3.6M = $8.23M ≈ $8M anchor.
301
-
302
- | Segment | ARPA/mo | ARPA/yr | Gross Churn (annual) | LTV (GM 80%) | CAC | LTV/CAC | CAC Payback |
303
- |---------|:-------:|:-------:|:--------------------:|:------------:|:---:|:-------:|:-----------:|
304
- | **SMB** (120 customers) | $300 | $3,600 | 20% | $14,400 | $4,800 | **3.0×** | 24 mo |
305
- | **Mid-market** (70 customers) | $5,000 | $60,000 | 10% | $480,000 | $80,000 | **6.0×** | 20 mo |
306
- | **Enterprise** (10 customers) | $30,000 | $360,000 | 5% | $5,760,000 | $600,000 | **9.6×** | 25 mo |
307
- | **Blended (weighted)** | $3,333 | $40,000 | ~10% | ~$320,000 | ~$60,000 | **~5.3×** | ~22 mo |
308
-
309
- **LTV formula:** `LTV = ARPA_annual × gross_margin / annual_gross_churn` (standard B2B SaaS).
310
-
311
- **Key insights:**
312
- - **Enterprise economics excellent** 9. LTV/CAC justifies aggressive investment in enterprise GTM.
313
- - **SMB at 3× threshold** — healthy but sensitive to churn deterioration; SMB price tier needs ongoing optimization.
314
- - **Blended 5.3×** — above industry median (3.0×), room for continued S&M expansion.
315
- - **Strategic question:** double down on SMB volume or shift mix to mid+ where unit economics sing?
316
-
317
- ---
318
-
319
- ## Growth Health Metrics
320
-
321
- | Metric | Value | Target | Status |
322
- |--------|:-----:|:------:|:------:|
323
- | **Rule of 40** = Growth% + EBITDA% | 52% + (−15%) = **37%** | 40% | ⚠️ just below |
324
- | **Magic Number** (S&M efficiency) | **1.15** | > 1.0 | efficient |
325
- | **Burn Multiple** (Net Burn / Net New ARR) | **1.8×** | < 1. | ⚠️ slightly high |
326
- | **Pipeline Coverage** (pipeline / quota) | 3.2× | ≥ 3× | ✅ healthy |
327
-
328
- **Investor narrative:**
329
- - Rule of 40 at 37% — «tight but growing»; AI tier launch strategy aims to add 5pp to growth rate without increasing burn
330
- - Magic Number 1.15 supports continued S&M investment
331
- - Burn Multiple 1.8× reflects R&D investment in AI justified, will normalize post-MVP
332
-
333
- ---
334
-
335
- ## Cohort Retention Curves
336
-
337
- **Q1 2025 cohort retention (by month):**
338
-
339
- | Month | # Remaining | Retention | Revenue Retention |
340
- |:-----:|:-----------:|:---------:|:-----------------:|
341
- | Month 1 | 38 of 40 | 95% | 98% |
342
- | Month 3 | 34 | 85% | 92% |
343
- | Month 6 | 31 | 78% | 105% (expansion >churn) |
344
- | Month 12 | 28 | 70% | 118% |
345
- | Month 24 | 25 | 63% | 142% |
346
-
347
- **Interpretation:**
348
- - **Logo retention decays** (63% at 24 mo)
349
- - **Revenue retention grows** (142% at 24 mo)strong expansion per retained account
350
- - **Pattern typical for B2B SaaS** — few big accounts expand aggressively, offset logo loss
351
-
352
- **Cohort comparison:**
353
- - **Q2 2024 cohort:** 60% at 24mo (slightly worse) — improving over time
354
- - **Q1 2026 cohort:** 95% at 3mo (much stronger) — new motion paying off
355
-
356
- ---
357
-
358
- ## Key Metric: «Sticky Manager Ratio» (NSM Tracking)
359
-
360
- - **Baseline (pre-AI tier):** 0% (feature not existing)
361
- - **90-day target (post AI tier launch):** 20%
362
- - **Current (projected):** on track for 18% by end Q2, pull back 2pp to target with continued GTM
363
-
364
- ---
365
-
366
- ## Benchmark Comparison (Industry)
367
-
368
- | Metric | TeamFlow | Median B2B SaaS | Top Quartile |
369
- |--------|:--------:|:--------------:|:------------:|
370
- | NRR | 105% | 110% | 125%+ |
371
- | Gross Churn | 8% | 10% | <6% |
372
- | LTV/CAC (blended) | 2.8× | 3.0× | 5.0×+ |
373
- | Rule of 40 | 37% | 40% | 60%+ |
374
- | Magic Number | 1.15 | 0.9 | 1.5+ |
375
-
376
- **Overall position:** Middle of pack. Magic Number above median, but NRR / LTV-CAC below. AI tier strategy aims to pull all three into top-quartile by Q4 2026.
377
-
378
- ---
379
-
380
- ## Scenario Forecasts (Q3-Q4 2026)
381
-
382
- | Scenario | Q3 ARR | Q4 ARR | Key Assumptions |
383
- |----------|:------:|:------:|-----------------|
384
- | **Base** | $9.5M | $10.8M | AI tier adoption hits 15% by Q3, 25% by Q4; NRR climbs to 110% |
385
- | **Optimistic** | $10.2M | $12.5M | AI tier adoption 20%+ by Q3, 5 new Enterprise deals, NRR 115% |
386
- | **Pessimistic** | $8.8M | $9.5M | AI tier adoption <10%, continued SMB churn, NRR stays 105% |
387
-
388
- **Factors for base/optimistic pivot:**
389
- - H-001 (WTP) validation if WTP confirmed, optimistic scenario triggered
390
- - LLM quality H-002 pass if passes, all scenarios possible; fail pushes to pessimistic
391
- - Enterprise tier conversion 5 deals in Q2 is base; 10+ triggers optimistic
392
-
393
- ---
394
-
395
- ## Action Items (for Leadership)
396
-
397
- 1. **NRR decline watch:** weekly tracking, intervention plan prepared if NRR <100% at any week
398
- 2. **SMB churn deep-dive:** cash flow analysis of 14 Q2 churn events — patterns?
399
- 3. **AI tier launch execution:** on track, but marketing amplification needed (CRO ownership)
400
- 4. **Enterprise tier pipeline:** 8 deals in active negotiation 5 closing target by Q2 end; ensure SOC 2 attestation unblocks them
401
- 5. **Q3 planning:** post-H-002 validation, allocate R&D between AI iteration vs Enterprise tier features
402
- ```
403
-
404
- > **saas-metrics lesson:** Blended metrics **hide** segment realities Enterprise 11× LTV/CAC vs SMB 2.87× requires completely different strategies. **Cohort analysis reveals time-dynamics** — logo churn looks bad, but revenue retention growth compensates (typical B2B). **NRR trend (not absolute)** matters more than point value — 108→105 is worth investigating even though 105 acceptable. **Scenario forecasts** tied to **validated/pending hypotheses** — not random assumptions. Dashboard tells story: «we're middle-pack, AI tier is our move to top-quartile, here are the leading indicators».
1
+ ---
2
+ name: saas-metrics
3
+ description: B2B SaaS metrics — MRR/ARR, gross/net churn, NRR, LTV/CAC, Payback, Rule of 40, Magic Number
4
+ type: triggered
5
+ domain: product
6
+ owners:
7
+ - data_analyst
8
+ gates:
9
+ - DATA_ANALYST
10
+ tech: []
11
+ topic: []
12
+ triggers:
13
+ - "saas-metrics"
14
+ - "SaaS-метрики (B2B)"
15
+ - "MRR ARR"
16
+ - "churn"
17
+ - "LTV CAC"
18
+ - "Rule of 40"
19
+ related: []
20
+ budget_lines: 422
21
+ schema_version: 1
22
+ ---
23
+ # SaaS Metrics (B2B)
24
+
25
+ > **Category:** Metrics · **Slug:** `saas-metrics`
26
+
27
+ ## When to Use
28
+
29
+ - For board / investor reporting — standard SaaS health view.
30
+ - For PRD Success Criteria — how a PM initiative will affect MRR/NRR/churn.
31
+ - For unit economics evaluation sustainable growth.
32
+ - For strategic decisions — pricing, segment focus, expansion.
33
+
34
+ ## Input
35
+
36
+ | Field | Required | Description |
37
+ |-------|:--------:|-------------|
38
+ | Finance data | | Subscription revenue, billing history |
39
+ | CRM data | | Account status, cohort, upgrades/downgrades |
40
+ | Customer data | | Cohorts, churn events, contract terms |
41
+ | Costs | ✅ | CAC (S&M spend per acquired), product costs |
42
+ | Period | ✅ | Monthly / quarterly view |
43
+
44
+ ## Data Sources
45
+
46
+ 1. Billing system (Stripe, Chargebee, etc.)
47
+ 2. CRM (Salesforce, HubSpot)
48
+ 3. Finance (ERP, spreadsheets)
49
+ 4. Analytics (usage data for churn prediction)
50
+
51
+ ### Related Skills
52
+
53
+ | Skill | What we take | When to invoke |
54
+ |-------|-------------|----------------|
55
+ | `aarrr-metrics` | Funnel view | Complement AARRR |
56
+ | `north-star-metric` | NSM alignment | NSM is often a derivative SaaS metric |
57
+ | `hypothesis-template` | Impact modeling | For PRD |
58
+ | `unit-economics` (if available) | Deep unit view | Alternative / complement |
59
+
60
+ ## Core Metrics
61
+
62
+ ### Revenue
63
+
64
+ - **MRR (Monthly Recurring Revenue)** — sum of all active monthly subscriptions (normalized if annual / quarterly)
65
+ - New MRR (from new customers)
66
+ - Expansion MRR (upsells, add-ons)
67
+ - Contraction MRR (downgrades)
68
+ - Churn MRR (lost to cancellation)
69
+ - Reactivation MRR (returning customers)
70
+ - **ARR (Annual Recurring Revenue)** MRR × 12
71
+ - **Net New MRR** = New + Expansion − Contraction − Churn
72
+
73
+ ### Churn / Retention
74
+
75
+ - **Gross Customer Churn** — customers lost / total at start
76
+ - **Net Customer Churn** — (lost − reactivated) / total
77
+ - **Gross Revenue Churn** — MRR lost / total MRR at start
78
+ - **Net Revenue Churn** — (MRR lost − expansion) / total MRR
79
+ - **Can be negative** (key B2B SaaS metric — «negative churn» = expansion > churn)
80
+
81
+ ### NRR (Net Revenue Retention)
82
+
83
+ ```
84
+ NRR = (Starting MRR + Expansion − Contraction − Churn) / Starting MRR × 100%
85
+ ```
86
+
87
+ **B2B SaaS benchmarks:**
88
+ - 100% = breaking even on existing base
89
+ - 110-120% = healthy B2B
90
+ - 130%+ = world-class (Snowflake, Datadog)
91
+ - < 100% = red flag (shrinking base)
92
+
93
+ ### Unit Economics
94
+
95
+ - **CAC (Customer Acquisition Cost)** total S&M spend / new customers acquired
96
+ - Blended: all customers
97
+ - Paid: acquisition from paid channels only
98
+ - **LTV (Lifetime Value)** average revenue from customer over their lifetime
99
+ - Simple: ARPA / gross churn rate
100
+ - ARPA = Average Revenue Per Account (monthly)
101
+ - **LTV / CAC ratio** — sustainable at 3× or higher
102
+ - < = destroying value
103
+ - 1-3× = ok, room for improvement
104
+ - 3×+ = healthy
105
+ - 5×+ = possibly under-investing in growth
106
+ - **CAC Payback Period** — months to recover CAC from gross margin
107
+ - Target: < 12 months (B2B SaaS)
108
+ - 12-18 months = ok for enterprise
109
+ - > 24 months = unhealthy
110
+
111
+ ### Growth Health
112
+
113
+ - **Rule of 40** = Growth Rate (%) + EBITDA Margin (%) ≥ 40%
114
+ - Trade-off: fast growth allows lower margin, slow growth requires profit
115
+ - < 40 = not attractive, either grow or profit more
116
+ - **Magic Number** = (ARR this quarter − ARR last quarter) × 4 / Sales & Marketing spend last quarter
117
+ - > 1 = efficient growth
118
+ - 0.5-1 = ok
119
+ - < 0.5 = inefficient S&M
120
+ - **Burn Multiple** = Net Burn / Net New ARR
121
+ - < 1 = great, more ARR than burn
122
+ - 1-2 = acceptable
123
+ - > 2 = worrying
124
+
125
+ ## Protocol
126
+
127
+ ### Step 0 — Period & Scope
128
+
129
+ - Period: monthly baseline, quarterly for board
130
+ - Scope: all products? per product line? per segment?
131
+
132
+ ### Step 1 Revenue Decomposition
133
+
134
+ Monthly waterfall:
135
+ - Starting MRR (carryover from last month)
136
+ - + New MRR
137
+ - + Expansion MRR
138
+ - Contraction MRR
139
+ - Churn MRR
140
+ - = Ending MRR
141
+
142
+ ### Step 2 — Cohort Analysis
143
+
144
+ Track customer cohorts by signup month:
145
+ - Starting count
146
+ - Retention by month (month 1, 3, 6, 12, 24)
147
+ - Revenue expansion per cohort
148
+ - Gross + Net revenue retention curves
149
+
150
+ B2B healthy: retention curve stabilizes around 60-85% at 12 months (depends on segment).
151
+
152
+ ### Step 3 Per-Segment
153
+
154
+ Split metrics by segment:
155
+ - SMB vs mid-market vs enterprise — radically different metrics
156
+ - SMB: higher churn, lower ARPA, shorter payback
157
+ - Enterprise: lower churn, higher ARPA, longer payback, higher NRR
158
+
159
+ ### Step 4 — Unit Economics Per Segment
160
+
161
+ | Segment | ARPA | Gross Churn | LTV | CAC | LTV/CAC | Payback |
162
+ |---------|:----:|:-----------:|:---:|:---:|:-------:|:-------:|
163
+ | SMB | $50/mo | 4% | $1,250 | $400 | 3.1× | 10 months |
164
+ | Mid-market | $500/mo | 1.5% | $33,333 | $8,000 | 4.2× | 16 months |
165
+ | Enterprise | $5,000/mo | 0.5% | $1M | $150,000 | 6.7× | 24 months |
166
+
167
+ ### Step 5 — Leading Indicators
168
+
169
+ Predictors for churn / expansion:
170
+ - Usage frequency (decrease = churn risk)
171
+ - Team seats adoption
172
+ - Feature depth
173
+ - Support ticket pattern
174
+ - Renewal risk score
175
+
176
+ ### Step 6 Benchmark
177
+
178
+ Compare to industry:
179
+ - SaaS Capital Index
180
+ - OpenView benchmark reports
181
+ - ChartMogul benchmarks
182
+ - Public SaaS companies (10-K filings)
183
+
184
+ ### Step 7 Forecasting
185
+
186
+ Modeling:
187
+ - Base + optimistic + pessimistic scenarios
188
+ - New MRR from channels × conversion
189
+ - Expansion from existing cohorts
190
+ - Churn from historical curves
191
+
192
+ ## Validation (Quality Gate)
193
+
194
+ - [ ] MRR decomposition (new / exp / contract / churn)
195
+ - [ ] Gross + Net churn separated
196
+ - [ ] NRR calculated
197
+ - [ ] LTV / CAC / Payback per segment
198
+ - [ ] Cohort retention curves
199
+ - [ ] Rule of 40 computed
200
+ - [ ] Segment-split present (not only blended)
201
+ - [ ] Benchmarked against industry
202
+ - [ ] Forecasts scenario-based
203
+
204
+ ## Handoff
205
+
206
+ The result is input for:
207
+ - **`north-star-metric`** — NSM should relate to NRR / retention
208
+ - **`hypothesis-template`** — expected SaaS metric impact per initiative
209
+ - **PRD Success Criteria** — quantified business impact
210
+ - **Board / Exec reporting**
211
+
212
+ Format: SaaS metrics dashboard / doc. Via `$handoff`.
213
+
214
+ ## Anti-patterns
215
+
216
+ | Error | Why it's bad | How to do it right |
217
+ |-------|-------------|-------------------|
218
+ | ARR vs MRR confusion | Wrong numbers | MRR × 12 = ARR only for monthly; otherwise careful |
219
+ | Ignore contraction | Over-reports growth | Separate contraction from churn |
220
+ | Only blended metrics | Hides segment truth | Always per-segment |
221
+ | LTV/CAC without payback | Distorted view | Both together |
222
+ | Cherry-pick cohorts | Survivorship bias | All cohorts |
223
+ | Magic Number alone | Pre-revenue misleading | With Burn Multiple |
224
+ | Gross margin confusion | LTV × wrong margin | Gross margin, not revenue LTV |
225
+
226
+ ## Template
227
+
228
+ ```markdown
229
+ # SaaS Metrics Dashboard Q2 2026
230
+
231
+ ## Revenue Waterfall
232
+ - Starting MRR: $X
233
+ - + New MRR: $Y
234
+ - + Expansion: $Z
235
+ - Contraction: $A
236
+ - Churn: $B
237
+ - = Ending MRR: $C
238
+ - Net New MRR: $D
239
+
240
+ ## Retention
241
+ - Gross Rev Churn: X%
242
+ - Net Rev Retention: Y%
243
+ - Customer Gross Churn: Z%
244
+ - Customer Net Churn: A%
245
+
246
+ ## Unit Economics (per segment)
247
+ | Segment | ARPA | Churn | LTV | CAC | LTV/CAC | Payback |
248
+ | SMB | | | | | | |
249
+ | Mid-market | | | | | | |
250
+ | Enterprise | | | | | | |
251
+
252
+ ## Growth Health
253
+ - Rule of 40: [growth%] + [margin%] = X
254
+ - Magic Number: Y
255
+ - Burn Multiple: Z
256
+
257
+ ## Cohort Retention
258
+ [Curve chart by cohort]
259
+
260
+ ## Benchmarks
261
+ - Industry median NRR: 110%
262
+ - Our NRR: 115% ✅
263
+ - ...
264
+
265
+ ## Forecast
266
+ | Scenario | Q3 ARR | Q4 ARR |
267
+ | Base | | |
268
+ | Optimistic | | |
269
+ | Pessimistic | | |
270
+ ```
271
+
272
+ ## Worked Example TeamFlow SaaS Metrics Dashboard Q2 2026
273
+
274
+ ```markdown
275
+ # SaaS Metrics Dashboard TeamFlow Q2 2026
276
+
277
+ ## Company Snapshot
278
+ - **Stage:** Series B, 5 years post-founding, $8M ARR
279
+ - **Customers:** 200 active (120 SMB + 70 mid-market + 10 enterprise)
280
+ - **Headcount:** 45
281
+ - **Period:** Q2 2026 (April 1 June 30)
282
+
283
+ ---
284
+
285
+ ## Revenue Waterfall (Q2 2026)
286
+
287
+ | Line Item | Amount | Notes |
288
+ |-----------|--------|-------|
289
+ | **Starting MRR (April 1)** | **$667K** | $8M ARR ÷ 12 |
290
+ | + New MRR (new customers) | +$140K | 14 new customer logos, blended ACV ~$3.3K/mo avg |
291
+ | + Expansion MRR (existing) | +$213K | 38 accounts added seats / upgraded tier (AI Tier early upgrades) |
292
+ | Contraction MRR | −$20K | 8 accounts downgraded (SMB price sensitivity) |
293
+ | − Churn MRR | −$160K | 5 customer logos churned (matches 2.5% quarterly = ~8% annual gross churn anchor) |
294
+ | = **Ending MRR (June 30)** | **$840K** | |
295
+ | **Net New MRR** | **+$173K** | Health measure: +26% QoQ MRR growth |
296
+
297
+ Annualized: ARR end of Q2 = $10.08M (12 × $840K). QoQ annualized growth rate: ~26% → trailing annualized ~125% if sustained (optimistic, actual will moderate as AI Tier early-adopter burst fades).
298
+
299
+ **NRR verification:** (Start − Churn − Contraction + Expansion) / Start = (667 − 160 − 20 + 213) / 667 = 700 / 667 = **105.0%** ✓ matches stated NRR
300
+
301
+ ---
302
+
303
+ ## Retention Metrics
304
+
305
+ | Metric | Value | Benchmark (B2B SaaS median) | Status |
306
+ |--------|:-----:|:--------------------------:|:------:|
307
+ | **Gross Revenue Churn** (Q2) | 2.1% (annualized ~8.4%) | 10-15% annual | healthy |
308
+ | **Net Revenue Retention (NRR)** | 105% (from 108% Q1) | 115% median | ⚠️ declining |
309
+ | **Customer Gross Churn** (Q2) | 2.5% logo churn (annualized ~10%) | 8-12% annual | ✅ on target |
310
+ | **Customer Net Churn** | −1.5% net (5 churned, 12 expansion reactivation, +9 net) | N/A | |
311
+
312
+ **Key insight:** NRR dropped 3pp QoQ. Investigation: SMB tier price sensitivity + insufficient expansion motion. **AI tier launch (Q2 late) expected to revert by Q3.**
313
+
314
+ ---
315
+
316
+ ## Unit Economics — Per Segment
317
+
318
+ > All LTV/CAC computed with 80% gross margin (SaaS standard). Segment ARPAs chosen so total ARR ≈ $8M: SMB $432K + Mid $4.2M + Ent $3.6M = $8.23M ≈ $8M anchor.
319
+
320
+ | Segment | ARPA/mo | ARPA/yr | Gross Churn (annual) | LTV (GM 80%) | CAC | LTV/CAC | CAC Payback |
321
+ |---------|:-------:|:-------:|:--------------------:|:------------:|:---:|:-------:|:-----------:|
322
+ | **SMB** (120 customers) | $300 | $3,600 | 20% | $14,400 | $4,800 | **3.0×** | 24 mo |
323
+ | **Mid-market** (70 customers) | $5,000 | $60,000 | 10% | $480,000 | $80,000 | **6.0×** | 20 mo |
324
+ | **Enterprise** (10 customers) | $30,000 | $360,000 | 5% | $5,760,000 | $600,000 | **9.6×** | 25 mo |
325
+ | **Blended (weighted)** | $3,333 | $40,000 | ~10% | ~$320,000 | ~$60,000 | **~5.3×** | ~22 mo |
326
+
327
+ **LTV formula:** `LTV = ARPA_annual × gross_margin / annual_gross_churn` (standard B2B SaaS).
328
+
329
+ **Key insights:**
330
+ - **Enterprise economics excellent** — 9. LTV/CAC justifies aggressive investment in enterprise GTM.
331
+ - **SMB at 3× threshold** healthy but sensitive to churn deterioration; SMB price tier needs ongoing optimization.
332
+ - **Blended 5.3×** — above industry median (3.0×), room for continued S&M expansion.
333
+ - **Strategic question:** double down on SMB volume or shift mix to mid+ where unit economics sing?
334
+
335
+ ---
336
+
337
+ ## Growth Health Metrics
338
+
339
+ | Metric | Value | Target | Status |
340
+ |--------|:-----:|:------:|:------:|
341
+ | **Rule of 40** = Growth% + EBITDA% | 52% + (−15%) = **37%** | ≥ 40% | ⚠️ just below |
342
+ | **Magic Number** (S&M efficiency) | **1.15** | > 1.0 | efficient |
343
+ | **Burn Multiple** (Net Burn / Net New ARR) | **1.8×** | < 1.5× | ⚠️ slightly high |
344
+ | **Pipeline Coverage** (pipeline / quota) | 3.2× | | healthy |
345
+
346
+ **Investor narrative:**
347
+ - Rule of 40 at 37% — «tight but growing»; AI tier launch strategy aims to add 5pp to growth rate without increasing burn
348
+ - Magic Number 1.15 supports continued S&M investment
349
+ - Burn Multiple 1.8× reflects R&D investment in AI justified, will normalize post-MVP
350
+
351
+ ---
352
+
353
+ ## Cohort Retention Curves
354
+
355
+ **Q1 2025 cohort retention (by month):**
356
+
357
+ | Month | # Remaining | Retention | Revenue Retention |
358
+ |:-----:|:-----------:|:---------:|:-----------------:|
359
+ | Month 1 | 38 of 40 | 95% | 98% |
360
+ | Month 3 | 34 | 85% | 92% |
361
+ | Month 6 | 31 | 78% | 105% (expansion >churn) |
362
+ | Month 12 | 28 | 70% | 118% |
363
+ | Month 24 | 25 | 63% | 142% |
364
+
365
+ **Interpretation:**
366
+ - **Logo retention decays** (63% at 24 mo)
367
+ - **Revenue retention grows** (142% at 24 mo) — strong expansion per retained account
368
+ - **Pattern typical for B2B SaaS** few big accounts expand aggressively, offset logo loss
369
+
370
+ **Cohort comparison:**
371
+ - **Q2 2024 cohort:** 60% at 24mo (slightly worse) — improving over time
372
+ - **Q1 2026 cohort:** 95% at 3mo (much stronger) new motion paying off
373
+
374
+ ---
375
+
376
+ ## Key Metric: «Sticky Manager Ratio» (NSM Tracking)
377
+
378
+ - **Baseline (pre-AI tier):** 0% (feature not existing)
379
+ - **90-day target (post AI tier launch):** 20%
380
+ - **Current (projected):** on track for 18% by end Q2, pull back 2pp to target with continued GTM
381
+
382
+ ---
383
+
384
+ ## Benchmark Comparison (Industry)
385
+
386
+ | Metric | TeamFlow | Median B2B SaaS | Top Quartile |
387
+ |--------|:--------:|:--------------:|:------------:|
388
+ | NRR | 105% | 110% | 125%+ |
389
+ | Gross Churn | 8% | 10% | <6% |
390
+ | LTV/CAC (blended) | 2.8× | 3.0× | 5.0×+ |
391
+ | Rule of 40 | 37% | 40% | 60%+ |
392
+ | Magic Number | 1.15 | 0.9 | 1.5+ |
393
+
394
+ **Overall position:** Middle of pack. Magic Number above median, but NRR / LTV-CAC below. AI tier strategy aims to pull all three into top-quartile by Q4 2026.
395
+
396
+ ---
397
+
398
+ ## Scenario Forecasts (Q3-Q4 2026)
399
+
400
+ | Scenario | Q3 ARR | Q4 ARR | Key Assumptions |
401
+ |----------|:------:|:------:|-----------------|
402
+ | **Base** | $9.5M | $10.8M | AI tier adoption hits 15% by Q3, 25% by Q4; NRR climbs to 110% |
403
+ | **Optimistic** | $10.2M | $12.5M | AI tier adoption 20%+ by Q3, 5 new Enterprise deals, NRR 115% |
404
+ | **Pessimistic** | $8.8M | $9.5M | AI tier adoption <10%, continued SMB churn, NRR stays 105% |
405
+
406
+ **Factors for base/optimistic pivot:**
407
+ - H-001 (WTP) validation — if WTP confirmed, optimistic scenario triggered
408
+ - LLM quality H-002 pass — if passes, all scenarios possible; fail pushes to pessimistic
409
+ - Enterprise tier conversion — 5 deals in Q2 is base; 10+ triggers optimistic
410
+
411
+ ---
412
+
413
+ ## Action Items (for Leadership)
414
+
415
+ 1. **NRR decline watch:** weekly tracking, intervention plan prepared if NRR <100% at any week
416
+ 2. **SMB churn deep-dive:** cash flow analysis of 14 Q2 churn events — patterns?
417
+ 3. **AI tier launch execution:** on track, but marketing amplification needed (CRO ownership)
418
+ 4. **Enterprise tier pipeline:** 8 deals in active negotiation — 5 closing target by Q2 end; ensure SOC 2 attestation unblocks them
419
+ 5. **Q3 planning:** post-H-002 validation, allocate R&D between AI iteration vs Enterprise tier features
420
+ ```
421
+
422
+ > **saas-metrics lesson:** Blended metrics **hide** segment realities — Enterprise 11× LTV/CAC vs SMB 2.87× requires completely different strategies. **Cohort analysis reveals time-dynamics** — logo churn looks bad, but revenue retention growth compensates (typical B2B). **NRR trend (not absolute)** matters more than point value — 108→105 is worth investigating even though 105 acceptable. **Scenario forecasts** tied to **validated/pending hypotheses** — not random assumptions. Dashboard tells story: «we're middle-pack, AI tier is our move to top-quartile, here are the leading indicators».