The Assumption Stack: Rank Your Riskiest Product Bets

Every product is a stack of assumptions. Learn how to identify, prioritize, and systematically test the assumptions that will make or break your product.

Cover Image for The Assumption Stack: Rank Your Riskiest Product Bets

The Assumption Stack: Rank Your Riskiest Product Bets

The assumption stack is a framework for visualizing your product as a tower of dependent assumptions β€” "target users exist" at the foundation, "problem is painful enough" above it, "solution solves the problem" above that, and so on up to "unit economics work at scale." If any assumption is false, everything above it collapses. The framework makes these bets explicit, scores them by risk (Impact x Uncertainty), and tests them in dependency order so foundational failures are caught before downstream investment.

Every product decision is a bet.

"Users will want this." That's a bet. "They'll pay $X for it." Another bet. "We can build it in 6 weeks." Bet. "It'll work at scale." Bet.

Most products fail not because the team was incompetent, but because they bet wrongβ€”and didn't know it until they'd already lost.

The Assumption Stack is a framework for identifying your bets, ranking them by risk, and systematically testing them before they can kill you.

What Is the Assumption Stack?

Think of your product as a tower of assumptions, each one stacked on top of others:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Unit economics work at scale   β”‚  ← Only matters if below is true
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Users will pay $X/month        β”‚  ← Only matters if below is true
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Solution solves the problem    β”‚  ← Only matters if below is true
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Problem is painful enough      β”‚  ← Only matters if below is true
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Target users actually exist    β”‚  ← Foundation
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

If any assumption in the stack is false, everything above it collapses.

The Assumption Stack framework helps you:

  1. Make these assumptions explicit
  2. Identify which are most likely to be wrong
  3. Test them in the right order

Building Your Assumption Stack

Step 1: List Every Assumption

Start by brainstorming every assumption your product depends on. Be exhaustive. Common categories:

User Assumptions

  • Target users exist in sufficient numbers
  • They experience the problem I think they do
  • The problem is painful enough to motivate action
  • They're actively looking for solutions
  • They have budget for solutions

Problem Assumptions

  • Current solutions are inadequate
  • The problem is frequent enough to matter
  • Users recognize they have this problem
  • The problem is urgent, not just important

Solution Assumptions

  • Our solution addresses the core problem
  • Users can figure out how to use it
  • It's significantly better than alternatives
  • The benefits are obvious quickly

Business Model Assumptions

  • Users will pay our target price
  • CAC will be lower than LTV
  • We can reach our target users affordably
  • Word of mouth will help with growth

Technical Assumptions

  • We can build this with our team
  • It will perform acceptably
  • It will scale when needed
  • We can maintain it long-term

Market Assumptions

  • Timing is right
  • No dominant incumbent will crush us
  • Regulations won't block us
  • Market is large enough

Aim for 20-50 assumptions. More is better at this stage.

Step 2: Score Each Assumption

For each assumption, rate on three dimensions:

Impact (1-5): If this is wrong, how bad is it?

  • 5 = Product/company fails
  • 3 = Major pivot required
  • 1 = Minor adjustment needed

Uncertainty (1-5): How confident are we this is true?

  • 5 = Complete guess
  • 3 = Some evidence but not conclusive
  • 1 = Very confident, strong evidence

Testability (1-5): How easily can we test this?

  • 5 = Can test this week cheaply
  • 3 = Moderate effort/time/cost
  • 1 = Very difficult to test

Risk Score = Impact Γ— Uncertainty

Priority Score = Risk Score Γ— Testability

High priority = high risk AND easy to test. These are your quick wins.

Step 3: Order the Stack

Arrange your assumptions in dependency order. Ask: "If this assumption is false, which other assumptions become irrelevant?"

For example, if "users experience this problem" is false, then "users will pay for a solution" doesn't matter.

Test foundational assumptions first.

Step 4: Design Tests

For each top-priority assumption, design the cheapest, fastest test:

AssumptionTestCostTimeSuccess Criteria
Users have this problem weekly10 user interviews$03 days7+ confirm
Will pay $20/monthPainted door test$200 ads1 week3%+ CTR
Can build in 4 weeksTechnical spike$03 daysProof of concept

Step 5: Execute in Order

Run tests sequentially for dependent assumptions, parallel for independent ones.

Stop if a foundational assumption fails. Don't test pricing if you haven't validated the problem.

Assumption Stack in Practice

Example: B2B Meeting Scheduler

A founder wanted to build an AI meeting scheduler for sales teams.

Initial Assumption Stack:

AssumptionImpactUncertaintyTestablePriority
Sales reps spend 5+ hrs/week scheduling545100
Current tools (Calendly) aren't enough44464
AI can schedule better than rules-based33327
Sales managers will approve new tools44464
Will pay $30/user/month54480
Can integrate with major CRMs42540

Top priority to test: "Sales reps spend 5+ hrs/week scheduling"

Test: Interviewed 15 sales reps at target companies

Result: Average was 2 hours/week. Only 2 of 15 said it was a major pain point. Most said, "Calendly is fine."

Decision: Killed the idea before writing any code. Saved months of development.

Lesson: The foundational assumption was wrong. Everything built on it would have failed.

Example: Creator Analytics Dashboard

Another founder building analytics for YouTube creators.

Assumption Stack (excerpted):

