codymaster 4.1.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.
- package/CHANGELOG.md +50 -0
- package/README.md +285 -0
- package/adapters/antigravity.js +15 -0
- package/adapters/claude-code.js +17 -0
- package/adapters/cursor.js +16 -0
- package/commands/bootstrap.md +49 -0
- package/commands/build.md +48 -0
- package/commands/content.md +48 -0
- package/commands/continuity.md +60 -0
- package/commands/debug.md +51 -0
- package/commands/demo.md +96 -0
- package/commands/deploy.md +51 -0
- package/commands/plan.md +42 -0
- package/commands/review.md +55 -0
- package/commands/track.md +46 -0
- package/commands/ux.md +46 -0
- package/dist/agent-dispatch.js +161 -0
- package/dist/chains/builtin.js +85 -0
- package/dist/continuity.js +385 -0
- package/dist/dashboard.js +926 -0
- package/dist/data.js +122 -0
- package/dist/index.js +2434 -0
- package/dist/judge.js +252 -0
- package/dist/parallel-dispatch.js +359 -0
- package/dist/parallel-quality.js +172 -0
- package/dist/skill-chain.js +258 -0
- package/install.sh +513 -0
- package/package.json +79 -0
- package/skills/.content-factory-state.json +132 -0
- package/skills/.git 2/logs/refs/heads/main +1 -0
- package/skills/.git 2/logs/refs/remotes/origin/main +1 -0
- package/skills/.git 2/objects/02/fb0956734b5f8ba3f918b7defd04a89cfe0076 +0 -0
- package/skills/.git 2/objects/08/1e129d75dc6feac6c02037272e6bd1a04e3324 +0 -0
- package/skills/.git 2/objects/0c/5393416f3c5e01c9a655a802bff0dd52f76f0a +0 -0
- package/skills/.git 2/objects/10/0b9be46978a946a77188f68be725098a122001 +0 -0
- package/skills/.git 2/objects/10/cf041167fc9843610eb3d90259ef3396315fdc +0 -0
- package/skills/.git 2/objects/12/5e19538dd6e1338ffe74f6c4c165b00435bf48 +0 -0
- package/skills/.git 2/objects/16/a9b9d0088d5c1347628b45a2620b479d8ad57c +0 -0
- package/skills/.git 2/objects/17/8c2a9ef93c33ae4eec9d58e82321f9229843a1 +0 -0
- package/skills/.git 2/objects/25/397ae41d09104d763bdcac2695209d85cdea89 +0 -0
- package/skills/.git 2/objects/2f/a836b7947f2d458e1f639788bf4bb0983a3305 +0 -0
- package/skills/.git 2/objects/3a/baaaf0a1c0909c0828335791557125fba911e0 +0 -0
- package/skills/.git 2/objects/42/2924221b81f5ce3c4e4daac9a64a24f9b01f9a +0 -0
- package/skills/.git 2/objects/42/ec0ce707447dc11446a34c9995fb8533801731 +0 -0
- package/skills/.git 2/objects/46/e43ce92866d56ce74b1d750db307cfe6154a15 +0 -0
- package/skills/.git 2/objects/48/5e41b633c63f55b8277bcc59f44f67681f671a +0 -0
- package/skills/.git 2/objects/49/49c596a3a89fa240642acd95dd3258e261eb09 +0 -0
- package/skills/.git 2/objects/50/9d42d8412ef8eaf7f7e138476bac2e4d10ce60 +0 -0
- package/skills/.git 2/objects/55/0c8c389d981b463ef849aeb792d8be3ccb6ec8 +0 -0
- package/skills/.git 2/objects/5d/82d3b18410cdda3ace3677436f0cb599dbe2d2 +0 -0
- package/skills/.git 2/objects/60/0617c58e871a38b33bf29e282d132bb3c381ad +0 -0
- package/skills/.git 2/objects/6a/8369a99c687b7245c92ffaf0e0f0dab9014504 +0 -0
- package/skills/.git 2/objects/79/bea435d40ab531c1aaf6be0432c6a5b7aaed21 +0 -0
- package/skills/.git 2/objects/7e/5ebd79251c2f14e4aceb86c74b6b6daae6b500 +0 -0
- package/skills/.git 2/objects/81/98a822a60178d6d5023ddb3e222cddf048742e +0 -0
- package/skills/.git 2/objects/86/0a0e1943dfe53411d2e499a1f16f46a96ef758 +0 -0
- package/skills/.git 2/objects/86/971fb55fdc081fdbae52376f0f13e57a4e9b04 +0 -0
- package/skills/.git 2/objects/88/b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d +0 -0
- package/skills/.git 2/objects/90/8737edb6b7809e32cc01590b4e08ba42a9d40d +0 -0
- package/skills/.git 2/objects/93/d5a8a9a7d4fb7f11491cb596a6880528725118 +0 -0
- package/skills/.git 2/objects/98/46a2ab81d0c3b3eb00ef88fc56989aa7e9f316 +0 -0
- package/skills/.git 2/objects/9b/d8dd1e49cf274eaf9c555f3ab39dce7af5715e +0 -0
- package/skills/.git 2/objects/a1/13329fb0cec96ae78b222d33a24c3b5bc7fa1f +0 -0
- package/skills/.git 2/objects/a9/e6effe626e8a3aea3a8fc3364b492191c6e7d0 +0 -0
- package/skills/.git 2/objects/ad/6de7e48d9782cca9353d1ff0aa1aab7fe1df85 +0 -0
- package/skills/.git 2/objects/af/54ae316f771ff692e299ffcd8bf2f06b413b59 +0 -0
- package/skills/.git 2/objects/b0/4cb8b0b00dad633e731c1472161419e738d674 +0 -0
- package/skills/.git 2/objects/b3/094abb0b9ed46419b269e4a4e36a459690e3b0 +0 -0
- package/skills/.git 2/objects/b9/435c5d4baac2cfc5c83009ddd27b46b60db5f1 +0 -0
- package/skills/.git 2/objects/ba/5da17dbaec5ec2dcfdfd126aead518d1171d5c +0 -0
- package/skills/.git 2/objects/c0/bf58703aa258ba5dd63083bebaec8f223d844c +0 -0
- package/skills/.git 2/objects/c4/701a34edf1fc1bad58ccc57bd03f9426acb59a +0 -0
- package/skills/.git 2/objects/c7/5ccce9a4e5cc74d9b3174550cf6d993ca43638 +0 -0
- package/skills/.git 2/objects/c7/710d59b5a35b0f1f0a0399386643a0bd94c929 +0 -0
- package/skills/.git 2/objects/d1/fe58237112e953e5fec52da22cf38e08be3df9 +5 -0
- package/skills/.git 2/objects/d2/2bbe9fd2f74c95bc5583e803f5e435f1e2cd86 +0 -0
- package/skills/.git 2/objects/d7/e72852ea2bff74581dbf247d400120086229f4 +0 -0
- package/skills/.git 2/objects/d8/d4c3b5553e4fd72807e1d4b49ef07d9ef3ac35 +0 -0
- package/skills/.git 2/objects/dc/75050c2876f6a02ae2a53a3c886f395b622977 +0 -0
- package/skills/.git 2/objects/ee/e8546f95acec500187c08a28a8b9ee02db0dec +0 -0
- package/skills/.git 2/objects/ef/263c059208b416c2146434f10cb2b9fabcba16 +0 -0
- package/skills/.git 2/objects/f3/ae597e84d9a59b88acd21c99bde2eaf686d785 +0 -0
- package/skills/.git 2/objects/f3/f6f5673c821d3d8e76fa267a9e882e7a5387ea +0 -0
- package/skills/.git 2/objects/f9/6e6d0ad02624dd11d5848594d056caef7a5e8b +0 -0
- package/skills/.git 2/objects/ff/278988fc1edf0db3abcf18de795f4cc0b4f3e1 +0 -0
- package/skills/.git 2/refs/heads/main +1 -0
- package/skills/.git 2/refs/remotes/origin/main +1 -0
- package/skills/.pytest_cache 2/v/cache/nodeids +76 -0
- package/skills/.pytest_cache 2/v/cache/stepwise +1 -0
- package/skills/_shared/helpers.md +123 -0
- package/skills/_shared/outputs-convention.md +24 -0
- package/skills/cm-ads-tracker/SKILL.md +109 -0
- package/skills/cm-ads-tracker/evals/evals.json +55 -0
- package/skills/cm-ads-tracker/references/gtm-architecture.md +321 -0
- package/skills/cm-ads-tracker/references/industry-events.md +294 -0
- package/skills/cm-ads-tracker/references/platforms-api.md +238 -0
- package/skills/cm-ads-tracker/templates/capi-payload.md +79 -0
- package/skills/cm-ads-tracker/templates/datalayer-push.js +104 -0
- package/skills/cm-ads-tracker/templates/gtm-variables.js +56 -0
- package/skills/cm-brainstorm-idea/SKILL.md +423 -0
- package/skills/cm-code-review/SKILL.md +151 -0
- package/skills/cm-content-factory/SKILL.md +416 -0
- package/skills/cm-continuity/SKILL.md +399 -0
- package/skills/cm-dashboard/SKILL.md +533 -0
- package/skills/cm-dashboard/ui/app.js +1270 -0
- package/skills/cm-dashboard/ui/index.html +206 -0
- package/skills/cm-dashboard/ui/style.css +440 -0
- package/skills/cm-debugging/SKILL.md +412 -0
- package/skills/cm-deep-search/SKILL.md +242 -0
- package/skills/cm-design-system/SKILL.md +97 -0
- package/skills/cm-design-system/resources/halo-modern.md +40 -0
- package/skills/cm-design-system/resources/lunaris-advanced.md +40 -0
- package/skills/cm-design-system/resources/nitro-enterprise.md +39 -0
- package/skills/cm-design-system/resources/shadcn-default.md +37 -0
- package/skills/cm-dockit/README.md +100 -0
- package/skills/cm-dockit/SKILL.md +302 -0
- package/skills/cm-dockit/index.html +443 -0
- package/skills/cm-dockit/package-lock.json +1850 -0
- package/skills/cm-dockit/package.json +14 -0
- package/skills/cm-dockit/prompts/analysis.md +34 -0
- package/skills/cm-dockit/prompts/api-reference.md +24 -0
- package/skills/cm-dockit/prompts/architecture.md +21 -0
- package/skills/cm-dockit/prompts/data-flow.md +20 -0
- package/skills/cm-dockit/prompts/database.md +21 -0
- package/skills/cm-dockit/prompts/deployment.md +22 -0
- package/skills/cm-dockit/prompts/flows.md +21 -0
- package/skills/cm-dockit/prompts/jtbd.md +20 -0
- package/skills/cm-dockit/prompts/personas.md +24 -0
- package/skills/cm-dockit/prompts/sop-modules.md +40 -0
- package/skills/cm-dockit/scripts/doc-gen.sh +121 -0
- package/skills/cm-dockit/scripts/dockit-dashboard.sh +142 -0
- package/skills/cm-dockit/scripts/dockit-runner.sh +607 -0
- package/skills/cm-dockit/scripts/dockit-task.sh +166 -0
- package/skills/cm-dockit/skills/analyze-codebase.md +174 -0
- package/skills/cm-dockit/skills/api-reference.md +237 -0
- package/skills/cm-dockit/skills/changelog-guide.md +195 -0
- package/skills/cm-dockit/skills/content-guidelines.md +190 -0
- package/skills/cm-dockit/skills/sop-guide.md +184 -0
- package/skills/cm-dockit/skills/tech-docs.md +287 -0
- package/skills/cm-dockit/templates/markdown/structure.md +60 -0
- package/skills/cm-dockit/templates/vitepress-premium/.vitepress/config.mts +110 -0
- package/skills/cm-dockit/templates/vitepress-premium/.vitepress/theme/custom.css +189 -0
- package/skills/cm-dockit/templates/vitepress-premium/.vitepress/theme/index.ts +4 -0
- package/skills/cm-dockit/templates/vitepress-premium/package.json +19 -0
- package/skills/cm-dockit/templates/vitepress-premium/tests/frontend.test.ts +45 -0
- package/skills/cm-dockit/tests/runner.test.ts +66 -0
- package/skills/cm-dockit/workflows/export-markdown.md +82 -0
- package/skills/cm-dockit/workflows/generate-docs.md +68 -0
- package/skills/cm-dockit/workflows/setup-vitepress.md +181 -0
- package/skills/cm-example/SKILL.md +26 -0
- package/skills/cm-execution/SKILL.md +268 -0
- package/skills/cm-git-worktrees/SKILL.md +164 -0
- package/skills/cm-how-it-work/SKILL.md +189 -0
- package/skills/cm-identity-guard/SKILL.md +412 -0
- package/skills/cm-jtbd/SKILL.md +98 -0
- package/skills/cm-planning/SKILL.md +130 -0
- package/skills/cm-project-bootstrap/SKILL.md +161 -0
- package/skills/cm-project-bootstrap/templates/AGENTS.md +42 -0
- package/skills/cm-project-bootstrap/templates/frontend-safety.test.js +51 -0
- package/skills/cm-project-bootstrap/templates/i18n-sync.test.js +38 -0
- package/skills/cm-project-bootstrap/templates/pr-template.md +12 -0
- package/skills/cm-project-bootstrap/templates/project-identity.json +29 -0
- package/skills/cm-project-bootstrap/templates/vitest.config.js +10 -0
- package/skills/cm-quality-gate/SKILL.md +218 -0
- package/skills/cm-readit/SKILL.md +289 -0
- package/skills/cm-readit/audio-player.md +206 -0
- package/skills/cm-readit/examples/blog-reader.js +352 -0
- package/skills/cm-readit/examples/voice-cro.js +390 -0
- package/skills/cm-readit/tts-engine.md +262 -0
- package/skills/cm-readit/ui-patterns.md +362 -0
- package/skills/cm-readit/voice-cro.md +223 -0
- package/skills/cm-safe-deploy/SKILL.md +120 -0
- package/skills/cm-safe-deploy/templates/deploy.sh +89 -0
- package/skills/cm-safe-i18n/SKILL.md +473 -0
- package/skills/cm-secret-shield/SKILL.md +580 -0
- package/skills/cm-skill-chain/SKILL.md +78 -0
- package/skills/cm-skill-index/SKILL.md +318 -0
- package/skills/cm-skill-mastery/SKILL.md +169 -0
- package/skills/cm-start/SKILL.md +65 -0
- package/skills/cm-status/SKILL.md +12 -0
- package/skills/cm-tdd/SKILL.md +370 -0
- package/skills/cm-terminal/SKILL.md +177 -0
- package/skills/cm-test-gate/SKILL.md +242 -0
- package/skills/cm-ui-preview/SKILL.md +291 -0
- package/skills/cm-ux-master/DESIGN_STANDARD_TEMPLATE.md +54 -0
- package/skills/cm-ux-master/SKILL.md +114 -0
- package/skills/cro-methodology/SKILL.md +98 -0
- package/skills/cro-methodology/references/COPYWRITING.md +178 -0
- package/skills/cro-methodology/references/OBJECTIONS.md +135 -0
- package/skills/cro-methodology/references/PERSUASION.md +158 -0
- package/skills/cro-methodology/references/RESEARCH.md +220 -0
- package/skills/cro-methodology/references/funnel-analysis.md +365 -0
- package/skills/cro-methodology/references/testing-methodology.md +330 -0
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
# CRO Testing Methodology
|
|
2
|
+
|
|
3
|
+
Deep-dive into experiment design, statistical rigor, and test prioritization from the CRE Methodology.
|
|
4
|
+
|
|
5
|
+
## The Philosophy of Bold Testing
|
|
6
|
+
|
|
7
|
+
### Why "Meek Tweaks" Fail
|
|
8
|
+
|
|
9
|
+
Most A/B tests fail because they're too small to detect. Button color changes, minor copy tweaks, and micro-optimizations suffer from:
|
|
10
|
+
|
|
11
|
+
1. **Insufficient sample size** - Small changes require massive traffic to reach significance
|
|
12
|
+
2. **Interaction effects** - Minor changes get lost in noise
|
|
13
|
+
3. **Opportunity cost** - Time spent on 2% wins could find 200% wins
|
|
14
|
+
|
|
15
|
+
**Rule: Test big changes that could double conversion, not small changes that might move it 5%.**
|
|
16
|
+
|
|
17
|
+
### The 10x Mindset
|
|
18
|
+
|
|
19
|
+
Before any test, ask: "Could this 10x our results?" If not, is it worth testing?
|
|
20
|
+
|
|
21
|
+
- **Worth testing:** Complete page redesign, new value proposition, fundamentally different offer
|
|
22
|
+
- **Not worth testing:** Button color, font size, image swap
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## A/B Testing vs. Multivariate Testing
|
|
27
|
+
|
|
28
|
+
### A/B Testing (Split Testing)
|
|
29
|
+
|
|
30
|
+
Compare two (or more) complete versions against each other.
|
|
31
|
+
|
|
32
|
+
| Aspect | Details |
|
|
33
|
+
|--------|---------|
|
|
34
|
+
| **Best for** | Testing big concepts, page redesigns, offers |
|
|
35
|
+
| **Traffic needed** | Lower (split between 2-4 variants) |
|
|
36
|
+
| **Insights** | Which version wins overall |
|
|
37
|
+
| **Limitation** | Doesn't show which elements contributed |
|
|
38
|
+
|
|
39
|
+
**When to use:**
|
|
40
|
+
- You have a hypothesis about a major change
|
|
41
|
+
- Traffic is limited
|
|
42
|
+
- You're comparing conceptual approaches
|
|
43
|
+
|
|
44
|
+
### Multivariate Testing (MVT)
|
|
45
|
+
|
|
46
|
+
Test multiple elements simultaneously to find optimal combination.
|
|
47
|
+
|
|
48
|
+
| Aspect | Details |
|
|
49
|
+
|--------|---------|
|
|
50
|
+
| **Best for** | Optimizing elements after winning concept proven |
|
|
51
|
+
| **Traffic needed** | Much higher (combinations multiply) |
|
|
52
|
+
| **Insights** | Which specific elements drive results |
|
|
53
|
+
| **Limitation** | Requires significant traffic |
|
|
54
|
+
|
|
55
|
+
**When to use:**
|
|
56
|
+
- You have a winning page to optimize further
|
|
57
|
+
- High traffic (100k+ monthly visitors)
|
|
58
|
+
- Clear, isolated elements to test
|
|
59
|
+
|
|
60
|
+
### Traffic Requirements
|
|
61
|
+
|
|
62
|
+
**A/B Test:**
|
|
63
|
+
```
|
|
64
|
+
Minimum sample per variant = 250-500 conversions
|
|
65
|
+
For 2 variants with 5% conversion: 10,000-20,000 visitors needed
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**Multivariate Test:**
|
|
69
|
+
```
|
|
70
|
+
Combinations = (Options for Element 1) × (Options for Element 2) × ...
|
|
71
|
+
Example: 3 headlines × 3 images × 2 CTAs = 18 combinations
|
|
72
|
+
Each combination needs 250+ conversions = 90,000+ conversions total
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Recommendation:** Start with A/B tests. Only move to MVT when you have:
|
|
76
|
+
- Proven winning page concept
|
|
77
|
+
- 100k+ monthly visitors
|
|
78
|
+
- Mature testing program
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Statistical Significance
|
|
83
|
+
|
|
84
|
+
### What It Means
|
|
85
|
+
|
|
86
|
+
Statistical significance tells you: "How likely is this result due to chance vs. a real effect?"
|
|
87
|
+
|
|
88
|
+
**Industry standard:** 95% confidence (p-value < 0.05)
|
|
89
|
+
- 95% confident the difference is real
|
|
90
|
+
- 5% chance it's random noise
|
|
91
|
+
|
|
92
|
+
### Common Mistakes
|
|
93
|
+
|
|
94
|
+
**1. Peeking and stopping early**
|
|
95
|
+
|
|
96
|
+
Checking results daily and stopping when you see a winner leads to false positives.
|
|
97
|
+
|
|
98
|
+
- **Wrong:** "We're at 95% confidence after 3 days—ship it!"
|
|
99
|
+
- **Right:** Pre-determine sample size and test duration; don't stop early
|
|
100
|
+
|
|
101
|
+
**2. Calling tests with insufficient data**
|
|
102
|
+
|
|
103
|
+
| Visitors | Conversions | Can you call it? |
|
|
104
|
+
|----------|-------------|------------------|
|
|
105
|
+
| 500 | 15 vs 20 | No |
|
|
106
|
+
| 5,000 | 150 vs 200 | Possibly |
|
|
107
|
+
| 50,000 | 1,500 vs 2,000 | Yes |
|
|
108
|
+
|
|
109
|
+
**3. Ignoring practical significance**
|
|
110
|
+
|
|
111
|
+
A statistically significant 0.1% lift isn't worth implementation complexity.
|
|
112
|
+
|
|
113
|
+
**4. Multiple comparison problem**
|
|
114
|
+
|
|
115
|
+
Testing 20 variants? One will show "significance" by chance alone.
|
|
116
|
+
|
|
117
|
+
### Sample Size Calculation
|
|
118
|
+
|
|
119
|
+
Before testing, calculate required sample size:
|
|
120
|
+
|
|
121
|
+
**Inputs needed:**
|
|
122
|
+
- Baseline conversion rate
|
|
123
|
+
- Minimum detectable effect (MDE) you care about
|
|
124
|
+
- Statistical power (typically 80%)
|
|
125
|
+
- Significance level (typically 95%)
|
|
126
|
+
|
|
127
|
+
**Rule of thumb:**
|
|
128
|
+
```
|
|
129
|
+
For 5% baseline, 20% relative lift detection:
|
|
130
|
+
~25,000 visitors per variant needed
|
|
131
|
+
|
|
132
|
+
For 5% baseline, 50% relative lift detection:
|
|
133
|
+
~4,000 visitors per variant needed
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Key insight:** The smaller the effect you want to detect, the more traffic you need. This is why bold changes are better—they're detectable with less traffic.
|
|
137
|
+
|
|
138
|
+
### Test Duration
|
|
139
|
+
|
|
140
|
+
**Minimum test duration:**
|
|
141
|
+
- At least 1 full business cycle (typically 1-2 weeks)
|
|
142
|
+
- Include weekdays AND weekends
|
|
143
|
+
- Account for seasonality
|
|
144
|
+
|
|
145
|
+
**Why?**
|
|
146
|
+
- Visitor behavior differs by day of week
|
|
147
|
+
- Friday buyers differ from Monday researchers
|
|
148
|
+
- Monthly cycles affect B2B especially
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## ICE Prioritization Framework
|
|
153
|
+
|
|
154
|
+
Prioritize test ideas using ICE scores:
|
|
155
|
+
|
|
156
|
+
### Impact (1-10)
|
|
157
|
+
"If this wins, how big would the impact be?"
|
|
158
|
+
|
|
159
|
+
| Score | Impact Level |
|
|
160
|
+
|-------|--------------|
|
|
161
|
+
| 10 | Could double conversion rate |
|
|
162
|
+
| 7-9 | Major improvement (30-50%+) |
|
|
163
|
+
| 4-6 | Moderate improvement (10-30%) |
|
|
164
|
+
| 1-3 | Minor improvement (<10%) |
|
|
165
|
+
|
|
166
|
+
### Confidence (1-10)
|
|
167
|
+
"How confident are we this will work?"
|
|
168
|
+
|
|
169
|
+
| Score | Confidence Level |
|
|
170
|
+
|-------|------------------|
|
|
171
|
+
| 10 | Proven in research, worked before |
|
|
172
|
+
| 7-9 | Strong research supports it |
|
|
173
|
+
| 4-6 | Reasonable hypothesis |
|
|
174
|
+
| 1-3 | Gut feeling, unvalidated |
|
|
175
|
+
|
|
176
|
+
### Ease (1-10)
|
|
177
|
+
"How easy is this to implement and test?"
|
|
178
|
+
|
|
179
|
+
| Score | Ease Level |
|
|
180
|
+
|-------|------------|
|
|
181
|
+
| 10 | Text change only |
|
|
182
|
+
| 7-9 | Design change, no dev needed |
|
|
183
|
+
| 4-6 | Requires development |
|
|
184
|
+
| 1-3 | Major technical lift |
|
|
185
|
+
|
|
186
|
+
### ICE Score Calculation
|
|
187
|
+
|
|
188
|
+
```
|
|
189
|
+
ICE Score = (Impact + Confidence + Ease) / 3
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
Or weighted:
|
|
193
|
+
```
|
|
194
|
+
ICE Score = (Impact × 2 + Confidence × 1.5 + Ease × 1) / 4.5
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Sample Prioritization
|
|
198
|
+
|
|
199
|
+
| Test Idea | Impact | Confidence | Ease | Score |
|
|
200
|
+
|-----------|--------|------------|------|-------|
|
|
201
|
+
| New headline from customer research | 8 | 9 | 10 | 9.0 |
|
|
202
|
+
| Add video testimonial | 7 | 7 | 6 | 6.7 |
|
|
203
|
+
| Redesign checkout flow | 9 | 6 | 3 | 6.0 |
|
|
204
|
+
| Change button color | 2 | 2 | 10 | 4.7 |
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Test Documentation
|
|
209
|
+
|
|
210
|
+
### Before the Test
|
|
211
|
+
|
|
212
|
+
Document:
|
|
213
|
+
1. **Hypothesis:** "If we [change X], then [metric Y] will improve because [reason based on research]"
|
|
214
|
+
2. **Primary metric:** One metric that determines winner
|
|
215
|
+
3. **Secondary metrics:** Additional metrics to monitor
|
|
216
|
+
4. **Guardrail metrics:** Metrics that shouldn't decrease
|
|
217
|
+
5. **Sample size requirement**
|
|
218
|
+
6. **Test duration**
|
|
219
|
+
7. **Traffic allocation**
|
|
220
|
+
|
|
221
|
+
### After the Test
|
|
222
|
+
|
|
223
|
+
Document:
|
|
224
|
+
1. **Results:** Raw numbers, conversion rates, confidence interval
|
|
225
|
+
2. **Statistical significance:** p-value, confidence level
|
|
226
|
+
3. **Practical significance:** Is the lift worth implementing?
|
|
227
|
+
4. **Learnings:** What does this teach us about our customers?
|
|
228
|
+
5. **Next steps:** Ship winner, iterate, or abandon?
|
|
229
|
+
|
|
230
|
+
### Learnings Database
|
|
231
|
+
|
|
232
|
+
Every test should add to organizational knowledge:
|
|
233
|
+
|
|
234
|
+
| Test | Hypothesis | Result | Learning | Applicable to |
|
|
235
|
+
|------|------------|--------|----------|---------------|
|
|
236
|
+
| Homepage headline A/B | Customer language converts better | Winner: +27% | Customers care about outcomes, not features | All landing pages |
|
|
237
|
+
| Form length test | Shorter forms convert better | Loser: no diff | Our audience expects detailed forms | Lead gen pages |
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## When Tests Fail
|
|
242
|
+
|
|
243
|
+
### Types of "Failure"
|
|
244
|
+
|
|
245
|
+
**1. No winner (inconclusive)**
|
|
246
|
+
- Sample size too small
|
|
247
|
+
- Effect size too small to detect
|
|
248
|
+
- Test needed to run longer
|
|
249
|
+
|
|
250
|
+
**2. Control wins**
|
|
251
|
+
- New version is worse
|
|
252
|
+
- Hypothesis was wrong
|
|
253
|
+
- Still a learning!
|
|
254
|
+
|
|
255
|
+
**3. Technical problems**
|
|
256
|
+
- Tracking broke
|
|
257
|
+
- Experience differed from plan
|
|
258
|
+
- Sample contamination
|
|
259
|
+
|
|
260
|
+
### What to Do
|
|
261
|
+
|
|
262
|
+
1. **Document the learning** - "We learned customers prefer X"
|
|
263
|
+
2. **Investigate why** - Go back to research
|
|
264
|
+
3. **Don't give up on the page** - The opportunity exists, you just haven't found the solution
|
|
265
|
+
4. **Try a bolder change** - Maybe the change wasn't big enough
|
|
266
|
+
|
|
267
|
+
**Critical insight:** A failed test that teaches you something is more valuable than a winning test you don't understand.
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## CRO Team Dynamics
|
|
272
|
+
|
|
273
|
+
### Roles in a CRO Program
|
|
274
|
+
|
|
275
|
+
| Role | Responsibility |
|
|
276
|
+
|------|----------------|
|
|
277
|
+
| **CRO Lead** | Strategy, prioritization, stakeholder management |
|
|
278
|
+
| **Researcher** | User research, surveys, analytics analysis |
|
|
279
|
+
| **Designer** | Wireframes, mockups, user flows |
|
|
280
|
+
| **Developer** | Test implementation, technical QA |
|
|
281
|
+
| **Analyst** | Results analysis, statistical rigor |
|
|
282
|
+
|
|
283
|
+
### Getting Stakeholder Buy-In
|
|
284
|
+
|
|
285
|
+
**Common objections:**
|
|
286
|
+
|
|
287
|
+
| Objection | Counter |
|
|
288
|
+
|-----------|---------|
|
|
289
|
+
| "We already know what works" | "Then testing will confirm it quickly" |
|
|
290
|
+
| "Testing takes too long" | "Shipping wrong things costs more" |
|
|
291
|
+
| "Our traffic is too low" | "Then we test bigger changes" |
|
|
292
|
+
| "The CEO wants X" | "Let's test to validate the idea" |
|
|
293
|
+
|
|
294
|
+
**Building credibility:**
|
|
295
|
+
1. Start with quick wins (high-traffic pages, obvious problems)
|
|
296
|
+
2. Document and share learnings widely
|
|
297
|
+
3. Quantify impact in revenue terms
|
|
298
|
+
4. Build testing into the culture, not just a project
|
|
299
|
+
|
|
300
|
+
### Test Velocity
|
|
301
|
+
|
|
302
|
+
**Goal:** Increase valid tests per month over time.
|
|
303
|
+
|
|
304
|
+
| Maturity | Tests/Month | Characteristics |
|
|
305
|
+
|----------|-------------|-----------------|
|
|
306
|
+
| Beginner | 1-2 | Manual processes, ad-hoc |
|
|
307
|
+
| Developing | 4-6 | Established backlog, regular cadence |
|
|
308
|
+
| Advanced | 10-20 | Parallel testing, mature process |
|
|
309
|
+
| Expert | 20+ | Multiple simultaneous tests, automated |
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## Testing Platform Comparison
|
|
314
|
+
|
|
315
|
+
| Platform | Best For | Limitations |
|
|
316
|
+
|----------|----------|-------------|
|
|
317
|
+
| Google Optimize | Beginners, free tier | Sunsetting, limited features |
|
|
318
|
+
| VWO | Mid-market, visual editor | Can be slow, limited targeting |
|
|
319
|
+
| Optimizely | Enterprise, complex tests | Expensive, learning curve |
|
|
320
|
+
| LaunchDarkly | Dev-centric, feature flags | Not optimized for marketing |
|
|
321
|
+
| Custom | Full control | Development cost |
|
|
322
|
+
|
|
323
|
+
### Key Features to Look For
|
|
324
|
+
|
|
325
|
+
- Visual editor for non-developers
|
|
326
|
+
- Robust statistical engine
|
|
327
|
+
- Segment targeting
|
|
328
|
+
- Integrations (analytics, CDP, etc.)
|
|
329
|
+
- Flicker prevention
|
|
330
|
+
- Mutually exclusive experiments
|