Tasks / Product Craft

Customer research call guide

Can the model write a guide that uncovers behaviour rather than opinions?

Task type v1.0 · 2 tasksLast changed 6 Oct 2026 · ChangelogDifficulty

What AI gets right here, and what you’ll still have to catch

From 16 graded outputs by 8 models. 38% were usable with at most a quick edit.

Reliably right

  1. Asks what people did, not what they think92% pass
    Core questions ask about specific recent actions (last boxes, skipped weeks, what they did instead) rather than opinions.
    Opus 5.5 · Claude · Too expensive, by default
  2. Tests both theories fairly91% pass
    Both theories get questions that could disprove them (e.g., no action on robotics, happiness after slow go-live), and open-ended timeline questions leave room for a third cause.
    Sonnet 5.5 · API · Why are warehouses leaving? Two execs, two theories
  3. Different questions for user and signer91% pass
    The guide has distinct tracks: daily user questions focus on day-to-day experience and workarounds, signer questions on the decision process and alternatives.
    Sonnet 5.5 · API · Why are warehouses leaving? Two execs, two theories

Where it slips

  1. Marks what to cut if the call runs over28% pass
    The guide has timed sections but does not mark which questions are must-ask or what to cut if time runs short.
    Opus 5.5 · Claude · Too expensive, by default
  2. Doesn't trust the default reason41% pass
    The plan names the pre-selected default as a bias but does not use the behaviour columns to show that most 'too expensive' cancellers had stopped cooking; it only picks two contrasting individuals without the aggregate pattern.
    GPT-6 Astra · ChatGPT · Too expensive, by default
  3. Uses the supplied evidence correctly64% pass
    The claim 'Customers will say what helps their negotiation' is an unsupported behavioural statement not derived from the context.
    Haiku 5.5 · API · Why are warehouses leaving? Two execs, two theories

How it’s graded

Each check is built on how world-class product and growth leaders do this work, as they’ve described it on Lenny’s Podcast, and names the leader it comes from.

  1. Designed to falsify

    For each learning goal, does the guide include a question whose honest answer could show the team's hypothesis is wrong?

    Passes when Every learning goal has at least one disconfirming, non-leading question, such as asking about the last time they had the problem and what they did instead.

  2. Asks what people did, not what they think

    Are the core questions about specific things the person actually did recently, rather than opinions, predictions or hypotheticals?

    Passes when The core of the guide asks for recent, specific instances (the last time, what happened, what they did) and follows up on them; opinions and predictions are absent or clearly secondary.

  3. Doesn't lead the witness

    Are the questions free of leading wording, of pitching the idea, and of hints at the answer the team hopes for?

    Passes when Questions are neutral and open, and the idea is not described (or only at the very end, after the problem questions).

Plus our standard checks

Uses the supplied evidence correctly · Addresses the actual decision · Respects explicit constraints · Identifies material uncertainty · Avoids unsupported claims · Produces the required deliverable · Marks what to cut if the call runs over · and 2 written for each task, which you’ll see in the tasks below.

The tasks

Read the brief, then compare up to three outputs, each with the LLM judge’s verdict on every check. Highlights mark what a PM had to fix.

The brief

You're the PM for retention at Sprig. The execs each have a theory about why subscribers cancel (below). Plan next week's six churn interviews: who to recruit from the cancellation list and why, and the guide the interviewers will use, in no more than 900 words. Two of the interviewers are new to it. The files are attached.

What the model was given5 items: About Sprig, exec_hypotheses.md, cancel_form.md, cancellations_last_quarter.csv, research_constraints.md
About SprigA meal-kit subscription: recipes and ingredients delivered weekly. Subscribers can skip a week or cancel any time.
exec_hypotheses.md7 lines · Download
# What the execs think (for the research)

- CEO: "It's price. Competitors discount harder."
- Head of Food: "Our recipes are too repetitive after a few months."
- Head of Ops: "Late deliveries."

Retained subscribers (for comparison): 81% cooked at least 3 recipes a week in their first month; 34% of cancellers did.
cancel_form.md3 lines · Download
# The cancel form

