What is the CSD Matrix
CSD = Certainties, Assumptions, Doubts. It’s a quick team-alignment exercise built to separate fact from hypothesis at the start of a project.
The idea is simple: most bad product decisions come from treating an assumption as a certainty. CSD forces the team to admit what it doesn’t know.
The 3 columns
Certainties
What you can prove with data, research, or direct observation. Not team opinion. Not consensus. Evidence.
Good example: "Our home conversion rate is 2.3%" (Google Analytics). Bad example: "Our customers love the product" (no recent NPS).
Assumptions
What the team believes to be true, but has no data for. This is the most important column — because an assumption is what will burn you if you treat it as fact.
Example: "Users abandon checkout because of the price."
Doubts
Questions no one can answer yet. Where the boundary of knowledge sits.
Example: "How many users actually use feature X after the first week?"
When to use it
At the start of any project. Before:
- Defining scope
- Estimating timeline
- Deciding what to research
- Committing resources
The CSD Matrix is pre-discovery: it reveals what needs to be investigated.
Don’t use it when:
- The team has just finished deep discovery
- The decision is already made (a CSD for "theater discussion" is frustrating)
How to facilitate (90 minutes)
Preparation (10 min)
Gather the team: PM, design, engineering, maybe a stakeholder. Max 8 people. More than that becomes a stuck meeting.
Define the scope: "We’re doing CSD on feature X" or "on problem Y". Without a clear scope, it turns into a useless generic CSD.
Individual brainstorm (15 min)
Each person writes sticky notes silently. One idea per note. Don’t label yet — just write.
Collective categorization (30 min)
Together, place each note into one of the three columns. When someone wants to label a note as "Certainty", someone asks: "Where’s the data?"
If there’s no data, the note goes to Assumptions. No exceptions.
Prioritization (20 min)
Each Assumption gets two scores:
- Impact: if this assumption is wrong, how much does the decision change? (1–5)
- Risk: what’s the current confidence? (1 = guess, 5 = near certainty)
Multiply. Assumptions with the highest score (impact × inverse confidence) become priority research.
Doubts follow the same process.
Action plan (15 min)
Each priority Assumption/Doubt becomes a research task with:
- Who investigates
- Method (interview, data analysis, test)
- Deadline (max 2 weeks)
Real example
Discovery for a financial management app aimed at doctors. CSD Matrix output:
Certainties:
- 80% of doctors have more than one fixed shift (market research)
- TUSS revenue takes 30+ days to settle (regulation)
- Most use Excel for financial control (previous interviews)
Assumptions (prioritized):
- "Doctors don’t want to categorize each transaction manually" (impact: 5, confidence: 2 → HIGH PRIORITY)
- "Shifts should have a dedicated area, not mixed with other revenue" (impact: 4, confidence: 3 → MEDIUM)
- "End clients accept a magic link without signup" (impact: 5, confidence: 2 → HIGH)
Doubts:
- How long do doctors tolerate opening the app daily?
- Individual doctors vs medical practices — different audiences?
Plan: 3 qualitative interviews for each HIGH assumption. 2-week deadline. Product decisions paused until validated.
The most common mistake
Teams fill in the matrix and file it away. They don’t run the research to resolve the Assumptions. Six months later they discover that "certainty" from the matrix was a mislabeled assumption.
The matrix only works if it turns into a research plan. Without that, it’s theater.
Template
You can build it in any tool: Miro, FigJam, Notion, paper on the wall. Three columns, sticky notes. No paid tool needed.
What matters is the rigor of categorization: when in doubt whether something is a Certainty or an Assumption, the default is always Assumption.
How Otther uses the CSD Matrix in project kickoffs
The CSD Matrix is literally the first meeting we ask for in every new discovery project. Before Figma, before roadmap, before any timeline estimate — we sit 90 minutes with the client team to run CSD.
The reason is practical: clients who come to Otther usually already have strong opinions about what needs to be built. CSD forces that opinion to identify itself as Certainty, Assumption, or Doubt. Typically, 70% of what came in as "certainty" leaves categorized as an assumption after the question "where’s the data?".
That completely changes the scope of discovery. Instead of validating 1 or 2 central hypotheses, we walk out with 8 to 12 prioritized Assumptions — each becoming an interview, a data analysis, or a test. Discovery becomes a traceable research plan, not a brainstorm.
CSD is part of our design and development process. When clients skip this step, the probability of scope pivot mid-project rises sharply — because we discover too late that the "certainty" wasn’t a certainty.
If you’re thinking about starting a new product or rebuilding an existing one, it’s worth a first conversation. 90 minutes of CSD in the first week saves months of rework later.
To close
CSD is the cheapest product-discovery tool there is. 90 minutes. It can save months of wrong development. Use it at the start of every significant feature.

