dreamcontext 0.5.0

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 (247) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +523 -0
  3. package/agents/dreamcontext-explore.md +137 -0
  4. package/agents/dreamcontext-initializer.md +169 -0
  5. package/agents/sleep-product.md +268 -0
  6. package/agents/sleep-state.md +270 -0
  7. package/agents/sleep-tasks.md +134 -0
  8. package/dist/agents/dreamcontext-explore.md +137 -0
  9. package/dist/agents/dreamcontext-initializer.md +169 -0
  10. package/dist/agents/sleep-product.md +268 -0
  11. package/dist/agents/sleep-state.md +270 -0
  12. package/dist/agents/sleep-tasks.md +134 -0
  13. package/dist/dashboard/assets/BrainCanvas3D-BLJ4_SqE.js +5126 -0
  14. package/dist/dashboard/assets/_baseUniq-DpaDAx_H.js +1 -0
  15. package/dist/dashboard/assets/arc-JvK3Ik1p.js +1 -0
  16. package/dist/dashboard/assets/architectureDiagram-Q4EWVU46-CCvw4XFg.js +36 -0
  17. package/dist/dashboard/assets/blockDiagram-DXYQGD6D-DMobz1n7.js +132 -0
  18. package/dist/dashboard/assets/c4Diagram-AHTNJAMY-FwcHT5er.js +10 -0
  19. package/dist/dashboard/assets/channel-D6954IHZ.js +1 -0
  20. package/dist/dashboard/assets/chunk-4BX2VUAB-B5kYwmBa.js +1 -0
  21. package/dist/dashboard/assets/chunk-4TB4RGXK-0ot1eS0J.js +206 -0
  22. package/dist/dashboard/assets/chunk-55IACEB6-24ngcLgH.js +1 -0
  23. package/dist/dashboard/assets/chunk-EDXVE4YY-DATt1OUl.js +1 -0
  24. package/dist/dashboard/assets/chunk-FMBD7UC4-BprbGSJw.js +15 -0
  25. package/dist/dashboard/assets/chunk-OYMX7WX6-CJJhpKWP.js +231 -0
  26. package/dist/dashboard/assets/chunk-QZHKN3VN-Cisp65Vq.js +1 -0
  27. package/dist/dashboard/assets/chunk-YZCP3GAM-DtMk33tU.js +1 -0
  28. package/dist/dashboard/assets/classDiagram-6PBFFD2Q-Bk4KDqBj.js +1 -0
  29. package/dist/dashboard/assets/classDiagram-v2-HSJHXN6E-Bk4KDqBj.js +1 -0
  30. package/dist/dashboard/assets/clone-C9Yhti5q.js +1 -0
  31. package/dist/dashboard/assets/cose-bilkent-S5V4N54A-BxYomDLe.js +1 -0
  32. package/dist/dashboard/assets/cytoscape.esm-D_LviqZs.js +331 -0
  33. package/dist/dashboard/assets/dagre-KV5264BT-CsX1ZayG.js +4 -0
  34. package/dist/dashboard/assets/defaultLocale-DX6XiGOO.js +1 -0
  35. package/dist/dashboard/assets/diagram-5BDNPKRD-B2G4mPPw.js +10 -0
  36. package/dist/dashboard/assets/diagram-G4DWMVQ6-C8nxN9ZB.js +24 -0
  37. package/dist/dashboard/assets/diagram-MMDJMWI5-DaYymOrR.js +43 -0
  38. package/dist/dashboard/assets/diagram-TYMM5635-BpiYFv-I.js +24 -0
  39. package/dist/dashboard/assets/erDiagram-SMLLAGMA-C6pE7F61.js +85 -0
  40. package/dist/dashboard/assets/flowDiagram-DWJPFMVM-jdNEPVFq.js +162 -0
  41. package/dist/dashboard/assets/ganttDiagram-T4ZO3ILL-C8GoRj1C.js +292 -0
  42. package/dist/dashboard/assets/gitGraphDiagram-UUTBAWPF-SiRn7RJ8.js +106 -0
  43. package/dist/dashboard/assets/graph-9wbTW7ld.js +1 -0
  44. package/dist/dashboard/assets/index-BHp63EMw.js +475 -0
  45. package/dist/dashboard/assets/index-CdnDt_7U.css +1 -0
  46. package/dist/dashboard/assets/infoDiagram-42DDH7IO-DcDC8M1a.js +2 -0
  47. package/dist/dashboard/assets/ishikawaDiagram-UXIWVN3A-UjyrPeaS.js +70 -0
  48. package/dist/dashboard/assets/journeyDiagram-VCZTEJTY-CXJPYMxN.js +139 -0
  49. package/dist/dashboard/assets/kanban-definition-6JOO6SKY-Cm1n9eat.js +89 -0
  50. package/dist/dashboard/assets/katex-DkKDou_j.js +257 -0
  51. package/dist/dashboard/assets/layout-w8zmQGXp.js +1 -0
  52. package/dist/dashboard/assets/linear-CMNvIisH.js +1 -0
  53. package/dist/dashboard/assets/min-BqXwiqEr.js +1 -0
  54. package/dist/dashboard/assets/mindmap-definition-QFDTVHPH-tksxnjhx.js +96 -0
  55. package/dist/dashboard/assets/pieDiagram-DEJITSTG-lIVvnPyq.js +30 -0
  56. package/dist/dashboard/assets/quadrantDiagram-34T5L4WZ-DSMB57t5.js +7 -0
  57. package/dist/dashboard/assets/requirementDiagram-MS252O5E-NG99tgmc.js +84 -0
  58. package/dist/dashboard/assets/sankeyDiagram-XADWPNL6-C6EkbQKo.js +10 -0
  59. package/dist/dashboard/assets/sequenceDiagram-FGHM5R23-ASU7Zp6_.js +157 -0
  60. package/dist/dashboard/assets/stateDiagram-FHFEXIEX-DHklUzce.js +1 -0
  61. package/dist/dashboard/assets/stateDiagram-v2-QKLJ7IA2-BZXFb2Fh.js +1 -0
  62. package/dist/dashboard/assets/timeline-definition-GMOUNBTQ-B37xNhjS.js +120 -0
  63. package/dist/dashboard/assets/vennDiagram-DHZGUBPP-D28OvWbm.js +34 -0
  64. package/dist/dashboard/assets/wardley-RL74JXVD-BQdaLyVb.js +162 -0
  65. package/dist/dashboard/assets/wardleyDiagram-NUSXRM2D-D0vChrnT.js +20 -0
  66. package/dist/dashboard/assets/xychartDiagram-5P7HB3ND-BzSx7EpJ.js +7 -0
  67. package/dist/dashboard/favicon.svg +14 -0
  68. package/dist/dashboard/index.html +18 -0
  69. package/dist/hooks/marketing-binary-guard.sh +18 -0
  70. package/dist/index.js +15881 -0
  71. package/dist/skill-packs/agents/biv-customer-analyst.md +140 -0
  72. package/dist/skill-packs/agents/biv-decision-gate.md +147 -0
  73. package/dist/skill-packs/agents/biv-financial-analyst.md +128 -0
  74. package/dist/skill-packs/agents/biv-market-analyst.md +103 -0
  75. package/dist/skill-packs/agents/biv-researcher.md +140 -0
  76. package/dist/skill-packs/agents/biv-strategist.md +164 -0
  77. package/dist/skill-packs/agents/council-persona.md +142 -0
  78. package/dist/skill-packs/agents/council-synthesizer.md +208 -0
  79. package/dist/skill-packs/agents/discover-brand.md +216 -0
  80. package/dist/skill-packs/agents/goal-implementer.md +70 -0
  81. package/dist/skill-packs/agents/goal-plan-reviewer.md +68 -0
  82. package/dist/skill-packs/agents/goal-planner.md +75 -0
  83. package/dist/skill-packs/agents/goal-validator.md +68 -0
  84. package/dist/skill-packs/agents/marketing-creative.md +85 -0
  85. package/dist/skill-packs/agents/marketing-monitor.md +143 -0
  86. package/dist/skill-packs/agents/marketing-strategy.md +139 -0
  87. package/dist/skill-packs/agents/review-cloud-functions.md +158 -0
  88. package/dist/skill-packs/agents/review-edge-cases.md +147 -0
  89. package/dist/skill-packs/agents/review-frontend.md +134 -0
  90. package/dist/skill-packs/agents/review-router.md +165 -0
  91. package/dist/skill-packs/agents/review-security.md +139 -0
  92. package/dist/skill-packs/agents/reviewer.md +152 -0
  93. package/dist/skill-packs/brand-voice/SKILL.md +115 -0
  94. package/dist/skill-packs/brand-voice/discover-brand.md +126 -0
  95. package/dist/skill-packs/brand-voice/guideline-generation.md +154 -0
  96. package/dist/skill-packs/brand-voice/references/before-after-examples.md +194 -0
  97. package/dist/skill-packs/brand-voice/references/confidence-scoring.md +128 -0
  98. package/dist/skill-packs/brand-voice/references/guideline-template.md +241 -0
  99. package/dist/skill-packs/brand-voice/references/search-strategies.md +271 -0
  100. package/dist/skill-packs/brand-voice/references/source-ranking.md +248 -0
  101. package/dist/skill-packs/brand-voice/references/voice-constant-tone-flexes.md +115 -0
  102. package/dist/skill-packs/business-idea-discovery/SKILL.md +452 -0
  103. package/dist/skill-packs/business-idea-validation/SKILL.md +209 -0
  104. package/dist/skill-packs/business-idea-validation/stage-definitions.md +658 -0
  105. package/dist/skill-packs/catalog.json +657 -0
  106. package/dist/skill-packs/council/SKILL.md +134 -0
  107. package/dist/skill-packs/council/debate-protocol.md +90 -0
  108. package/dist/skill-packs/design/SKILL.md +301 -0
  109. package/dist/skill-packs/design/design-mobile.md +207 -0
  110. package/dist/skill-packs/design/design-web.md +148 -0
  111. package/dist/skill-packs/design/frontend-principles.md +157 -0
  112. package/dist/skill-packs/design/onboarding-design.md +230 -0
  113. package/dist/skill-packs/engineering/SKILL.md +155 -0
  114. package/dist/skill-packs/engineering/backend-principles.md +233 -0
  115. package/dist/skill-packs/engineering/firebase-cloud-functions/SKILL.md +44 -0
  116. package/dist/skill-packs/engineering/firebase-cloud-functions/references/gen_comparison.md +45 -0
  117. package/dist/skill-packs/engineering/firebase-cloud-functions/references/idempotency.md +145 -0
  118. package/dist/skill-packs/engineering/firebase-cloud-functions/references/local_testing.md +218 -0
  119. package/dist/skill-packs/engineering/firebase-cloud-functions/references/scaling.md +128 -0
  120. package/dist/skill-packs/engineering/firebase-cloud-functions/references/secrets.md +70 -0
  121. package/dist/skill-packs/engineering/firebase-cloud-functions/references/triggers_and_deployment.md +139 -0
  122. package/dist/skill-packs/engineering/firebase-firestore/SKILL.md +50 -0
  123. package/dist/skill-packs/engineering/firebase-firestore/references/indexes.md +96 -0
  124. package/dist/skill-packs/engineering/firebase-firestore/references/provisioning.md +101 -0
  125. package/dist/skill-packs/engineering/firebase-firestore/references/query_mechanics.md +182 -0
  126. package/dist/skill-packs/engineering/firebase-firestore/references/security_rules.md +299 -0
  127. package/dist/skill-packs/engineering/firebase-firestore/references/web_sdk_usage.md +265 -0
  128. package/dist/skill-packs/engineering/web-app-frontend.md +187 -0
  129. package/dist/skill-packs/goal-skill/SKILL.md +203 -0
  130. package/dist/skill-packs/growth/SKILL.md +480 -0
  131. package/dist/skill-packs/growth/lean-analytics-experiments.md +341 -0
  132. package/dist/skill-packs/growth/lean-analytics-metrics.md +295 -0
  133. package/dist/skill-packs/growth/performance-marketing.md +337 -0
  134. package/dist/skill-packs/meta-marketing/SKILL.md +423 -0
  135. package/dist/skill-packs/meta-marketing/account-ops.md +190 -0
  136. package/dist/skill-packs/meta-marketing/api-reference.md +535 -0
  137. package/dist/skill-packs/meta-marketing/copy-formulas.md +123 -0
  138. package/dist/skill-packs/meta-marketing/council-personas/creative-director.md +76 -0
  139. package/dist/skill-packs/meta-marketing/council-personas/performance-monitor.md +71 -0
  140. package/dist/skill-packs/meta-marketing/council-personas/risk-officer.md +79 -0
  141. package/dist/skill-packs/meta-marketing/council-personas/strategy-optimizer.md +76 -0
  142. package/dist/skill-packs/meta-marketing/creative-frameworks.md +176 -0
  143. package/dist/skill-packs/meta-marketing/mistakes.md +154 -0
  144. package/dist/skill-packs/meta-marketing/platform-state.md +63 -0
  145. package/dist/skill-packs/multi-review/REVIEWER_SHARED.md +143 -0
  146. package/dist/skill-packs/multi-review/SKILL.md +182 -0
  147. package/dist/skill-packs/system-prompts/SKILL.md +472 -0
  148. package/dist/templates/AGENTS.md +84 -0
  149. package/dist/templates/CLAUDE.md +84 -0
  150. package/dist/templates/council-debate.md +20 -0
  151. package/dist/templates/council-final-report.md +34 -0
  152. package/dist/templates/council-persona.md +10 -0
  153. package/dist/templates/council-report.md +6 -0
  154. package/dist/templates/feature.md +38 -0
  155. package/dist/templates/init/0.soul.md +33 -0
  156. package/dist/templates/init/1.user.md +29 -0
  157. package/dist/templates/init/2.memory.md +21 -0
  158. package/dist/templates/init/3.style_guide_and_branding.md +18 -0
  159. package/dist/templates/init/4.tech_stack.md +22 -0
  160. package/dist/templates/init/CHANGELOG.json +1 -0
  161. package/dist/templates/init/RELEASES.json +1 -0
  162. package/dist/templates/init/data-structures/default.md +35 -0
  163. package/dist/templates/knowledge.md +10 -0
  164. package/dist/templates/obsidian/app.json +15 -0
  165. package/dist/templates/obsidian/appearance.json +4 -0
  166. package/dist/templates/obsidian/graph.json +58 -0
  167. package/dist/templates/task.md +70 -0
  168. package/install.sh +73 -0
  169. package/package.json +58 -0
  170. package/skill/SKILL.md +529 -0
  171. package/skill-packs/agents/biv-customer-analyst.md +140 -0
  172. package/skill-packs/agents/biv-decision-gate.md +147 -0
  173. package/skill-packs/agents/biv-financial-analyst.md +128 -0
  174. package/skill-packs/agents/biv-market-analyst.md +103 -0
  175. package/skill-packs/agents/biv-researcher.md +140 -0
  176. package/skill-packs/agents/biv-strategist.md +164 -0
  177. package/skill-packs/agents/council-persona.md +142 -0
  178. package/skill-packs/agents/council-synthesizer.md +208 -0
  179. package/skill-packs/agents/discover-brand.md +216 -0
  180. package/skill-packs/agents/goal-implementer.md +70 -0
  181. package/skill-packs/agents/goal-plan-reviewer.md +68 -0
  182. package/skill-packs/agents/goal-planner.md +75 -0
  183. package/skill-packs/agents/goal-validator.md +68 -0
  184. package/skill-packs/agents/marketing-creative.md +85 -0
  185. package/skill-packs/agents/marketing-monitor.md +143 -0
  186. package/skill-packs/agents/marketing-strategy.md +139 -0
  187. package/skill-packs/agents/review-cloud-functions.md +158 -0
  188. package/skill-packs/agents/review-edge-cases.md +147 -0
  189. package/skill-packs/agents/review-frontend.md +134 -0
  190. package/skill-packs/agents/review-router.md +165 -0
  191. package/skill-packs/agents/review-security.md +139 -0
  192. package/skill-packs/agents/reviewer.md +152 -0
  193. package/skill-packs/brand-voice/SKILL.md +115 -0
  194. package/skill-packs/brand-voice/discover-brand.md +126 -0
  195. package/skill-packs/brand-voice/guideline-generation.md +154 -0
  196. package/skill-packs/brand-voice/references/before-after-examples.md +194 -0
  197. package/skill-packs/brand-voice/references/confidence-scoring.md +128 -0
  198. package/skill-packs/brand-voice/references/guideline-template.md +241 -0
  199. package/skill-packs/brand-voice/references/search-strategies.md +271 -0
  200. package/skill-packs/brand-voice/references/source-ranking.md +248 -0
  201. package/skill-packs/brand-voice/references/voice-constant-tone-flexes.md +115 -0
  202. package/skill-packs/business-idea-discovery/SKILL.md +452 -0
  203. package/skill-packs/business-idea-validation/SKILL.md +209 -0
  204. package/skill-packs/business-idea-validation/stage-definitions.md +658 -0
  205. package/skill-packs/catalog.json +657 -0
  206. package/skill-packs/council/SKILL.md +134 -0
  207. package/skill-packs/council/debate-protocol.md +90 -0
  208. package/skill-packs/design/SKILL.md +301 -0
  209. package/skill-packs/design/design-mobile.md +207 -0
  210. package/skill-packs/design/design-web.md +148 -0
  211. package/skill-packs/design/frontend-principles.md +157 -0
  212. package/skill-packs/design/onboarding-design.md +230 -0
  213. package/skill-packs/engineering/SKILL.md +155 -0
  214. package/skill-packs/engineering/backend-principles.md +233 -0
  215. package/skill-packs/engineering/firebase-cloud-functions/SKILL.md +44 -0
  216. package/skill-packs/engineering/firebase-cloud-functions/references/gen_comparison.md +45 -0
  217. package/skill-packs/engineering/firebase-cloud-functions/references/idempotency.md +145 -0
  218. package/skill-packs/engineering/firebase-cloud-functions/references/local_testing.md +218 -0
  219. package/skill-packs/engineering/firebase-cloud-functions/references/scaling.md +128 -0
  220. package/skill-packs/engineering/firebase-cloud-functions/references/secrets.md +70 -0
  221. package/skill-packs/engineering/firebase-cloud-functions/references/triggers_and_deployment.md +139 -0
  222. package/skill-packs/engineering/firebase-firestore/SKILL.md +50 -0
  223. package/skill-packs/engineering/firebase-firestore/references/indexes.md +96 -0
  224. package/skill-packs/engineering/firebase-firestore/references/provisioning.md +101 -0
  225. package/skill-packs/engineering/firebase-firestore/references/query_mechanics.md +182 -0
  226. package/skill-packs/engineering/firebase-firestore/references/security_rules.md +299 -0
  227. package/skill-packs/engineering/firebase-firestore/references/web_sdk_usage.md +265 -0
  228. package/skill-packs/engineering/web-app-frontend.md +187 -0
  229. package/skill-packs/goal-skill/SKILL.md +203 -0
  230. package/skill-packs/growth/SKILL.md +480 -0
  231. package/skill-packs/growth/lean-analytics-experiments.md +341 -0
  232. package/skill-packs/growth/lean-analytics-metrics.md +295 -0
  233. package/skill-packs/growth/performance-marketing.md +337 -0
  234. package/skill-packs/meta-marketing/SKILL.md +423 -0
  235. package/skill-packs/meta-marketing/account-ops.md +190 -0
  236. package/skill-packs/meta-marketing/api-reference.md +535 -0
  237. package/skill-packs/meta-marketing/copy-formulas.md +123 -0
  238. package/skill-packs/meta-marketing/council-personas/creative-director.md +76 -0
  239. package/skill-packs/meta-marketing/council-personas/performance-monitor.md +71 -0
  240. package/skill-packs/meta-marketing/council-personas/risk-officer.md +79 -0
  241. package/skill-packs/meta-marketing/council-personas/strategy-optimizer.md +76 -0
  242. package/skill-packs/meta-marketing/creative-frameworks.md +176 -0
  243. package/skill-packs/meta-marketing/mistakes.md +154 -0
  244. package/skill-packs/meta-marketing/platform-state.md +63 -0
  245. package/skill-packs/multi-review/REVIEWER_SHARED.md +143 -0
  246. package/skill-packs/multi-review/SKILL.md +182 -0
  247. package/skill-packs/system-prompts/SKILL.md +472 -0
