AI Skills Marketplace / Paid Media

Media-Mix Incrementality Test Designer

The Media-Mix Incrementality Test Designer is a free Claude Skill that runs a real two-proportion sample-size power calculation, a balanced geo test/control split, and a test-duration estimate, replacing last-click attribution assumptions with real causal-test design.

↗ View Source ⬇ Download Full Repo (.zip)
MIT
License
3 functions
Decision branches
greedy geo balancing
Escalation rules
Yes
Multi-tool support
Aug 17, 2026
Last updated
18/18 passing
Tests
README.md View raw ↗

What this is (and isn’t)

A statistics and set-balancing function over data you supply, not a hosted testing platform or a live media-buying integration.

Files

FilePurpose
designer.jscomputeRequiredSampleSize(), splitGeosForTest(), estimateTestDurationDays(), plus exported inverseNormalCdf() — zero dependencies
test.js18-test suite, including known-value regression tests for the inverse normal CDF and a hand-verified sample-size calculation
SKILL.mdFull skill definition, loadable in Claude Code/Desktop

Why this matters

Wrong sample-size or test-duration assumptions produce an inconclusive or misleading incrementality test. This skill runs the real statistical power calculation, not a rule of thumb, plus a real greedy-balancing algorithm for splitting candidate geos into test/control.

FAQ

Is this skill free to use?

Yes. Free to download and run yourself. MV3 charges $175/hr only for implementation help running this against your real geo/conversion data.

What statistical method does this use?

A real two-proportion sample-size formula using Peter Acklam's rational approximation of the inverse normal CDF, the same statistical foundation used in most legitimate A/B and incrementality test calculators.

How does the geo split work?

A greedy balancing algorithm that alternately assigns the largest remaining geo (by population) to whichever group currently has less total population, minimizing imbalance.

Does my geo/conversion data get sent to MV3?

No. All calculations run entirely in your own environment.

What if my desired effect size is unrealistic given my baseline rate?

The function throws a clear error rather than returning a nonsensical sample size.

JR
Jordan Reeves
ABM & Outbound Pipeline, MV3 Marketing