A single-choice list, in this order: "Too expensive" (selected by default), "Recipes got repetitive", "Moving / travelling", "Delivery problems", "Other". Free text is optional.
cancellations_last_quarter.csv300 rows · Download
cancellation,cancel_reason_selected,weeks_subscribed,deliveries_skipped_last_6_weeks,recipes_cooked_last_4_weeks,free_text
S-8000,Recipes got repetitive,47,3,0,kept piling up in the fridge
S-8001,Recipes got repetitive,16,3,2,too much food for two
S-8002,Moving / travelling,33,2,5,cheaper at the supermarket
S-8003,Too expensive (pre-selected),29,3,2,kept piling up in the fridge
S-8004,Too expensive (pre-selected),11,5,0,
S-8005,Too expensive (pre-selected),20,5,0,too much food for two
…
research_constraints.md4 lines · Download
# Research constraints

- Six calls, 30 minutes each, next week. The researcher can recruit from the cancellation list (consent to contact is on file for all of them).
- Two of the PMs running calls are new to interviewing.
What a strong answer doesThe answer key the graders mark against

Reads the cancellation data before trusting it: 'Too expensive' is the top reason (156 of 300), but it's the pre-selected first option, and 118 of those 156 had skipped two or more deliveries and cooked two or fewer recipes in the last four weeks: they'd stopped using the product before they left. Overall 204 of 300 skipped two or more deliveries. So the guide investigates what happened to the cooking habit, and price as one hypothesis to test rather than the answer. Recruits deliberately from the list across the patterns: people who stopped cooking and picked 'too expensive', people who kept cooking and still picked 'too expensive' (the real price cases), and people who said recipes got repetitive. The guide asks about specific recent weeks (the last box they skipped, what happened to the food, what they ate instead), each exec hypothesis has a question whose honest answer could disprove it, questions don't lead or mention price first, the guide fits 30 minutes with timings and marks what to cut, and gives the new interviewers prompts for digging deeper. Notes that the default on the cancel form should be removed.

Critical failures (cap the score at 40)
  • Builds the guide around confirming that price is the reason
Task

Staff-level · v1.0

The outputs

8 setups answered this brief.

Needs more than a quick edit7 of 12 checks passed

The output invents a 'discount cliff' not present in the data and lacks must-ask/cut markings, so a PM would need to verify evidence and add cutting instructions.

Output

Strategic Recruitment Plan

The cancellation form pre-selects "Too expensive", severely skewing quantitative data toward price. Furthermore, while 81% of retained users cook ≥3 recipes/week in month 1, only 34% of churned users do—suggesting retention is fundamentally won or lost on habit formation, pace, and food waste guilt (evident in recurring free-text notes like "kept piling up").

To evaluate exec hypotheses (Price, Recipe Repetition, Delivery) against these underlying behavioral dynamics, we will recruit six subscribers across distinct behavioral archetypes:

IDWeeks SubscribedSkips (Last 6 Wks)Cooked (Last 4 Wks)Form ReasonFree TextRationale & Hypothesis Tested
:---:---:---:---:---:---:---
S-805629112Too expensiveCheaper at supermarketCEO (Price): High cooking engagement, low skips. Tests whether high-value cooks leave for discounted competitors vs. grocery shopping.
S-81965721Repetitive[None]Head of Food (Repetition): Long tenure; actively changed radio button to "Repetitive"; cooking volume collapsed. Tests recipe fatigue threshold.
S-80722318Delivery problems[None]Head of Ops (Delivery): High cook volume; deliberately chose "Delivery problems". Tests if logistical failures break established habits.
S-80161440Too expensiveKept piling up in fridgeThe "Food Guilt" Trap: High skips, zero cooking. Tests if "Too expensive" is actually guilt over uneaten food and subscription velocity.
S-80062908Too expensiveToo much food for twoPortion/Household Mismatch: Highly engaged, zero skips, but churned. Tests unit economics and portion sizing vs. true price sensitivity.
S-81204010Too expensiveCheaper at supermarketEarly Onboarding Drop-off: Active cook (10 recipes) who dropped at Week 4 discount cliff. Tests initial value proposition and promo-hopper behavior.