@@ -0,0 +1,341 @@
1
+ ---
2
+ description: Load when designing experiments, validating assumptions, running MVPs, making pivot-or-persevere decisions, or A/B testing
3
+ alwaysApply: false
4
+ ruleType: "Expert Knowledge"
5
+ version: "1.0"
6
+ ---
7
+
8
+ <system_instructions>
9
+
10
+ <role>
11
+ You are a **Lean Experiment Architect**. You design, instrument, execute, and evaluate product experiments using hypothesis-driven development, MVP techniques, and statistical validation.
12
+
13
+ **Your authority**: Assumption ranking, hypothesis formulation, MVP technique selection, success criteria definition, experiment instrumentation, statistical analysis, and go/no-go decisions.
14
+
15
+ **Your scope**: Validating assumptions through structured experiments — from shadow buttons to Wizard of Oz MVPs. For pre-launch idea validation (market analysis, competitive landscape, customer development), defer to `{$PROJECT_ROOT}/Skills/*DRAFTS/business-idea-validation/`.
16
+
17
+ **Prerequisites**: None. This is a standalone knowledge skill.
18
+
19
+ **Companion skill**: `{$PROJECT_ROOT}/.claude/skills/lean-analytics-metrics/` — load together when experiments require metric instrumentation, event schema design, or cohort analysis.
20
+
21
+ **Applies when**: Designing experiments, validating assumptions, running MVPs, formulating hypotheses, defining success criteria, making pivot-or-persevere decisions, A/B testing, or evaluating experiment results.
22
+ </role>
23
+
24
+ ---
25
+
26
+ ## I. Assumption Identification & Ranking
27
+
28
+ ### The Assumption Hierarchy
29
+
30
+ Assumptions are abstract beliefs on the road to success. They must be made explicit and ranked.
31
+
32
+ **Priority order** (test riskiest first):
33
+ 1. **Desirability** — Do they want it? (Highest risk, test first)
34
+ 2. **Viability** — Will they pay for it?
35
+ 3. **Feasibility** — Can we build it? (Lowest risk, test last)
36
+
37
+ ### Risk x Difficulty Matrix
38
+
39
+ | | Low Difficulty | High Difficulty |
40
+ |---|---|---|
41
+ | **High Risk** | **Test first** — cheap to validate, dangerous to ignore | Test second — costly but critical |
42
+ | **Low Risk** | Skip or defer — low stakes, easy to validate later | Skip — not worth the effort |
43
+
44
+ **Process**:
45
+ 1. List all assumptions ("My customer has X problem", "Users will pay for Y", "No satisfactory substitutes exist")
46
+ 2. Rank by risk (what kills the business if wrong?)
47
+ 3. Sort by difficulty (how hard to test?)
48
+ 4. Start with high-risk, low-difficulty assumptions
49
+
50
+ ---
51
+
52
+ ## II. Hypothesis Formulation
53
+
54
+ ### The Difference: Assumption vs Hypothesis
55
+
56
+ - **Assumption**: Abstract belief ("Users want voice search")
57
+ - **Hypothesis**: Actionable, testable statement with measurable outcome
58
+
59
+ ### The PM Format
60
+
61
+ ```
62
+ We believe [SUBJECT] has [PROBLEM] because [REASON].
63
+ If we [ACTION], then [METRIC] will improve from [BASELINE] to [TARGET].
64
+ ```
65
+
66
+ **Example**:
67
+ ```
68
+ We believe trial users have a low conversion rate because they don't discover the core feature.
69
+ If we add an onboarding wizard, then activation rate will improve from 12% to 25%.
70
+ ```
71
+
72
+ ### Hypothesis Components
73
+
74
+ | Component | Description | Example |
75
+ |---|---|---|
76
+ | **Subject** | Target user group | Trial users, mobile users |
77
+ | **Problem** | Observable pain point | Low conversion, high drop-off |
78
+ | **Reason** | Root cause belief | Feature not discovered, UX friction |
79
+ | **Action** | The experiment intervention | Add wizard, change CTA, email campaign |
80
+ | **Metric** | Measurable outcome | Activation rate, conversion rate |
81
+ | **Baseline** | Current metric value | 12% |
82
+ | **Target** | Minimum success threshold (MCS) | 25% |
83
+
84
+ ---
85
+
86
+ ## III. Minimum Criteria of Success (MCS)
87
+
88
+ ### Why MCS Exists
89
+
90
+ 90% of experiments land "in the middle" — not clearly true or false. MCS defines the threshold that separates success from failure *before* you run the experiment.
91
+
92
+ ### Cost-Reward Analysis
93
+
94
+ **Costs** to consider:
95
+ - Time, labor wages, advertising spend
96
+ - Brand effort, legacy issues, opportunity cost
97
+
98
+ **Rewards** to measure:
99
+ - Revenue, engagement, satisfaction, conversion, LTV
100
+
101
+ ### MCS Rules
102
+
103
+ 1. **Select ONE metric** — multiple metrics create ambiguity
104
+ 2. **Aim for bigger goals** — small targets produce inconclusive results
105
+ 3. **Derive from unit economics** — not gut feel
106
+ - *Formula*: If CAC = $50, LTV = $200 → minimum conversion from visitor to paid = 25%
107
+ - *Logic*: The reward must justify the cost of building the real feature
108
+
109
+ ### The Question
110
+
111
+ > "Which metric will be improved by what percentage, compared to what cost? And does it worth it?"
112
+
113
+ ---
114
+
115
+ ## IV. MVP Technique Selection
116
+
117
+ ### Decision Matrix (Fakest → Most Real)
118
+
119
+ | MVP Type | Description | Best For Testing | Mixpanel Tracking | Sample Size Heuristic |
120
+ |---|---|---|---|---|
121
+ | **Email MVP** | Send email promoting a non-existent feature to gauge interest | Desirability (basic) | `email_opened`, `email_cta_clicked` | 100+ recipients |
122
+ | **Shadow Button** | Button in existing UI → leads to "Coming Soon" or survey | Desirability — do users want this feature? | `shadow_button_clicked` / `page_viewed` ratio | ~100 unique visitors |
123
+ | **404 / Coming Soon** | Navigation link that shows 404 or coming soon. Record requests. | Discoverability & Demand | `page_viewed` on 404 page | ~100 unique visitors |
124
+ | **Explainer Video** | Tutorial/sales video demonstrating the *future* product | Value Proposition resonance | `video_played`, `video_completed`, `form_submitted` | ~500 viewers |
125
+ | **Fake Landing Page** | Full marketing page with CTA for a product that doesn't exist | Value Proposition + willingness to act | `signup_conversion_rate` = `form_submitted` / `landing_page_viewed` | ~1,000 visitors |
126
+ | **Concierge MVP** | Deliver the service manually, openly. Help users one-on-one. | Solution Viability — does it actually solve the problem? | `retention_rate`, `referral_rate`. Qualitative focus. | 10-20 customers |
127
+ | **Piecemeal MVP** | Stitch existing tools (Typeform + Zapier + Stripe) to mimic product | Technical Feasibility & Operations | `task_completion_time`, `error_rates` | 20-50 users |
128
+ | **Wizard of Oz** | Fully designed frontend, but backend is manual (user doesn't know) | UX & Willingness to Pay | `repurchase_rate`, `nps_score`, `refund_requests` | 20-50 users |
129
+
130
+ ### Selection Logic
131
+
132
+ ```
133
+ IF testing desirability only → Shadow Button, Email, 404
134
+ IF testing value proposition → Fake Landing Page, Explainer Video
135
+ IF testing solution viability → Concierge
136
+ IF testing UX + willingness to pay → Wizard of Oz
137
+ IF testing operations/feasibility → Piecemeal
138
+ ```
139
+
140
+ **Code-Free Constraint**: If an experiment can be run without engineering (Shadow Button, Email), it *must* be done that way first. Prioritize zero-code MVPs before approving engineering hours.
141
+
142
+ ---
143
+
144
+ ## V. Experiment Instrumentation
145
+
146
+ ### The `$experiment_started` Event Pattern
147
+
148
+ Fire a dedicated event when a user is *exposed* to an experiment variant:
149
+
150
+ ```json
151
+ {
152
+ "event_name": "$experiment_started",
153
+ "properties": {
154
+ "experiment_name": "onboarding_flow_optimization_q1",
155
+ "variant_name": "wizard_of_oz_v1",
156
+ "device_id": "abc123"
157
+ }
158
+ }
159
+ ```
160
+
161
+ **Why**: Creates a cohort of exposed users. Any funnel, retention, or segmentation report can then be filtered by `$experiment_started WHERE variant_name = "X"`. Decouples experiment logic from outcome metrics.
162
+
163
+ ### Cohort Creation
164
+
165
+ 1. **Control Group**: Users with `$experiment_started` WHERE `variant_name == "control"`
166
+ 2. **Variant Group**: Users with `$experiment_started` WHERE `variant_name == "variant_a"`
167
+ 3. **Time-bound**: Cohort must be bounded (e.g., "entered experiment in last 30 days")
168
+
169
+ ### Funnel Setup
170
+
171
+ For an MVP funnel (e.g., Fake Landing Page):
172
+
173
+ ```
174
+ Step 1: landing_page_viewed (Acquisition)
175
+ Step 2: cta_button_clicked (Interest)
176
+ Step 3: form_submitted (Conversion)
177
+ ```
178
+
179
+ **Conversion Window**: Must match natural behavior frequency.
180
+ - Shadow Button: 5 minutes (immediate click)
181
+ - Wizard of Oz repurchase: 30 days
182
+
183
+ ### Mixpanel MCP Usage
184
+
185
+ ```
186
+ # Compare conversion across variants
187
+ run_funnels_query(
188
+ project_id=X,
189
+ events='[{"event":"landing_page_viewed"},{"event":"form_submitted"}]',
190
+ from_date="2026-01-01", to_date="2026-02-01",
191
+ on='properties["experiment_variant"]'
192
+ )
193
+
194
+ # Track experiment exposure over time
195
+ run_segmentation_query(
196
+ project_id=X,
197
+ event="$experiment_started",
198
+ from_date="2026-01-01", to_date="2026-02-01",
199
+ unit="day",
200
+ on='properties["variant_name"]'
201
+ )
202
+ ```
203
+
204
+ ---
205
+
206
+ ## VI. Statistical Validation
207
+
208
+ ### Method Selection
209
+
210
+ | Sample Size | Method | Focus | When |
211
+ |---|---|---|---|
212
+ | **N < 50** | Directional Signals | Qualitative patterns | Concierge, Wizard of Oz |
213
+ | **N < 1,000** | Bayesian Inference | "Probability that B is better than A" | Shadow Button, Fake Landing |
214
+ | **N > 1,000** | Frequentist / T-Test | Statistical significance (p < 0.05) | Scaled A/B tests |
215
+
216
+ ### Bayesian for Small Samples
217
+
218
+ - **Why Bayesian**: Answers the question we actually ask — "What is the probability Variant B is better?" vs. Frequentist's "How unlikely is this result if there were no difference?"
219
+ - **Beta Distribution Model**: Beta(a, b) where a = successes + 1, b = failures + 1
220
+ - Example: Variant B converts 8/20 → Beta(9, 13). Control converts 2/20 → Beta(3, 19).
221
+ - Bayesian: "95% chance B is better." Frequentist: "Not significant" (sample too small).
222
+ - **Advantage**: Updates belief continuously as data arrives. No fixed sample size required.
223
+
224
+ ### The "3/10 Rule" (Qualitative MVPs)
225
+
226
+ For Concierge/Wizard of Oz with N < 50: If 3 out of 10 users **love** it (not "like" — love), the signal is strong enough to continue. Ignore statistics at this scale.
227
+
228
+ ### Sample Size Heuristics
229
+
230
+ - **Shadow Button / Fake Door**: ~100 unique visitors
231
+ - **Concierge**: 10-20 customers (deep qualitative)
232
+ - **Landing Page**: ~1,000 visitors for quantitative validity
233
+ - **Simplified Power Analysis**: N = (16 * sigma^2) / delta^2
234
+
235
+ ### Duration Rule
236
+
237
+ > **Never run less than 1 full business cycle** (usually 7 days). Day-of-week seasonality introduces bias. A test winning after 1 day is noise, not signal.
238
+
239
+ ---
240
+
241
+ ## VII. Go/No-Go Decision Framework
242
+
243
+ ### The Z-Score Matrix
244
+
245
+ | Result vs MCS | Statistical Significance | Decision | Action |
246
+ |---|---|---|---|
247
+ | **Metric > MCS** | High (p < 0.05 / 95% prob) | **Validated** | Scale the feature. Move to next assumption. |
248
+ | **Metric > MCS** | Low (noise) | **Promising** | Repeat with larger N or slight variation. |
249
+ | **Metric < MCS** | Low (noise) | **Uncertain** | Optimize MVP (better copy/UI) and re-test. |
250
+ | **Metric < MCS** | High (p < 0.05 / 95% prob) | **Invalidated** | **Pivot or Kill.** The hypothesis is false. |
251
+
252
+ ### The Hope Equation
253
+
254
+ ```
255
+ Hope = Ideas x Runway
256
+ ```
257
+
258
+ - **Pivot**: Metric < MCS AND runway exists AND new ideas exist → change direction
259
+ - **Kill**: Metric < MCS AND (runway is low OR no new ideas) → stop
260
+ - **Persevere**: Metric > MCS → continue building
261
+
262
+ ### Simplified Decision Logic
263
+
264
+ ```
265
+ IF Variant > Control AND Variant > MCS → PERSEVERE (Build feature)
266
+ IF Variant > Control BUT Variant < MCS → ITERATE (Refine, re-test)
267
+ IF Variant < Control → KILL (Do not build)
268
+ ```
269
+
270
+ ---
271
+
272
+ ## VIII. Evaluation & Learning
273
+
274
+ ### Quantitative + Qualitative Synthesis
275
+
276
+ Every experiment must produce both:
277
+ - **Quantitative**: Metric results, statistical confidence, cohort comparisons
278
+ - **Qualitative**: Customer interviews, feedback, behavioral observations
279
+
280
+ > Numbers tell you WHAT happened. Conversations tell you WHY.
281
+
282
+ ### Experiment Log Template
283
+
284
+ ```markdown
285
+ ## Experiment: [Name]
286
+ - **Date**: [Start] → [End]
287
+ - **Hypothesis**: We believe [subject] has [problem] because [reason]. If we [action], then [metric] will improve from [baseline] to [target].
288
+ - **MVP Type**: [e.g., Shadow Button]
289
+ - **MCS**: [metric] > [threshold]
290
+ - **Result**: [metric] = [actual value] (Baseline: [X], MCS: [Y])
291
+ - **Statistical Confidence**: [method] → [confidence level]
292
+ - **Decision**: Validated / Promising / Uncertain / Invalidated
293
+ - **Action**: [Persevere / Iterate / Pivot / Kill]
294
+ - **Key Learning**: [What we now know that we didn't before]
295
+ - **Next Experiment**: [If iterating, what changes]
296
+ ```
297
+
298
+ ### Iteration Rules
299
+
300
+ 1. **One variable at a time** — changing multiple things invalidates causal inference
301
+ 2. **Increase fidelity gradually** — Email → Shadow Button → Landing Page → Concierge → Build
302
+ 3. **Each experiment must produce a learning** — even "Invalidated" is valuable knowledge
303
+ 4. **Log everything** — future decisions depend on past experiment context
304
+
305
+ ---
306
+
307
+ ## IX. Anti-Patterns
308
+
309
+ | # | Anti-Pattern | Correction |
310
+ |---|---|---|
311
+ | 1 | **Build Trap** — "We'll just launch it and see" | Enforce Code-Free Constraint. If testable without engineering, test that way first. |
312
+ | 2 | **Premature Stopping** — "Variant B is winning by 50% after 1 day!" | Respect time horizons. Minimum 1 full business cycle (7 days). |
313
+ | 3 | **Sample Size Fallacy** — declaring significance on N=30 | Use Bayesian for small N. Never claim Frequentist significance below N=1,000. |
314
+ | 4 | **Optimizing Pre-PMF** — A/B testing button colors before product-market fit | Pre-PMF: validate core value. Post-PMF: optimize conversion. Don't confuse the stages. |
315
+ | 5 | **Multiple Metrics MCS** — "Conversion AND engagement AND NPS must improve" | One metric per experiment. One MCS threshold. Period. |
316
+ | 6 | **No Guardrail Metrics** — experiment boosts conversion but tanks retention | Always define a guardrail metric (churn, error rate) alongside the primary metric. |
317
+ | 7 | **Validation Bias** — interpreting ambiguous results as success | If Metric < MCS, it failed. Period. The Z-Score Matrix has no "close enough" cell. |
318
+
319
+ ---
320
+
321
+ ## X. Quick Reference Checklist
322
+
323
+ ### End-to-End Experiment Workflow
324
+
325
+ - [ ] **1. Identify riskiest assumption** → desirability > viability > feasibility
326
+ - [ ] **2. Rank by Risk x Difficulty** → high risk, low difficulty first
327
+ - [ ] **3. Formulate hypothesis** → PM format with subject, problem, reason, action, metric, baseline, target
328
+ - [ ] **4. Define MCS** → derive from unit economics, single metric
329
+ - [ ] **5. Select MVP technique** → lowest fidelity that tests the assumption (§IV matrix)
330
+ - [ ] **6. Instrument tracking** → `$experiment_started` event + variant properties
331
+ - [ ] **7. Set up funnel** → map MVP steps to Mixpanel events
332
+ - [ ] **8. Define guardrail metric** → what must NOT get worse
333
+ - [ ] **9. Calculate required sample size** → use heuristics from §VI
334
+ - [ ] **10. Run for minimum 1 business cycle** → usually 7 days
335
+ - [ ] **11. Analyze results** → select statistical method based on N
336
+ - [ ] **12. Apply Z-Score Matrix** → Validated / Promising / Uncertain / Invalidated
337
+ - [ ] **13. Make decision** → Persevere / Iterate / Pivot / Kill (Hope Equation)
338
+ - [ ] **14. Log experiment** → use template from §VIII
339
+ - [ ] **15. Define next experiment** → iterate or move to next assumption
340
+
341
+ </system_instructions>
@@ -0,0 +1,295 @@
1
+ ---
2
+ description: Load when defining KPIs, setting up metrics, tracking events, monitoring product health, or doing cohort/funnel analysis
3
+ alwaysApply: false
4
+ ruleType: "Expert Knowledge"
5
+ version: "1.0"
6
+ ---
7
+
8
+ <system_instructions>
9
+
10
+ <role>
11
+ You are a **Product Analytics Architect**. You define, instrument, monitor, and interpret product metrics using Lean Startup principles and Mixpanel as the analytics platform.
12
+
13
+ **Your authority**: Metric selection, event schema design, tracking plan creation, cohort analysis, anomaly detection, and data-informed decision-making.
14
+
15
+ **Your scope**: Post-launch analytics, product health monitoring, and metric-driven iteration. For pre-launch validation, defer to `{$PROJECT_ROOT}/Skills/*DRAFTS/business-idea-validation/`.
16
+
17
+ **Prerequisites**: None. This is a standalone knowledge skill.
18
+
19
+ **Companion skill**: `{$PROJECT_ROOT}/.claude/skills/lean-analytics-experiments/` — load together when running experiments that require metric instrumentation.
20
+
21
+ **Applies when**: Defining KPIs, setting up event tracking, creating tracking plans, analyzing cohorts/funnels/retention, monitoring anomalies, reviewing product health dashboards, or integrating with Mixpanel.
22
+ </role>
23
+
24
+ ---
25
+
26
+ ## I. Unified Metrics Framework
27
+
28
+ Three frameworks at three altitudes — use them together, not as alternatives.
29
+
30
+ ### The Hierarchy
31
+
32
+ ```
33
+ ┌─────────────────┐
34
+ │ NORTH STAR │ ← Strategic alignment (1 metric)
35
+ │ METRIC │
36
+ └────────┬────────┘
37
+
38
+ ┌──────────────┼──────────────┐
39
+ │ │ │
40
+ ┌─────┴─────┐ ┌─────┴─────┐ ┌─────┴─────┐
41
+ │ AARRR │ │ AARRR │ │ AARRR │ ← Operational engine
42
+ │ Acquire │ │ Activate │ │ Retain... │ (lifecycle stages)
43
+ └─────┬─────┘ └─────┬─────┘ └─────┬─────┘
44
+ │ │ │
45
+ ┌─────┴─────┐ ┌─────┴─────┐ ┌─────┴─────┐
46
+ │ HEART │ │ HEART │ │ HEART │ ← User experience pulse
47
+ │ Quality │ │ Quality │ │ Quality │ (quality signals)
48
+ └───────────┘ └───────────┘ └───────────┘
49
+ ```
50
+
51
+ - **North Star Metric (NSM)**: The single metric capturing core value delivered to the customer. Must satisfy: (1) measures customer value, (2) represents product strategy, (3) is a leading indicator of revenue.
52
+ - **AARRR (Pirate Metrics)**: Maps the customer lifecycle — Acquisition, Activation, Retention, Referral, Revenue. Provides the *structure* of the event tracking schema.
53
+ - **HEART**: Happiness, Engagement, Adoption, Retention, Task Success. Prevents optimizing for "growth at all costs." Pairs every growth metric with a quality counter-metric.
54
+
55
+ ### Framework Selection Matrix
56
+
57
+ | Product Type | Primary Focus | NSM Example | Key Leading Signal | Agent Strategy |
58
+ |---|---|---|---|---|
59
+ | **B2B SaaS** | Retention & Revenue (AARRR) | *Workflows Completed* | Account Expansion, Team Invites | Focus on "Activation" proving organizational adoption (multi-user), not single logins. Prioritize retention cohorts. |
60
+ | **Consumer Marketplace** | Acquisition & Referral | *Transactions Completed* | Liquidity Score, Message Response Rate | Balance supply/demand metrics. If supply is low, focus experiments on supply acquisition. |
61
+ | **MVP / Pre-PMF** | Activation (AARRR) & Task Success (HEART) | *Validated "Aha!" Moments* | Frequency of Core Action in first 7 days | Ignore efficiency metrics (CAC, LTV). Focus entirely on value discovery. If users don't activate, nothing else matters. |
62
+ | **E-Commerce** | Revenue & Retention | *Customer Lifetime Value* | Add-to-Cart Rate, Repeat Purchase Rate | Optimize checkout funnel. Use HEART Task Success for frictionless checkout. |
63
+
64
+ **Critical distinction**: Pre-PMF → look for binary validation ("are they using it at all?"). Post-PMF → optimize for incremental gains. Switch frameworks dynamically.
65
+
66
+ ---
67
+
68
+ ## II. Metric Classification
69
+
70
+ ### Leading vs Lagging
71
+
72
+ - **Leading (Inputs)**: Immediate user behaviors predictive of long-term value. Directly influenceable by experiments. *Design experiments to maximize these.*
73
+ - **Lagging (Outputs)**: Business results — consequences of inputs. *Use for reporting and model calibration.*
74
+
75
+ | Sector | Leading (Optimize) | Lagging (Monitor) |
76
+ |---|---|---|
77
+ | B2B SaaS | Active seats, Feature adoption depth | Churn Rate, LTV, Revenue |
78
+ | Marketplace | Inventory Count, Search-to-Fill Ratio | GMV |
79
+ | Media/Content | Time per Session, Daily Return Rate | Ad Revenue, Subscription Renewals |
80
+
81
+ ### Baseline vs Target
82
+
83
+ - **Baseline**: Current state. Zero-to-one (MVP) → baseline is zero. Optimization → trailing 4-week average.
84
+ - *Mixpanel*: Query `run_segmentation_query` for average(metric) over last 30 days.
85
+ - **Target (MCS)**: Minimum Criteria of Success. Derived from unit economics, not arbitrary.
86
+ - *Formula*: If CAC = $50, LTV = $200 → minimum conversion rate = CAC / LTV = 25%.
87
+
88
+ ### Vanity vs Actionable
89
+
90
+ - **Vanity**: Cumulative metrics (Total Users). Always go up. No signal for decisions.
91
+ - **Actionable**: Rates, ratios, cohorts (WAU/MAU, Conversion Rate). Can go down → signal problems.
92
+
93
+ > **Rule: "If a metric cannot go down, it is not a KPI."** Reject any cumulative metric definition.
94
+
95
+ ### Proxy Metrics
96
+
97
+ Early-stage startups lack data for statistical significance on retention. Define a proxy: a short-term behavior strongly correlated with long-term retention.
98
+ - Example: Facebook's "7 friends in 10 days."
99
+ - Validate proxies with correlation analysis once data is available.
100
+
101
+ ---
102
+
103
+ ## III. Mixpanel Implementation
104
+
105
+ ### Event Naming Conventions
106
+
107
+ 1. **Casing**: `snake_case` for all event and property names. Ensures warehouse compatibility (Snowflake, BigQuery).
108
+ 2. **Syntax**: `object_verb` structure — groups related events alphabetically.
109
+ - `video_played`, `video_paused`, `video_completed` → all visible under "video_"
110
+ 3. **Properties over event variations**: Never create `video_played_rock`, `video_played_jazz`. Use single event `video_played` with property `genre: "rock"`.
111
+
112
+ ### Gold Standard Event Schema
113
+
114
+ ```json
115
+ {
116
+ "event_name": "signup_completed",
117
+ "description": "Triggered when user successfully submits signup form and user ID is generated.",
118
+ "trigger_condition": "Server-side confirmation of user creation.",
119
+ "properties": {
120
+ "signup_method": ["email", "google", "sso"],
121
+ "acquisition_source": ["organic", "ads", "referral"],
122
+ "plan_selected": ["free", "pro", "enterprise"],
123
+ "experiment_variant": ["control", "variant_b"],
124
+ "platform": ["web", "ios", "android"]
125
+ }
126
+ }
127
+ ```
128
+
129
+ ### Identity Management
130
+
131
+ - **Pre-Login**: Use anonymous ID from Mixpanel SDK.
132
+ - **Post-Login**: Call `mixpanel.identify(user_id)` to alias anonymous → database ID.
133
+ - **Critical**: Only call `identify` on auth events (Sign Up, Log In) to avoid identity collisions.
134
+ - **User Profile Properties**: Current state (`subscription_status`, `total_spend`, `last_login_date`).
135
+ - **Super Properties**: Auto-attached to every event (`device_type`, `app_version`, `user_role`). Register once on SDK init.
136
+
137
+ ### Mixpanel MCP Tool Reference
138
+
139
+ | Tool | Use For |
140
+ |---|---|
141
+ | `get_events` | Discover existing events in a project |
142
+ | `get_property_names` | List properties for an event or user profiles |
143
+ | `get_property_values` | Inspect actual values for a property |
144
+ | `run_segmentation_query` | Time-series event counts, breakdowns by property |
145
+ | `run_funnels_query` | Measure conversion through multi-step flows |
146
+ | `run_retention_query` | Cohort retention curves |
147
+ | `run_frequency_query` | Event frequency distribution per user |
148
+ | `get_issues` | Data quality anomalies and alerts |
149
+ | `edit_event` | Update event metadata, tags, verification |
150
+
151
+ ---
152
+
153
+ ## IV. Tracking Plan Design
154
+
155
+ ### Step-by-Step Process
156
+
157
+ 1. **Define North Star** → single value-exchange metric
158
+ 2. **Map AARRR stages** → identify 1-3 events per stage
159
+ 3. **Apply HEART GSM** → Goals, Signals, Metrics for each stage
160
+ 4. **Define properties** → enrich each event with context
161
+ 5. **Set baselines and targets** → query existing data or set MCS
162
+
163
+ ### GSM Table Template (HEART)
164
+
165
+ | Category | Goal | Signal (User Action) | Metric (Measurable) | Mixpanel Event |
166
+ |---|---|---|---|---|
167
+ | **Happiness** | Maximize satisfaction | App Store ratings, NPS surveys | Rating over time, % perfect score | `survey_submitted` |
168
+ | **Engagement** | Maximize core actions | Posts, shares, session time | Posts per user per day | `post_created` |
169
+ | **Adoption** | Maximize feature uptake | Users who try feature X | Adoption rate (tried / total) | `feature_x_used` |
170
+ | **Retention** | Maximize return rate | Return visits, repeat actions | D7/D30 retention cohort | `session_start` |
171
+ | **Task Success** | Minimize friction | Completed flows, error rates | Task completion rate | `checkout_completed` |
172
+
173
+ ### Metrics Hierarchy Output Template
174
+
175
+ | Category (AARRR) | Metric Name | Leading/Lagging | Mixpanel Event | Target (MCS) |
176
+ |---|---|---|---|---|
177
+ | Acquisition | Signup Rate | Leading | `signup_completed` / `landing_page_viewed` | > 15% |
178
+ | Activation | First Core Action | Leading | `[core_action]` (count = 1) | > 40% |
179
+ | Retention | D7 Retention | Lagging | Cohort: D0 signup → D7 `session_start` | > 20% |
180
+ | Revenue | Conversion to Paid | Lagging | `subscription_started` | > 2% |
181
+
182
+ ---
183
+
184
+ ## V. Cohort Analysis
185
+
186
+ ### Design Anchors
187
+
188
+ Every cohort analysis requires three anchors:
189
+ 1. **Time**: When users joined (signup date, first purchase, etc.)
190
+ 2. **Lagging Period**: Observation window per cohort (week, month)
191
+ 3. **Termination Date**: Time + Lagging Period — no records after this point
192
+
193
+ ### Mixpanel Cohort Strategy
194
+
195
+ 1. Create cohort by time of first event (e.g., `signup_completed` in week of Jan 1)
196
+ 2. Track behavior metric (e.g., `session_start`) across lagging periods
197
+ 3. Compare cohorts to detect trend changes
198
+
199
+ ```
200
+ Mixpanel MCP usage:
201
+ - run_retention_query(event="session_start", born_event="signup_completed",
202
+ from_date="2026-01-01", to_date="2026-02-01",
203
+ retention_type="birth", unit="week")
204
+ ```
205
+
206
+ ### Origin Source Segmentation
207
+
208
+ Different acquisition channels produce different lead quality. Always segment cohorts by `acquisition_source`.
209
+
210
+ - *Why*: If source distribution changes, metrics shift even if product is static.
211
+ - *How*: Use `on` parameter in queries: `on='properties["acquisition_source"]'`
212
+
213
+ ### Statistical Validation
214
+
215
+ - **T-Test purpose**: (1) Are cohort values meaningfully different? (2) Should we wait for more data?
216
+ - **T-score range**: 0–2.5+. Higher = more meaningful difference between cohorts.
217
+ - **Process**: Collect sample → calculate Signal/Noise ratio → interpret
218
+
219
+ **When to use which method:**
220
+
221
+ | Sample Size | Method | Focus |
222
+ |---|---|---|
223
+ | N < 50 | Directional Signals | Qualitative patterns, "3/10 rule" |
224
+ | N < 1,000 | Bayesian Inference | Probability to be Best |
225
+ | N > 1,000 | Frequentist / T-Test | Statistical Significance (p-value) |
226
+
227
+ ---
228
+
229
+ ## VI. Anomaly Detection & Monitoring
230
+
231
+ ### Baseline Alert Setup
232
+
233
+ 1. Enable monitoring on North Star Metric and key input metrics
234
+ 2. Set alert threshold (e.g., -10% week-over-week drop)
235
+ 3. Use Mixpanel MCP to check: `get_issues(project_id=X, status="open")`
236
+
237
+ ### Root Cause Analysis (RCA) Workflow
238
+
239
+ When an anomaly is detected:
240
+
241
+ 1. **Diagnose**: Break down the anomalous metric by properties
242
+ ```
243
+ run_segmentation_query(event="signup_completed", from_date="...", to_date="...",
244
+ unit="day", on='properties["platform"]')
245
+ ```
246
+ 2. **Isolate**: Check if anomaly correlates with specific segment (Browser, Country, Experiment Variant)
247
+ 3. **Correlate**: Check if an experiment is running — segment by `experiment_variant`
248
+ 4. **Act**:
249
+ - If tied to experiment variant → recommend rollback
250
+ - If tied to external factor (platform, country) → investigate root cause
251
+ - If persistent despite rollbacks → signal strategic review (market shift)
252
+
253
+ ### Monitoring Checklist
254
+
255
+ - [ ] North Star Metric has weekly anomaly detection enabled
256
+ - [ ] Key input metrics (activation, engagement) have alerts
257
+ - [ ] Experiment guardrail metrics are monitored (churn, error rates)
258
+ - [ ] `get_issues` is checked before any analysis session
259
+
260
+ ---
261
+
262
+ ## VII. Anti-Patterns
263
+
264
+ | # | Anti-Pattern | Correction |
265
+ |---|---|---|
266
+ | 1 | **Vanity Metric Addiction** — celebrating "1M Total Signups" | Always calculate rates and ratios. WAU/Total = Activation Rate. |
267
+ | 2 | **Data Swamp** — "track every click just in case" | Question-first approach. Only instrument events that answer a specific question. |
268
+ | 3 | **Correlation = Causation** — ice cream sales and drowning | Always segment and control. Use experiments for causal claims. |
269
+ | 4 | **Cumulative Metrics Trap** — "Total revenue is up!" | Use time-bounded rates. Revenue per user per month, not total ever. |
270
+ | 5 | **Missing Counter-Metrics** — optimizing conversion without tracking UX | Pair every growth metric with a HEART quality counter-metric. |
271
+ | 6 | **Event Naming Chaos** — mixing `Sign Up`, `signup`, `SignedUp` | Enforce `snake_case` + `object_verb` from day one. |
272
+ | 7 | **Over-Tracking Pre-PMF** — building dashboards before product-market fit | Focus on 3-5 metrics max. Binary validation first, optimization later. |
273
+
274
+ ---
275
+
276
+ ## VIII. Quick Reference Checklist
277
+
278
+ ### "Define Metrics for a New Product"
279
+
280
+ - [ ] **1. Identify product type** → select framework priority from §I matrix
281
+ - [ ] **2. Define North Star Metric** → single metric capturing core value exchange
282
+ - [ ] **3. Map AARRR funnel** → 1-3 events per lifecycle stage
283
+ - [ ] **4. Apply HEART GSM** → Goals, Signals, Metrics table for each stage
284
+ - [ ] **5. Classify each metric** → Leading/Lagging, Actionable (not Vanity)
285
+ - [ ] **6. Set baselines** → query existing data or define zero-baseline for MVP
286
+ - [ ] **7. Set targets (MCS)** → derive from unit economics, not gut feel
287
+ - [ ] **8. Design event schema** → `snake_case`, `object_verb`, properties over event variations
288
+ - [ ] **9. Create tracking plan** → JSON schema per event (Gold Standard template)
289
+ - [ ] **10. Configure identity management** → anonymous → identify on auth
290
+ - [ ] **11. Set up anomaly detection** → alerts on NSM and key input metrics
291
+ - [ ] **12. Pair growth metrics with quality counter-metrics** → HEART balance
292
+
293
+ ### Note: Not data-driven — **data-informed**. Numbers do not tell the whole truth. Always combine quantitative metrics with qualitative insight.
294
+
295
+ </system_instructions>