| name | priority-matrix |
| description | Final ranking step. Scores each pocket on volume × ACV × win-rate signal, recommends campaign archetype per pocket, and surfaces asymmetric bets (low frequency, high win rate). Use after pocket packaging is complete. |
Priority matrix
Pockets aren't equal. Two might both look like real campaigns, but one is your top revenue lever and the other is a quiet asymmetric bet that wants a different treatment.
Inputs
./icp-output/pockets/*.md
./icp-output/triggers/distribution.md (for frequency and win-rate)
- CRM data via
stack.crm if available (for ACV)
Scoring
Each pocket gets three scores:
- Volume (1–5): number of calls in the last 90 days mapping to this pocket. Bucketed: 1 = 1–5 calls, 2 = 6–15, 3 = 16–35, 4 = 36–80, 5 = 81+.
- ACV signal (1–5): average closed-won deal size for accounts in this pocket. If CRM unavailable, use a proxy from the user (or skip and note).
- Win rate signal (1–5): % of stage-qualified calls in this pocket that closed-won. Bucketed: 1 = <10%, 2 = 10–20%, 3 = 20–35%, 4 = 35–50%, 5 = 50%+. If CRM unavailable, use a proxy from outcome tags in the per-call files.
Composite score: simple sum (3–15). Note: composite alone is misleading. The shape of the scores matters.
Pocket shapes (the article's insight)
The article calls out two patterns explicitly:
- Top pocket = highest volume × clear ROI → recommend
mass-outbound. Treat as the #1 campaign.
- Lowest-frequency pocket can have the highest win rate → asymmetric bet. Recommend
light-touch-asymmetric (high-quality outreach, no mass campaign).
Other shapes:
- High volume, low ACV, low win rate → de-prioritize. Likely a leak.
- Low volume, high ACV, medium win rate → ABM. One-by-one.
- Medium everything but trigger has no current campaign → fastest win. The team has working evidence and zero existing motion to compete with.
Output
Write ./icp-output/priority-matrix.md:
# Priority matrix
| Rank | Pocket | Volume | ACV | Win rate | Composite | Archetype | Note |
|---|---|---|---|---|---|---|---|
| 1 | <Pocket Name> | 5 | 4 | 4 | 13 | mass-outbound | top revenue pocket |
| 2 | <Pocket Name> | 2 | 5 | 5 | 12 | light-touch-asymmetric | high win rate, low frequency — don't mass-mail |
| 3 | … | | | | | | |
## Headline asymmetric bets
Pockets with win rate ≥ 4 but volume ≤ 2:
- <Pocket> — recommend a 50–100 account ABM list run by AEs, not BDRs.
## Pockets with no current campaign
From `triggers/distribution.md`'s coverage gap:
- <Pocket> — campaign should be built. Estimated lift: <reasoning>.
## Pockets to de-prioritize
Composite ≤ 6 or volume + ACV both ≤ 2:
- <Pocket> — call out specifically why and what to do instead (e.g., "convert to inbound nurture only").
## Surprise check
The article notes the original primary persona at Attention turned out to be third by volume. Check yours:
- Which pocket did the team **think** was #1 before this exercise?
- Where did it actually land?
- If it's not #1, name that gap explicitly. The whole point of running the exercise is to surface this kind of misalignment.
Anti-ICP
After the priority matrix, write ./icp-output/anti-icp.md:
# Anti-ICP — who NOT to pursue
Distilled from the per-call files of stalled / no-decision / lost calls where the loss was structural (not execution):
- <attribute pattern> — <evidence: stalled or lost calls with this pattern>
- <attribute pattern> — …
State update
{
"step": "7",
"step_status": "completed",
"ranked_pocket_count": <n>,
"asymmetric_bets": ["..."],
"deprioritized": ["..."]
}