experimentation
GitHub提供A/B测试与增长实验的全流程指导,涵盖假设构建、样本量计算、运行监控及结果解读。旨在帮助团队设计严谨实验,避免误判,建立科学的实验体系以驱动产品决策。
Trigger Scenarios
Install
npx skills add cbrock84/headcount --skill experimentation -g -y
SKILL.md
Frontmatter
{
"name": "experimentation",
"description": "Designs, runs, and reads A\/B tests and growth experiments — hypothesis, sample size, duration, and honest interpretation. Use this to plan a test, judge whether a result is real, build an experimentation program, decide what to test next, or diagnose why tests keep producing inconclusive or non-replicating results."
}
Experimentation
Most A/B testing programs produce confident conclusions from insufficient data. The discipline is almost entirely in what you do before launch.
Before running
- Hypothesis with a mechanism. "Moving the pricing table above the fold will raise trial starts, because visitors currently leave before seeing pricing." Not "let's try a green button."
- One primary metric, chosen in advance. Secondary metrics are context, never the verdict.
- Sample size calculated in advance, from your baseline rate and the smallest lift that would change a decision. If the required sample is unreachable, do not run the test — decide by judgment and say so.
- Duration set in advance, covering at least one full weekly cycle, and two if the buying cycle is long.
- Guardrail metrics that would make you reject a win: refunds, support volume, downstream retention.
While running
Do not look at results and act on them mid-flight. Peeking and stopping at significance is the single most common way to generate false positives, and it is very effective at it.
Check only that the test is running correctly — even split, no broken variant, tracking firing.
Reading
- At the pre-set duration, not before, and not extended because it is nearly significant. Extending until significance manufactures it.
- Significance is not size. A statistically significant 0.3% lift may not be worth shipping.
- Inconclusive is a real result and the most common one. It means the change did not matter enough to detect, which is useful.
- Check the guardrails before declaring a win.
- Segment afterward for hypotheses only, never for verdicts. Slice enough ways and something is always significant.
Program level
Test where the traffic and the leverage are. Most sites can only run a handful of adequately powered tests a year — spend them on structural questions, not button colors.
Keep a log of every test: hypothesis, result, decision. Without it, teams re-run the same tests every eighteen months and re-learn the same things.
Tooling
Client-side and web testing: Optimizely, VWO, AB Tasty, and similar. Warehouse- or product-native: GrowthBook, Statsig, Eppo, PostHog, and similar — these compute against your own event data, which is what you want once the metric definitions matter.
Feature flags are the server-side path to the same thing: LaunchDarkly, Unleash, Split, and similar.
Running an experiment behind a flag you already use for release control is cheaper than adding a
second system, and technology:release-and-deployment covers the release side of it.
No tool fixes an underpowered test. The platform reports a result either way, which is exactly the risk.
Never
- Stop a test because it reached significance early. Peeking until it looks conclusive manufactures the result.
- Run a test that cannot reach adequate sample size in a reasonable window. Ship the change on judgment instead and say so.
- Change more than one variable and attribute the outcome to the one you liked.
- Count a flat result as a failure. A well-run test that rules out a plausible idea has bought information.
Version History
- d58a7ee Current 2026-09-02 21:05


