Resource · Worksheet
Cold DM Variant Test Worksheet
Guesswork is expensive at volume. This worksheet helps you design a clean A/B test of two message variants with a real hypothesis and a sample size big enough to trust the result. Testing turns opinion about what works into evidence, and evidence is what lets you scale the winner instead of your favorite line. Without a plan for sample size, you will call a coin flip a breakthrough and scale noise.
How to use this test worksheet
Pick one variable to test, write the hypothesis, set the sample size, then split traffic evenly. Do not change the variable mid-test or you invalidate the result. Read the winner only after the planned sample is reached, not the moment it feels ahead.
Calling a winner early is the most common testing mistake; wait for the full sample.
Hypothesis and variable
A good test changes exactly one thing: the hook, the offer, or the ask. Testing three changes at once tells you something moved but not what, which is useless for the next message.
| Field | What to write | Example |
|---|---|---|
| Variable | One thing changed | Hook only |
| Hypothesis | Expected effect | B beats A by 3% |
| Metric | What you measure | Reply rate |
Sample size planning
Small samples lie. Use a sample size that can detect the lift you care about; for a few percent difference you need hundreds of sends per arm, not dozens. The ab testing guide covers the math; this sheet captures your plan.
- Aim for at least 200 to 300 sends per variant.
- Increase sample if the expected lift is small.
- Split 50/50 so arms are comparable.
Running the test steps
Execution discipline is the test. Randomize assignment and keep all other conditions equal, or the result reflects your process, not your message.
Randomize
Assign prospects to A or B without bias.
Hold constant
Same audience, platform, and timing.
Track
Log replies per arm in the tracker.
Read at end
Declare winner only after full sample.
Results table
Fill the results once the sample completes. The gap and the direction tell you what to scale; the magnitude tells you whether it was worth the effort.
| Arm | Sends | Replies | Rate |
|---|---|---|---|
| A | ___ | ___ | ___% |
| B | ___ | ___ | ___% |
| Delta | - | - | ___% |
What to do with the winner
Promote the winner to your default and start the next test on a new variable. Testing is a loop, not a one-time event; the teams that win are the ones who keep cycling instead of declaring victory after one result.
One test answers one question; stack tests over time to compound your reply rate gains.
Worked test example
Here is a completed A/B test of two hooks on 600 total sends, 300 per arm. The gap is small but the sample is large enough to trust it, which is the whole point of planning sample size before you read any result.
| Arm | Sends | Replies | Rate |
|---|---|---|---|
| A (curiosity hook) | 300 | 27 | 9.0% |
| B (proof hook) | 300 | 39 | 13.0% |
| Delta | - | - | +4.0% |
B wins by 4 points on 300 sends per arm — that is a real, scalable lift, not a coin flip you would have called early.
Reading the result and next test
Promote B to default, then pick the next single variable to test. Stacking tests this way compounds; four wins of 2-4 points each can lift reply rate from 9% toward 20% over time without any single gamble.
Promote winner
Make B the new control message.
Choose next variable
Test the value beat next, keep the hook.
Set sample
300 per arm again for a small expected lift.
Log learnings
Write the result back to the swipe file.
Designing the hypothesis
A test is only as good as its hypothesis. Write the expected direction and size before you send, because without a stated bet you will rationalize any result after the fact and learn nothing you can trust.
Hypothesis line
If you cannot state why the change should win, you are guessing, not testing.
Edge cases and caveats
Small samples and ties are where teams fool themselves. Know the calls before the data arrives so you do not invent a winner from noise after the fact.
| Outcome | Call |
|---|---|
| Delta within 1pt | Tie: keep cheaper variant, retest |
| Sample under 200/arm | Inconclusive: extend before deciding |
| B wins clearly | Promote and test next variable |
Do and don't quick list
- Do write the hypothesis before sending.
- Do wait for the full sample.
- Don't test more than one variable at once.
- Don't call a 1-point gap a win.
Copy-this results table
Use this shell and fill it only after the full sample is reached. Reading it early is the mistake that turns noise into a false winner you then scale with confidence you should not have.
| Arm | Sends | Replies | Rate |
|---|---|---|---|
| A | ___ | ___ | ___% |
| B | ___ | ___ | ___% |
| Delta | - | - | ___% |
What a decisive test looks like
A decisive test has one variable, a pre-stated hypothesis, and a sample large enough to trust. Without all three, you have an opinion with a spreadsheet attached, not evidence you can scale.
If you cannot state the hypothesis before sending, the test will tell you nothing you can act on.
Troubleshooting the test
When a test teaches you nothing, it usually broke one of the three rules: one variable, a pre-stated hypothesis, and a big enough sample. Fix the broken rule before you trust any result the dashboard shows you.
| Symptom | Likely cause | Fix |
|---|---|---|
| Inconclusive | Sample too small | Extend to 300 per arm |
| Confusing result | Two vars changed | Re-test one at a time |
| Overclaimed win | Read too early | Wait for the full sample |
A test that changes two things tells you something moved but never what moved; that is expensive ignorance at volume.
Your first 15 minutes
Design the next test on a card before you send. A test designed in the moment is a test designed to confirm what you already believed, which is not testing at all.
- 1Name the one variable to change.
- 2Write the hypothesis and expected lift.
- 3Set sample size at 300 per arm.
- 4Plan the promotion of the winner.
Before you launch: final check
Before the test sends, confirm one variable, a written hypothesis, and a sample size of at least 200 per arm. Without all three, the result is a story you tell yourself, not evidence you can safely scale.
- Exactly one variable changed.
- Hypothesis written with expected lift.
- Sample 200-plus per arm.
- Traffic split 50/50 and randomized.
Statistical significance sanity
A 4-point lift looks great, but is it real? At 300 per arm, a difference of a few points can still be within normal chance. Use a simple rule: the larger the expected lift, the smaller the sample you need, and vice versa.
| Expected lift | Min sends per arm | Note |
|---|---|---|
| 5+ points | 200 | Reliable at modest size |
| 2-4 points | 300-500 | Needs real volume |
| Under 2 points | 800+ | Often not worth it |
If you cannot reach the sample size, the test is not worth running; pick a bigger change to test instead.
Worked second test example
After promoting the proof hook, the next test changed the value beat while holding the hook. On 500 per arm, reply rate moved from 13.0% to 15.5%, another real lift that compounds on the first. Stacking small wins is how programs climb from 9% to 20% over a few cycles.
| Arm | Sends | Replies | Rate |
|---|---|---|---|
| A (old value) | 500 | 65 | 13.0% |
| B (new value) | 500 | 78 | 15.5% |
| Delta | - | - | +2.5% |
- Promote B as the new control.
- Log the learning to the swipe file.
- Choose the next single variable.
Test program red flags
These are the ways teams waste test cycles. Each one produces a result they cannot trust, which is more dangerous than no test at all because it feels like evidence.
| Mistake | Why useless | Fix |
|---|---|---|
| Two vars at once | Cannot attribute | One variable only |
| Read at 50 sends | Noise looks like signal | Wait for full sample |
| No hypothesis | Rationalize anything | State the bet first |
Test documentation template
Write up every test the same way so results compound into a knowledge base instead of scattered memory. A one-line doc per test is enough to avoid repeating a loser or forgetting a winner six months later.
Test note
Suggested image brief
| Placement | Purpose | Filename and alt text |
|---|---|---|
| After the direct answer | Create an original AI-generated workflow graphic that summarizes the decision, metric, and next action for this topic without third-party logos. | cold-dm-variant-test-worksheet-workflow.webp - Cold DM Variant Test Worksheet workflow diagram |
Quick checklist
- One variable isolated for the test.
- Hypothesis written with expected lift.
- Sample size set at 200-plus per arm.
- Traffic split 50/50 and randomized.
- All other conditions held constant.
- Results table ready for end-of-test.
- Winner promotion and next test planned.
Related: A/B Testing Guide · A/B Test Scorecard · Write Better Hooks · Reply Rate Calculator · Cold DM Calculator
Frequently asked questions
How big should each arm be?
At least 200 to 300 sends per arm for small lifts; more if the expected difference is tiny.
Can I test more than one thing?
Not in one test. Change one variable so you know what caused any difference.
What if the result is a tie?
Keep the cheaper or simpler variant and move to the next test; a tie is not worth more spend.
How often should I run tests?
Continuously, one variable at a time, so improvement compounds rather than stalls.
Does testing guarantee better replies?
No, but it replaces opinion with evidence, which improves the odds of finding a winner.
Model the lift a winning variant gives you
See reply-rate impact before you scale the test.
Forecasts are estimates based on user-provided assumptions. Results are not guaranteed.
Benchmarks, templates, and examples on this page are illustrative planning references, not guarantees of performance. Adjust your outreach to comply with platform terms and applicable regulations.