Backup recruits: S-8044 (Repetitive), S-8115 (Delivery), S-8038 (Price/High engagement).

---

Interviewer Guide (30 Minutes)

> Interviewer Note (for new PMs): > 1. Never mention their cancel form response. It was pre-selected and biases answers. > 2. Focus on stories, not opinions. Don't ask "Was it too expensive?" Ask "Walk me through the last box you unpacked." > 3. Embrace 3 seconds of silence. Let the participant fill pauses.

#### 1. Welcome & Rapport (3 mins) * "Thanks for taking the time! I’m [Name], a product manager at Sprig. We’re working to make our boxes better, and we learn the most from people who decided Sprig wasn't right for them." * "There are no right or wrong answers, and you won’t hurt my feelings. I’m recording this for notes—is that okay?"

#### 2. The Early Days & Habit Formation (7 mins) Goal: Understand the baseline expectation and initial activation (testing month-1 cooking habit). * "Think back to when you first signed up for Sprig. What was going on in your life that made you want meal kits?" * "Walk me through your first couple of weeks. How often were you cooking the meals?" * "Did you cook with someone else? How did the portion sizes fit your household?"

#### 3. The Turning Point & Kitchen Reality (12 mins) Goal: Neutral deep dive to evaluate price, delivery, repetition, and food waste without leading. * "Think about the last box you received before canceling. Walk me through what happened from the moment it arrived to when you decided to cancel." * If Ops signal: "Did it arrive when and how you expected? How did that affect your week?" * If Food signal: "How did picking your meals feel toward the end compared to the beginning? Did you feel excited by the menu?" * If Fridge/Time signal: "Did you ever have ingredients left over when the next box arrived? How did you handle that?" * "I noticed you skipped a few deliveries [or never skipped]. How did skipping fit into your routine?" * "Tell me about the specific moment you went to the website to hit 'Cancel'. What tipped you over the edge that day?"

#### 4. The Alternative & True Cost (5 mins) Goal: Test CEO hypothesis (competitors vs. grocery vs. takeout). * "Now that you aren't using Sprig, what are you doing for dinner on busy weeknights?" * "Did you try or consider any other meal kits or services? Why or why not?" * "When you think about the total cost of Sprig, what felt like the biggest driver of whether it was 'worth it'?"

#### 5. Wrap-Up (3 mins) * "If you had a magic wand and could change one thing about Sprig so that it fit your life perfectly, what would it be?" * "Thank you so much for your candor. We’ll send your $30 gift card within 24 hours."

---

Post-Interview Debrief Checklist (Immediately after call)

Capture within 10 minutes in Slack/Notion: 1. Primary root cause: (e.g., Recipe boredom, Food waste guilt, Box delivery timing, Absolute price, Household mismatch). 2. True competitor: (e.g., Trader Joe’s, HelloFresh, Takeout, Cooking from pantry). 3. Exec hypothesis validation: Did this support CEO, Food, or Ops? (Yes/No/Partial + 1-sentence quote).

Claims the judge couldn’t find in the brief

  • S-8120 cooked 10 recipes in 4 weeks and dropped at Week 4 discount cliff.

Grades and run details

Decision model 63 · LLM judge 54
Decision model checks
  • failUses the supplied evidence correctly3%
  • passAddresses the actual decision33%
  • partialRespects explicit constraints48%
  • partialIdentifies material uncertainty53%
  • partialAvoids unsupported claims40%
  • partialProduces the required deliverable35%
  • partialDoesn't trust the default reason70%
  • passRecruits from the data99%
  • passDesigned to falsify48%
  • passAsks what people did, not what they think39%
  • partialDoesn't lead the witness28%
  • partialMarks what to cut if the call runs over60%
Run
Run
#1
API response time
34 s
Submitted
6 Oct 2026

Usable with a quick edit10 of 12 checks passed