AssumptionImpactUncertaintyPriority
Creators check analytics daily4360
YouTube Studio is insufficient4464
Creators will pay $15/mo5480
Can get YouTube API access5240

Tests Run:

  1. "Check analytics daily" β†’ User interviews β†’ TRUE (8/10 daily users)
  2. "YouTube Studio insufficient" β†’ Survey β†’ PARTIALLY TRUE (specific gaps identified)
  3. "Will pay $15/mo" β†’ Painted door β†’ FALSE (1.2% CTR at $15, 4.8% at $5)

Outcome: Pivoted pricing to $5/mo with annual plans. Also narrowed focus to the specific gaps users complained about. Launched successfully.

Common Mistakes with Assumption Stacks

1. Testing the Easy Assumptions First

It's tempting to start with what's comfortable. "Can we build this?" is less scary than "Will anyone pay for this?"

Fix: Force yourself to test the riskiest, most foundational assumptions first. Technical validation can come later.

2. Treating All Assumptions as Equal

"Users will love the dark mode" is not the same risk as "Users will pay us money."

Fix: Always score by impact. Low-impact assumptions can be tested later or skipped.

3. Not Killing Bad Ideas

You've found a false assumption. But you're attached to the idea. So you rationalize.

Fix: Set kill criteria before you test. "If fewer than 6 of 10 users confirm this problem, we stop." Then follow through.

4. Analysis Paralysis

You've listed 100 assumptions. Now you're overwhelmed.

Fix: You don't need to test everything. Focus on the top 5-7 by priority score. That usually covers 80% of your risk.

5. Testing Assumptions in the Wrong Order

Spending weeks validating that you can scale to 1M users when you haven't validated that 100 users want this.

Fix: Dependency order matters. Test foundational assumptions before downstream ones.

The Assumption Stack Template

Here's a simple template to get started:

PRODUCT: _______________
DATE: _______________

ASSUMPTIONS (in dependency order):

1. [Foundation] _____________________
   Impact: __ Uncertainty: __ Testable: __ Priority: __
   Test: _____________________
   Success criteria: _____________________
   Result: _____________________

2. [If #1 is true] _____________________
   Impact: __ Uncertainty: __ Testable: __ Priority: __
   Test: _____________________
   Success criteria: _____________________
   Result: _____________________

[Continue for top 5-7 assumptions]

DECISION: Continue / Pivot / Kill
RATIONALE: _____________________

Start Stacking Today

Your product is already a stack of assumptions. The only question is whether you make them explicit and test them, or leave them implicit and hope.

  1. This week: List your top 10 assumptions
  2. Score them: Impact Γ— Uncertainty = Risk
  3. Pick the top 3: Start testing immediately
  4. Be honest: If an assumption fails, act on it

The founders who win aren't the ones who guess right. They're the ones who test their guesses systematically.


FAQ

Q: What is the assumption stack framework?

The assumption stack visualizes your product as a tower of dependent assumptions. If any is false, everything above collapses. It makes bets explicit, scores them by Impact x Uncertainty, and tests them in dependency order.

Q: How do you prioritize which assumptions to test first?

Score by impact (how bad if wrong), uncertainty (how confident you are), and testability (how easily tested). Priority = Risk x Testability. Test foundational assumptions before downstream ones β€” don't test pricing if you haven't validated the problem.

Q: What are the most common assumption testing mistakes?

Testing easy assumptions first, treating all assumptions as equal, not killing bad ideas when disproven, analysis paralysis from too many assumptions, and testing in the wrong order.


Want help identifying your riskiest assumptions? Try Cutline for AI-powered assumption analysis and risk assessment.


Read more about

Β·7 min readΒ·πŸ“Posts

SlopBurn reframes agentic software quality as a depth-first roguelike dungeon crawl. Bugs become monsters, tests become weakpoints, and software quality becomes the main loop instead of an afterthought.

Β·9 min readΒ·πŸ“Posts

We're evolving from a technical product manager to a research company focused on safe vibecoding. Our mission remains the same: help developers build secure, scalable, and reliable software with AI coding agents β€” from the first line of code.

Β·9 min readΒ·πŸ“Posts

A new category of freelance work is exploding: fixing apps that AI built and humans shipped. Full disclosure: I'm a former Upwork employee (2022–2024). All observations below are based on publicly available data. Here's what the numbers say about the vibecoding cleanup economy β€” and why the hardest 20% is where all the money is.

Β·11 min readΒ·πŸ“Posts

Whether you just shipped an MVP or are still prompting your first feature, your vibecoded app has security gaps. They're not bugs β€” they're structural omissions baked into how LLMs generate code. Here's how to find them, fix them, and prevent them at every stage of the software engineering lifecycle.

Β·14 min readΒ·πŸ“Posts

In 2015, Google warned that ML systems were the 'high-interest credit card of technical debt.' A decade later, vibecoding tech debt makes that metaphor quaint. AI-generated code doesn't carry credit card rates β€” it carries payday lender rates, with terms designed to look cheap until the first payment is due.

Β·15 min readΒ·πŸ“Posts

Traditional TDD asks developers to write tests before code. Cutline's Red-Green Refactoring mode flips the script β€” the constraint graph writes the tests for you, turning every feature into a gauntlet of security, performance, and stability checks that the AI must pass.