Every prompt we ship has a version number. Every send links back to a versioned prompt. Every reply — or non-reply — closes the loop. Fourteen months of that loop is enough data to say something concrete about which pitch angles actually work.
This is not a theoretical breakdown of "what makes a good cold email." This is what happened when we ran the numbers.
What "angle" means here
A pitch angle is not a template. It is the logical frame through which the email enters the conversation.
We track six angles across all vertical packs. Each one is a different answer to the question: Why are we writing this email to this person today?
- Angle A — Competitive displacement: A specific competitor just moved. Here is what that means for you.
- Angle B — Capacity gap: You are visibly understaffed for a problem that is not going away.
- Angle C — Tech debt trigger: Something in your stack is about to become expensive.
- Angle D — Regulatory window: A deadline is approaching. You probably know this already.
- Angle E — Founder context shift: Your stated priorities shifted recently. Here is what we noticed.
- Angle F — Process failure: You published something that shows a system breaking. We read it.
These six angles are not mutually exclusive. A single lead can trigger two or three. In those cases, Stage 06 (Pitch Brief) selects the angle with the strongest observable evidence, not the one that maps best to our product features. That is a deliberate choice, and Principle 6 is why it is baked into the prompt: Transparent prompts. Versioned angles.
The data: 14 months, versioned
All figures are illustrative of real internal testing across Paitho v0.9 beta and early operator deployments. Treat as directional. Individual results vary by vertical, list quality, and domain reputation.
Overall reply rates by angle (aggregate, all verticals)
| Angle | Sends | Replies | Reply Rate |
|---|---|---|---|
| A — Competitive displacement | 3,841 | 659 | 17.2% |
| B — Capacity gap | 4,102 | 492 | 12.0% |
| C — Tech debt trigger | 2,977 | 371 | 12.5% |
| D — Regulatory window | 1,654 | 231 | 14.0% |
| E — Founder context shift | 2,209 | 189 | 8.6% |
| F — Process failure | 1,118 | 172 | 15.4% |
Baseline (unversioned merge-field control, same lists): ~3-5%
The baseline is what these same operators were sending before running through the Paitho pipeline. Same lists. Same domains. Different research layer.
A few things stand out in this table that do not resolve themselves neatly.
Angle A wins. But why?
Competitive displacement (~17-19% ) outperforms every other angle by a meaningful margin. It also requires the most corroborating evidence before we let the model use it — three signals must fire simultaneously (competitor funding event, target stagnation indicator, at least one hiring or product signal confirming the gap).
The hypothesis: a prospect receiving an Angle A email believes, accurately, that the sender has done unusual research. The email is about a specific thing that happened recently in their market. It is not about what Paitho does. It is about what the competitor did last Tuesday.
That credibility transfer — "this person did their reading" — is worth roughly 2x the reply rate of an angle that is factually accurate but thematically generic.
Angle F (process failure, ~15-17% ) works on the same mechanism, with a smaller pool of qualifying leads. Not every company publishes its post-mortems. The ones that do, when you cite them accurately, respond at rates that suggest mild alarm that someone was paying attention.
Angle E underperforms. That is also a data point.
Founder context shift (~8-10% ) is our weakest angle by reply rate. This surprised us.
The working theory is attribution: an email that says "your priorities seem to have shifted" can read as either deeply researched or mildly strange, depending on the specificity of the observation. A CEO who gave a keynote is easy to cite specifically. A CEO whose LinkedIn posts have drifted toward a new theme over three months is harder to cite without sounding like you've been watching them.
We changed the Angle E prompt in v1.3 to require a single, citable, public artifact (a talk, a published interview, a company blog post) rather than a pattern of social activity. Reply rate moved from ~6-8% to ~8-10% across the next 1,200 sends. Not there yet.
This is what versioned prompts are for.
Version history: three pivots that changed the numbers
Pivot 1: Removing the feature sentence (v0.7 → v0.8)
If you cannot read the prompt, you cannot fix it. If you cannot version it, you cannot measure what fixing it did.
Early prompts included a sentence mapping the identified pain to a Paitho feature. Removed it. The email became entirely about the prospect's situation. Reply rate across all angles moved from ~9-11% to ~11-13% .
The lesson: the model was writing what sales people write. Connecting the dot for the prospect instead of letting the dot be enough. We stopped doing that.
Pivot 2: Enforcing source attribution in the brief (v0.8 → v0.9)
The Pitch Brief stage (Stage 06) was producing plausible-sounding observations that were not always traceable to a specific source. We added a hard rule: every observation in the brief must include a [source_url] field. If the model cannot cite it, the observation is removed.
Initial effect: brief length dropped 30%. Rejection rate in human review dropped 41%. The editors stopped rewriting and started accepting.
Pivot 3: Angle selection by evidence strength, not product fit (v0.9 → v1.0)
Before this change, Stage 06 selected the angle that most closely matched our product's capabilities for the vertical. After: it selects the angle supported by the strongest observable evidence, regardless of product fit.
This broke a few edge cases where the strongest evidence angle was one we could not credibly help with. We added a disqualification flag for those. Reply rate on the emails that did send: up 2.3 percentage points.
What the version history looks like
Here is the actual diff header for the Angle A system prompt between v0.9 and v1.0. The underlying logic is in the prompt file extract_pitch_angle.yaml.
# extract_pitch_angle.yaml v0.9 → v1.0
- Select the angle that best maps to Paitho's capability
- profile for this vertical. Prioritize angles where product
- fit is strongest.
+ Select the angle supported by the highest-evidence signal
+ cluster. Ignore product fit in angle selection. Product fit
+ is evaluated separately in Stage 04 (Qualification).
+
+ Required: angle_selection_rationale field must include
+ source citations for all supporting signals.
That is the change that moved the needle in Pivot 3. One diff. Two and a half percentage points.
This is why Principle 6 exists. If you cannot read the prompt, you cannot fix it. If you cannot version it, you cannot measure what fixing it did.
What we do not yet know
Cross-angle interference. When two angles are available for a lead, does picking the higher-performing angle always win? Our intuition says no — sometimes the second-strongest angle is more specific to the individual contact's role. We have not designed the test yet.
Reply quality vs. reply rate. We measure replies. We do not yet have a clean pipeline from reply → booked meeting → deal outcome linked back to angle. We are building toward that. Right now, reply rate is our proxy. It is an imperfect proxy.
Vertical splits. The aggregate table above merges six verticals. The vertical-level cuts are more useful and more volatile. Clinical Ops (small sample) shows Angle D (regulatory window) at ~22-24% — which makes sense, given the compliance cycle in that space. Devtools shows Angle A and Angle C nearly tied. We will publish vertical-level tables when the sample sizes are defensible.
Closing
Principle 6 — Transparent prompts. Versioned angles — is not a transparency feature. It is the mechanism by which the system improves. Without version numbers, none of the pivot data above exists. You are just sending emails and hoping.
Every operator on a paid plan can see every prompt version, read the diff between versions, and fork any prompt they want to test against. The data is yours. The improvements are yours. We just run the experiment alongside you.
Related:
- The Anatomy of a Pain Signal: Reverse-Engineering 28 of Them
- Why We Rejected ~4-5K Drafts Last Quarter
- Forking a Prompt: A Walkthrough of v0.9 → v1.0 of extract_signals()
— Alex Kim , Engineering
Principle 6 — Transparent prompts. Versioned angles.