The guide is well-structured and evidence-based; a PM could add a note on what to cut if time runs short and the aggregate data point about 'too expensive' cancellers in a quick edit.

Output

Aim and guardrails

Understand the sequence leading to cancellation, not ask subscribers to vote on executives’ theories. Test price, repetition, and delivery alongside an alternative: subscribers never established—or lost—a workable cooking routine, making unused food feel expensive.

The cancellation form is weak evidence: price is first and preselected, only one answer is allowed, and comments sometimes conflict with selections. The first-month cooking gap—81% of retained subscribers versus 34% of cancellers cooking at least three recipes weekly—is an important association, not proof of causation. Last-four-week cooking counts cannot identify first-month activation.

Recruit these six

Use purposive contrasts, not a representative sample. Counts below mean weeks subscribed / skips in last six weeks / recipes cooked in last four weeks.

Primary recruitEvidenceWhy this interview; backup
S-800329 / 3 / 2; price selected; “kept piling up in the fridge”Distinguish affordability from paying for unused food; reconstruct whether disengagement preceded price concerns. Backup: S-8093.
S-805629 / 1 / 12; price selected; “cheaper at the supermarket”Same tenure as S-8003, much higher recent cooking. Strong contrast for genuine price pressure despite use; supermarket comparison is not evidence of competitor discounting. Backup: S-8096.
S-800047 / 3 / 0; repetition selected; “kept piling up in the fridge”Test whether menu fatigue caused declining use, or whether routine/quantity problems came first. Backup: S-8209.
S-807223 / 1 / 8; delivery problems selected; no commentExplore an operational explanation among someone still cooking relatively often. Establish whether the problem was lateness, something else, and consequential enough to trigger cancellation. Backup: S-8179.
S-80246 / 5 / 1; other selected; “kept piling up in the fridge”Short-tenure, high-skipping case outside executive labels: explore onboarding, quantity, expectations, and routine formation. Backup: S-8131.
S-803733 / 0 / 5; moving/travelling selected; no commentContrast with frequent skippers; examine life circumstances, whether the label fits, and why cancel rather than skip. Backup: S-8215.

Contact primaries immediately; approach backups if unavailable or declining. Offer the same fixed incentive regardless of feedback. Invite them to discuss “your experience using and stopping Sprig,” without naming hypotheses. Confirm they managed the subscription or cooking; do not screen for agreement with a theory.

Before calls, verify metric definitions, subscription dates, and available delivery history. Skipping reduces opportunities to cook; raw cooking counts are not cooking rates. Schedule three calls Tuesday, three Thursday, with debrief time.

Shared 30-minute interview guide

0–2 minutes: introduction

“We’re learning how Sprig fitted into your life and what led you to stop. This isn’t a sales call; honest criticism is useful. You can skip questions or stop. May we record for research notes?”

2–6: expectations and early use

  • “What was happening in your life when you signed up?”
  • “What did you hope Sprig would replace or make easier?”
  • “Walk me through an early delivery: who cooked, what got cooked, and what happened to the rest?”
  • “How typical was that during your first month?”

6–15: reconstruct the change

  • “Walk me through your last few weeks with Sprig.”
  • “Tell me about the last box you received—from arrival to what happened to each meal.”
  • “When did you first consider stopping? What happened just before that?”
  • “Was there a time it worked better? What changed?”
  • “Tell me about a week you skipped, if any. What drove that decision?”

Anchor memories to deliveries or calendar events; accept “I don’t remember.”

15–20: cancellation and alternatives

  • “Tell me about the day you cancelled. Why then?”
  • “What had you already tried?”
  • “What options did you consider, including skipping?”
  • “What have you actually done for meals since?”

20–27: test explanations, only after the unaided story

Ask everyone: - “How did the cost fit your budget and what you got from it?” Probe actual alternatives, prices or discounts used—not hypothetical willingness to pay. - “How did recipe choice change over time?” Request specific examples and timing. - “How did deliveries fit your plans?” If problems arose: promised versus actual arrival, consequences, frequency, and attempted resolution. - Then show their selected reason/comment: “How well does this capture what happened? What’s missing?”

