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 edit4 of 12 checks passed

The output contains a factual error (12 recipes a week) and leading questions that would require rework before use. A PM would need to re-check the data and rewrite several questions.

Output

Sprig Retention: Churn Interview Plan (Next Week)

To stress-test our executive hypotheses (CEO: Price/Competitors; Head of Food: Repetitive recipes; Head of Ops: Late deliveries) and address the alarming baseline metric—only 34% of cancellers cooked $\ge$3 recipes/week in month one, versus 81% of retained users—we have selected a targeted cross-section of 6 users from last quarter’s cancellation dataset.

---

Part 1: Recruitment Plan (Who & Why)

We need a mix of profiles to isolate the real drivers of churn while accommodating our two interviewers who are new to the process (we will pair them with experienced leads or give them highly structured transcripts).

1. S-8028 (Delivery Problems / High Engagement) * Profile: Subscribed 3 weeks, skipped 2, cooked 9 recipes (heavy initial usage). Reason: Delivery problems. Free text: "kept piling up in the fridge". * Why: Tests Head of Ops' delivery hypothesis against actual usage. With 9 recipes cooked, they were engaged until logistics broke down. Good for new interviewers (clear timeline). 2. S-8056 (Price / Power User / Churn after 29 weeks) * Profile: Subscribed 29 weeks, skipped 1, cooked 12 recipes in the last 4 weeks. Reason: Too expensive (default). Free text: "cheaper at the supermarket". * Why: Tests CEO's price hypothesis. Crucially, they were cooking 12 recipes a week right up until cancellation—meaning value was high, but price sensitivity or a competitor offer triggered the exit. 3. S-8035 (Recipes / Long-term Churn) * Profile: Subscribed 56 weeks, skipped 1, cooked 2 recipes. Reason: Recipes got repetitive. Free text: "didn't have time to cook". * Why: Directly tests Head of Food’s hypothesis on long-term fatigue. Shows how a loyal user of over a year slowly disengaged. 4. S-8005 (Price / Early Drop-off / Zero Engagement) * Profile: Subscribed 20 weeks, skipped 5, cooked 0 recipes. Reason: Too expensive. Free text: "too much food for two". * Why: Represents the bulk of cancellers who fail activation (0 recipes cooked). Unpacks whether "Too expensive" is a proxy for value failure (didn't use it, so it felt like a waste). 5. S-8115 (Delivery / Mid-term / High Usage) * Profile: Subscribed 17 weeks, skipped 2, cooked 10 recipes. Reason: Delivery problems. Free text: "cheaper at the supermarket". * Why: Combines delivery issues with secondary price/supermarket comparison. Great for testing if operational friction causes users to re-evaluate overall cost. 6. S-8214 (Recipes / Mid-term / Moderate Usage) * Profile: Subscribed 31 weeks, skipped 3, cooked 3 recipes. Reason: Recipes got repetitive. Free text: "too much food for two". * Why: Explores the intersection of recipe fatigue and household sizing ("too much food for two"), providing actionable product feedback for the Head of Food.

---

Part 2: 30-Minute Interview Guide

Designed for clarity, supporting our two new interviewers with clear guardrails against leading questions.

Phase 1: Introduction & Context (5 mins)

  • Interviewer Script: "Hi [Name], thanks for taking 30 minutes. I’m with Sprig. We’re not here to win you back or sell you anything—I genuinely want to understand your experience so we can fix things for current subscribers. There are no right or wrong answers."
  • Warm-up: "Take me back to when you first signed up. What were you hoping Sprig would solve for you?"

Phase 2: The Journey & Engagement (10 mins)

(Focusing on the gap between our 81% retained benchmark and their early experience) * "Looking back at your first month, how easy or hard was it to get through [X] recipes a week?" * Probe (for New Interviewers): Listen for signals matching the data (e.g., "I see you skipped a few weeks around month two..."). Ask: "What caused you to skip those weeks?" * "When you thought about skipping or pausing, what usually drove that decision? (e.g., schedule, food piling up, getting bored)?"

Phase 3: Stress-Testing Executive Hypotheses (10 mins)

  • Testing Delivery (Ops): "Did delivery timing or box condition ever impact your cooking plans? Can you share a specific instance?"
  • Testing Recipes & Portions (Food): "You mentioned [repetitive recipes / too much food for two]. At what point did the menu start feeling stale? Were there specific meals you started dreading?"
  • Testing Price & Alternatives (CEO): "When you selected 'Too expensive' / noted supermarket prices, what were you comparing Sprig to? Did a competitor offer trigger the switch, or did the value equation shift over time?"

Phase 4: The Final Decision & Wrap-Up (5 mins)

  • "Take me to the exact week you decided to cancel. What was the final straw?"
  • "If you could wave a magic wand and change one thing about Sprig the day before you cancelled, what would it have been?"
  • Close: "Thank you so much for your candor. This is immensely helpful for our team."

Claims the judge couldn’t find in the brief

  • S-8056 was cooking 12 recipes a week right up until cancellation.

Grades and run details

Decision model 63 · LLM judge 31
Decision model checks
  • passUses the supplied evidence correctly36%
  • partialAddresses the actual decision24%
  • partialRespects explicit constraints68%
  • partialIdentifies material uncertainty76%
  • passAvoids unsupported claims24%
  • partialProduces the required deliverable80%
  • partialDoesn't trust the default reason88%
  • passRecruits from the data72%
  • partialDesigned to falsify57%
  • partialAsks what people did, not what they think82%
  • partialDoesn't lead the witness46%
  • partialMarks what to cut if the call runs over57%
Run
Run
#1
Time to output
6 s
Submitted
5 Oct 2026

Check by check

Open a check to read the judge’s reasons. “Mixed” means the two graders disagreed.

Got wrong 5

Identifies material uncertaintyWrong

The output does not name unknowns that could change the plan, such as the unreliability of the cancel form default or how interviews might surface unexpected reasons.

Doesn't trust the default reasonWrong

The plan does not mention that 'Too expensive' is the pre-selected default or use the behaviour columns to show most of those cancellers had stopped cooking.

Designed to falsifyWrong

The recipe question ('At what point did the menu start feeling stale?') assumes fatigue and is leading, so it cannot cleanly disprove the hypothesis.

Doesn't lead the witnessWrong

Questions like 'At what point did the menu start feeling stale?' and 'Were there specific meals you started dreading?' lead the participant toward the fatigue hypothesis.

Marks what to cut if the call runs overWrong

Sections are timed to 30 minutes but the guide does not mark must-ask questions or indicate what to cut if time runs short.

Mixed 3

Uses the supplied evidence correctlyMixed

The output claims S-8056 was cooking 12 recipes a week, but the data shows 12 recipes over 4 weeks, not per week.

Avoids unsupported claimsMixed

It presents interpretations like 'value was high, but price sensitivity triggered the exit' and 'engaged until logistics broke down' as facts without labelling them as hypotheses.

Recruits from the dataMixed

It picks six individuals but does not define recruitment groups (e.g., stopped cooking, still cooking but price) with counts from the data.

Got right 4

Addresses the actual decisionRight

The output commits to a specific recruitment plan and interview guide, which is the requested answer.

Respects explicit constraintsRight

The plan is under 900 words, addresses the two new interviewers, and provides the requested recruitment and guide.

Produces the required deliverableRight

The recruitment list and 30-minute guide are present, complete, and within the word limit.

Asks what people did, not what they thinkRight

Core questions ask for specific recent instances (e.g., 'Take me to the exact week you decided to cancel', 'Can you share a specific instance?').

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