Agent Skills: A/B Testing Patterns

A/B testing methodology for cold email optimization

UncategorizedID: madappgang/claude-code/ab-testing-patterns

Install this agent skill to your local

pnpm dlx add-skill https://github.com/MadAppGang/claude-code/tree/HEAD/plugins/instantly/skills/ab-testing-patterns

Skill Files

Browse the full folder contents for ab-testing-patterns.

Download Skill

Loading file tree…

plugins/instantly/skills/ab-testing-patterns/SKILL.md

Skill Metadata

Name
ab-testing-patterns
Description
A/B testing methodology for cold email optimization

plugin: instantly updated: 2026-01-20

A/B Testing Patterns

Testing Fundamentals

One Variable at a Time

CRITICAL: Only change one element per test for clear attribution.

| Test Type | Variable | Keep Same | |-----------|----------|-----------| | Subject Line | Subject only | Body, CTA, timing | | Opening Line | First sentence | Subject, rest of body | | CTA | Call to action | Subject, body intro | | Send Time | Delivery time | All copy elements |

Sample Size Requirements

| Confidence Level | Minimum Sample per Variant | |------------------|----------------------------| | 90% | 100 | | 95% (standard) | 150 | | 99% | 200 |

Formula:

sample_size = (Z^2 * p * (1-p)) / E^2

Where:
  Z = 1.96 for 95% confidence
  p = expected conversion rate (use 0.5 if unknown)
  E = margin of error (typically 0.05)

Subject Line Testing

Test Categories

| Category | Control Example | Variant Example | |----------|-----------------|-----------------| | Curiosity vs Specific | "Quick question" | "2 min about {{company}}'s pipeline" | | Personal vs Generic | "{{first_name}}, saw this" | "Your team might like this" | | Question vs Statement | "Struggling with X?" | "How we fixed X for [Company]" | | Short vs Medium | "Quick win?" | "{{first_name}}, 2 ideas for {{company}}" |

Best Practices

  1. Test 2-3 variants maximum - More variants require more sample
  2. Run for minimum 3 days - Account for daily patterns
  3. Test during stable periods - Avoid holidays, major events
  4. Document everything - Record hypothesis, results, learnings

Body Copy Testing

Elements to Test

| Element | Low-Lift | High-Lift | |---------|----------|-----------| | Opening hook | Different pain point | Different approach entirely | | Social proof | Different company name | No social proof | | Value proposition | Reframe benefit | Different benefit | | CTA | Soft vs hard ask | Different action |

Copy Frameworks to Test

PAS vs AIDA:

  • PAS: Problem-Agitate-Solution (emotional)
  • AIDA: Attention-Interest-Desire-Action (logical)

Test Hypothesis: PAS performs better for pain-point-heavy ICPs, AIDA for solution-seekers.

Timing Tests

Variables to Test

| Variable | Options to Test | |----------|-----------------| | Day of week | Tue vs Thu (typically best) | | Time of day | 8-10am vs 2-4pm | | Timezone | Send in prospect's local time vs batch send | | Sequence gaps | 2-day vs 3-day follow-up gaps |

Default Schedule (Starting Point)

Optimal Sending Windows:
  Primary: Tuesday-Thursday, 9-11am local time
  Secondary: Tuesday-Thursday, 2-4pm local time
  Avoid: Monday morning, Friday afternoon

Statistical Significance

Quick Significance Check

| Total Sample | Lift Needed for 95% Confidence | |--------------|--------------------------------| | 200 (100 per variant) | 15%+ lift | | 500 (250 per variant) | 10%+ lift | | 1000 (500 per variant) | 7%+ lift |

Decision Framework

IF lift >= 15% AND sample >= 100/variant:
  Declare winner with medium confidence

IF lift >= 10% AND sample >= 250/variant:
  Declare winner with high confidence

IF lift < 10% OR sample < 100/variant:
  Continue test or call it inconclusive

Implementing A/B Tests in Instantly

Method 1: Split Leads

  1. Export lead list
  2. Randomly split into Variant A and Variant B groups
  3. Create two identical campaigns with one variable different
  4. Use move_leads_to_campaign to assign leads

Method 2: Sequential Testing

  1. Run Control for X days, collect metrics
  2. Update campaign with Variant (update_campaign_sequence)
  3. Run Variant for X days, collect metrics
  4. Compare (less rigorous, use only if lead volume is limited)

Tracking Results

## A/B Test Log

**Test ID**: {uuid}
**Campaign**: {campaign_name}
**Variable**: {what_was_tested}
**Hypothesis**: {expected_outcome}

**Control**:
- Version: {control_description}
- Sample: {n}
- Open Rate: {x}%
- Reply Rate: {y}%

**Variant**:
- Version: {variant_description}
- Sample: {n}
- Open Rate: {x}%
- Reply Rate: {y}%

**Result**: {Winner|Inconclusive}
**Lift**: {z}%
**Confidence**: {confidence}%
**Learning**: {what_we_learned}