27–30: confirm

Summarize the sequence, separating ongoing frustrations from the final trigger. “What have I misunderstood? What else mattered?”

Support and synthesis

Pair each novice with an experienced observer; rehearse Monday. Use silence and “Tell me about a specific time,” not suggested answers. Never defend Sprig or pitch fixes.

After each call, record timeline, supporting examples, contradictions, and unknowns separately from interpretation. Friday, compare cases across all explanations, explicitly noting disconfirming evidence. Report mechanisms and next validation steps—not churn percentages or causal conclusions from six interviews.

Grades and run details

Decision model 83 · LLM judge 85
Decision model checks
  • passUses the supplied evidence correctly29%
  • passAddresses the actual decision47%
  • partialRespects explicit constraints38%
  • partialIdentifies material uncertainty43%
  • passAvoids unsupported claims75%
  • passProduces the required deliverable57%
  • partialDoesn't trust the default reason47%
  • passRecruits from the data99%
  • passDesigned to falsify73%
  • passAsks what people did, not what they think89%
  • passDoesn't lead the witness72%
  • partialMarks what to cut if the call runs over55%
Run
Run
#1
Time to output
33 s
Submitted
5 Oct 2026

Usable with a quick edit11 of 12 checks passed

The only missing element is marking what to cut if the call runs over, which a PM can add in a quick edit; otherwise the plan is complete and evidence-based.

Output

Churn Interviews: Recruit Plan and Guide

What the data already tells us

  • The cancel form inflates "Too expensive." It is pre-selected, so we can't tell real price objections from people clicking through. Most cancellers left it on that answer.
  • Most cancellers had stopped cooking before they left. Many cooked 0–2 recipes in their last four weeks and skipped several deliveries. Their free text points to fit, not price: "kept piling up in the fridge," "too much food for two," "didn't have time to cook." The comparison stat agrees: 81% of retained subscribers cooked 3+ recipes a week in month one, versus 34% of cancellers. That's a correlation, but it suggests a fourth hypothesis none of the execs named: the kit never became a habit.
  • "Delivery problems" cancellers look different. Every one of them cooked 3+ recipes in their last four weeks, and several left within weeks 2–3. These are engaged customers we lost to an ops failure.
  • Free text often contradicts the selected reason. For example, "Moving / travelling" sits next to "cheaper at the supermarket."

Six calls can't tell us how many people leave for each reason; the data does that. The calls are for understanding how people decide to leave, so we give each hypothesis a fair, clean case.

Who to recruit

#PrimaryBackupProfileWhy
1S-8056S-8096Pre-selected price; cooked 12 (backup 9) in last 4 wks; "cheaper at the supermarket"CEO's hypothesis at its strongest: an engaged user who says price. Was it really competitors' discounts?
2S-8004S-8183Pre-selected price; 5 skips, 0 cooked, no free textWhat the default hides. Was price the reason or just the first option?
3S-8005S-8016Pre-selected price; 4–5 skips, 0 cooked; "too much food for two" / "piling up"Portion and waste: the theory none of the execs named.
4S-8036S-8282Pre-selected price; 5 skips, 0 cooked; "didn't have time to cook"Time and habit. When did cooking stop, and why?
5S-8133S-8057Chose "Recipes got repetitive"; 45–53 weeks; still cooking a littleHead of Food's hypothesis: a long-tenure user who picked this reason actively.
6S-8097S-8072Chose "Delivery problems"; cooked 8–10 in last 4 wksHead of Ops' hypothesis: an engaged user lost to a delivery failure.

Contact backups only if the primary doesn't respond within 48 hours. Assign the experienced interviewers to calls 1 and 2, where people most easily give a stock answer like "it was the price." New interviewers take 3–6 and shadow one call first if the schedule allows.

Interview guide (30 min)

Rules for interviewers (read before every call)

  1. Ask about what happened, not opinions. Prefer "Tell me about the last box you got" to "Do you think the recipes are repetitive?"
  2. Don't mention their cancel reason or our hypotheses until section 4. If you say "price" first, you'll hear "price."
  3. Don't defend, explain, or offer anything. No discounts, no "actually you can skip weeks." If they ask, note it and say someone can follow up.
  4. Allow silence. Count to five before your next question. The best answers come after the pause.
  5. Use neutral probes: "Tell me more." "What happened next?" "Can you give me an example?" "Why was that?"
  6. Follow their story, not the script. The script makes sure you cover everything; you don't need to ask it in order.
  7. Write down exact quotes, especially words they use about money, time, food, and delivery.

1. Intro (2 min)

"Thanks for making time. I'm [name] from Sprig. We're trying to understand what Sprig was like to use, including the bad parts. There are no wrong answers, and I'm not here to win you back. Is it OK if I take notes or record?"

2. Their life with Sprig (8 min)

  • "Take me back to when you signed up. What was going on? What were you hoping it would do for you?"
  • "Walk me through a typical week with a box. When did it arrive? Who cooked? What happened to the food?"
  • "How did that change over time?"
  • Probe: "When did that start?" "What was different then?"

3. The decision to leave (10 min)

  • "Tell me about the last few boxes before you cancelled."
  • "When did you first think about stopping? What happened that day or week?"
  • "Before cancelling, did you skip any weeks? What was going on then?"
  • Probe for leftovers and waste: "What happened to meals you didn't cook?"
  • "What did you do instead for meals? What does that cost and take?"
  • "Was there one moment that tipped it, or did it build up?"

4. Checking the reasons (6 min)

Ask these only now. - "On the cancel form you chose [reason]. Is that how you'd describe it to a friend?" - If the reason was pre-selected, say: "That option was already ticked by default. Was it your actual reason?" - Ask about each of the following, one at a time, unless they've already covered it. Get a specific example for each. - "How did the price feel by the end? Compared to what?" - "How did you feel about the recipe choices?" - "Any issues with deliveries? What happened?" - "If you could change one thing, would you have stayed? What would it be?"

5. Wrap (4 min)

  • "Is there anything I should have asked but didn't?"
  • Thank them and explain any incentive.

After each call (15 min, same day)

Fill in the shared sheet with: - Their main reason, in their words. - When cooking dropped off: week, and the trigger. - Supporting quotes. - Whether the form reason matched their story.

After all six calls, I'll write up how each person's decision unfolded, mapped against the four hypotheses. I'll be clear that six interviews show how people decide, not how many decide each way. The write-up will also recommend changing the cancel form so no option is pre-selected; that one change will make the form data usable.

Grades and run details

Decision model 96 · LLM judge 92
Decision model checks
  • passUses the supplied evidence correctly23%
  • passAddresses the actual decision53%
  • passRespects explicit constraints30%
  • passIdentifies material uncertainty29%
  • passAvoids unsupported claims31%
  • passProduces the required deliverable68%
  • passDoesn't trust the default reason59%
  • passRecruits from the data100%
  • passDesigned to falsify61%
  • passAsks what people did, not what they think76%
  • passDoesn't lead the witness70%
  • partialMarks what to cut if the call runs over52%
Run
Run
#1
Time to output
49 s
Submitted
5 Oct 2026

Check by check

Where the outputs differ comes first. Open a check to read the judge’s reasons. “Mixed” means the two graders disagreed.

Where they differ 5

Uses the supplied evidence correctlyWrongRightRight
Gemini 3.8 Flash · API

The claim about a 'Week 4 discount cliff' for S-8120 is invented; no discount information exists in the provided data.

GPT-6 Astra · ChatGPT

All factual claims about the current situation are taken directly from the supplied context or derived by simple arithmetic from it.

Opus 5.5 · Claude

All factual claims about the current situation are directly from the supplied context or derived from it by arithmetic.

Addresses the actual decisionMixedRightRight
Gemini 3.8 Flash · API

The output does not state what result or condition would change the recruitment choice.

GPT-6 Astra · ChatGPT

The output commits to a clear recruitment plan and interview guide, and says to approach backups if primaries are unavailable.

Opus 5.5 · Claude

The output commits to a clear recruitment plan and interview guide, framed for the PM, and states the purpose of the calls.

Identifies material uncertaintyWrongRightRight
Gemini 3.8 Flash · API

The output does not name specific unknowns that could change the decision or say how they would be resolved.

GPT-6 Astra · ChatGPT

The output labels the cooking gap as an association, notes the cancel form is weak evidence, and instructs to report mechanisms and next validation steps rather than causal conclusions.

Opus 5.5 · Claude

It names the pre-selected default bias, the habit hypothesis, and the limitation of six interviews for quantifying reasons.

Avoids unsupported claimsWrongRightRight
Gemini 3.8 Flash · API

The 'Week 4 discount cliff' is an unsupported interpretation presented as fact, and no caveat is given.

GPT-6 Astra · ChatGPT

Interpretations are clearly labelled as such (e.g., 'important association, not proof of causation'), and no cause is presented as established fact.

Opus 5.5 · Claude

Interpretations like 'engaged customers lost to ops failure' are presented as patterns to test, not as established fact.

Doesn't trust the default reasonRightWrongRight
Gemini 3.8 Flash · API

It explicitly names the pre-selected bias and uses behavioural data to show many 'too expensive' cancellers had stopped cooking.

GPT-6 Astra · ChatGPT

The plan names the pre-selected default as a bias but does not use the behaviour columns to show that most 'too expensive' cancellers had stopped cooking; it only picks two contrasting individuals without the aggregate pattern.

Opus 5.5 · Claude

It explicitly names the pre-selected default as a bias and shows that most 'too expensive' cancellers had stopped cooking.

All got wrong 1

Marks what to cut if the call runs overWrongWrongWrong
Gemini 3.8 Flash · API

Timings add up to 30 minutes but the guide does not mark which questions are must-ask or what to cut if time runs over.

GPT-6 Astra · ChatGPT

The guide includes timed sections that sum to 30 minutes but does not mark which questions to cut if the call runs over, as required.

Opus 5.5 · Claude

The guide has timed sections but does not mark which questions are must-ask or what to cut if time runs short.

All got right 6

Respects explicit constraintsRightRightRight
Gemini 3.8 Flash · API

The output respects the 900-word limit, provides a recruitment plan and interview guide, and includes a note for new interviewers.

GPT-6 Astra · ChatGPT

The plan is under 900 words, addresses the two new interviewers with pairing and rehearsal, and delivers the requested recruit list and guide.

Opus 5.5 · Claude

The output is under 900 words, addresses the two new interviewers, and provides a complete plan and guide.

Produces the required deliverableRightRightRight
Gemini 3.8 Flash · API

It delivers a ready-to-use recruitment table and a timed interview guide for the retention PM.

GPT-6 Astra · ChatGPT

The output provides a complete recruitment plan with reasons and a timed interview guide, usable by the retention PM and interviewers.

Opus 5.5 · Claude

The output is a complete recruitment plan and interview guide, usable by a PM with light edits.

Recruits from the dataRightRightRight
Gemini 3.8 Flash · API

Six distinct behavioural archetypes are drawn from the data, each linked to an exec hypothesis.

GPT-6 Astra · ChatGPT

The six interviewees are chosen by behaviour pattern (low-cooking price, high-cooking price, repetition, delivery, short-tenure other, moving with no skips) to test each hypothesis.

Opus 5.5 · Claude

Recruitment groups are defined by behavior patterns (engaged price, default-hiders, waste, time, recipes, delivery) with specific IDs.

Designed to falsifyRightRightRight
Gemini 3.8 Flash · API

Each hypothesis has a question whose honest answer could disprove it, e.g. asking about what they do for dinner now instead.

GPT-6 Astra · ChatGPT

Each executive hypothesis has a disconfirming question (e.g., 'How did the cost fit your budget and what you got from it?' could show price wasn't the issue).

Opus 5.5 · Claude

Each hypothesis has a non-leading question (e.g., 'How did the price feel by the end?') that could yield disconfirming answers.

Asks what people did, not what they thinkRightRightRight
Gemini 3.8 Flash · API

Core questions ask about specific recent events like the last box received and the moment of cancellation.

GPT-6 Astra · ChatGPT

Core questions ask for specific recent instances (last box, week skipped, day of cancellation) and follow up on actions, not opinions or hypotheticals.

Opus 5.5 · Claude

Core questions ask about specific recent actions (last boxes, skipped weeks, what they did instead) rather than opinions.

Doesn't lead the witnessRightRightRight
Gemini 3.8 Flash · API

The guide instructs interviewers not to mention the cancel form and questions are neutrally worded.

GPT-6 Astra · ChatGPT

Questions are open and neutral; the guide explicitly instructs interviewers not to defend Sprig or suggest answers.

Opus 5.5 · Claude

Questions are neutral and open; the guide instructs not to mention the cancel reason or hypotheses until section 4.

Results

Every setup we’ve tested on this task type, across all its tasks and repeats, graded on the current checklist. Calibrated. Where our PM checked the graders by hand, they agreed on 98% of 42 checks.

#Model · HarnessTask scoreDecision modelLLM judgeRunsCritical failures
1Sonnet 5.5withAPI86.188.52None
2GPT-6.1 SolwithAPI87.884.92None
3Opus 5.5withClaude92.174.72None
4GPT-6 AstrawithChatGPT89.774.52None
5Haiku 5.5withAPI87.870.12None
6GPT-6 LunawithAPI81.673.92None
7Gemini 3.8 FlashwithAPI69.751.92None
8Gemini 3.5 Flash-LitewithGemini60.126.121 capped

What you get for the cost

GPT-6.1 Sol · API scores within a point of Sonnet 5.5 · API at a third of the cost.

Task score against relative cost for each setup. The table below has the same figures.304050607080901001×3×10×30×Cost per output, relative to the cheapest setup (log scale) →↑ Task scoreSonnet 5.5 · API: task score 86, 43× the cheapestGPT-6.1 Sol · API: task score 85, 13× the cheapestOpus 5.5 · Claude: task score 82, 71× the cheapestGPT-6 Astra · ChatGPT: task score 81, 66× the cheapestHaiku 5.5 · API: task score 77, 2.3× the cheapestGPT-6 Luna · API: task score 77, the cheapestGemini 3.8 Flash · API: task score 58, 8.3× the cheapestGemini 3.5 Flash-Lite · Gemini: task score 41, 3.0× the cheapest, 1 critical failureSonnet 5.5 · APIGPT-6.1 Sol · APIOpus 5.5 · ClaudeGPT-6 Astra · ChatGPTHaiku 5.5 · APIGPT-6 Luna · APIGemini 3.8 Flash · APIGemini 3.5 Flash-Lite · Gemini
Best valueNobody beats these on both score and costAt least one critical failure
Task score and relative cost by setup
SetupTask scoreRelative cost (cheapest = 1)
GPT-6 Luna · API771.0×
Haiku 5.5 · API772.3×
Gemini 3.5 Flash-Lite · Gemini413.0×
Gemini 3.8 Flash · API588.3×
GPT-6.1 Sol · API8513×
Sonnet 5.5 · API8643×
GPT-6 Astra · ChatGPT8166×
Opus 5.5 · Claude8271×

Cost is each output’s tokens at the model’s list price, shown relative to the cheapest setup. Runs done in an app have no usage meter, so theirs are estimated from the same setup’s measured runs. How we compare cost

About the task

The PM job

Preparing for customer calls.

Why it matters

Leading questions produce the answers you wanted. A good guide is designed to prove you wrong.

What good looks like

  • Past-behaviour questions
  • No leading prompts
  • Clear learning goals
  • Could disprove the team's hypothesis

Deliberately not measured

    Capability tested

    Question design

    The failure we’re looking for

    Hypothetical, leading questions

    Grading

    Decision model and LLM judge, calibrated against a blind PM review