
Most pricing mistakes aren't about math. They're about choosing a contract model that doesn't match uncertainty.
You can have the best team in the world, and still lose money (or lose trust) if you:
- pick fixed price when scope is still fluid,
- pick time & materials (T&M) when the buyer needs cost certainty,
- sell a retainer when you don't have a stable, repeatable delivery motion.
This guide gives you a practical decision framework, plus concrete guardrails you can use to keep scope, schedule and commercials aligned as the deal changes.
The quick decision matrix
Use this as a starting point. Most deals land in a hybrid, but the dominant pattern matters.
Fixed price is strongest when…
- scope is stable enough to define acceptance criteria
- dependencies are known and controllable (or explicitly excluded)
- you can reuse delivery patterns (repeatable work)
- the buyer expects a clear “deliverable list” and isn't buying “capacity”
The risk: you under-spec the work, then bleed margin in delivery.
T&M is strongest when…
- scope will change (product discovery, integrations, legacy, unknowns)
- the buyer is comfortable with a governance model (weekly steering, burn reporting)
- outcomes are clear, but the route to get there isn't
The risk: buyers feel exposed (“blank cheque”) unless you package it with controls.
Retainers are strongest when…
- you have a recurring service motion (ongoing ops, support, content, optimisation)
- you can define the service boundary clearly (what's included, what's not)
- the buyer needs predictable spend (and you need predictable utilisation)
The risk: you sell “on-call delivery” without limits and become the buyer's overflow team.
A simple way to classify uncertainty
Before choosing a model, classify the uncertainty you're actually dealing with:
- Product uncertainty: the buyer is still deciding what they want
- Technical uncertainty: unknown integrations, performance, legacy complexity
- Delivery uncertainty: resourcing constraints, availability, onboarding overhead
- Commercial uncertainty: procurement, payment terms, timeline urgency
If uncertainty is high, fixed price isn't “wrong” — it just needs tighter guardrails and a structure that allows change.
How each model fails (and the early warning signs)
Fixed price failure mode: silent scope creep
Early signs:
- “It's a small change” appears weekly
- acceptance criteria are vague (“make it work like X”)
- estimates are written at feature level but delivery needs task-level detail
Guardrails:
- explicit assumptions, exclusions, and dependencies
- a change request mechanism (even if lightweight)
- a scope hierarchy that can be descoped by priority without breaking coherence
T&M failure mode: buyer distrust
Early signs:
- buyer asks for hard guarantees on total cost, while also changing scope
- weekly check-ins become debates about hours rather than outcomes
- the team starts “padding” because they feel commercially unsafe
Guardrails:
- a clear cadence (weekly plan, demo, burn, decisions)
- a cap or “not-to-exceed” envelope for each phase
- an agreed scope baseline to measure change against
Retainer failure mode: infinite backlog
Early signs:
- buyer expects “everything” under the retainer
- priorities swing with internal politics
- you can't forecast utilisation because requests are unbounded
Guardrails:
- explicit service boundary (support tier, response times, channels)
- a queue with prioritisation rules
- a separate track for “projects” vs “service”
Hybrids that work well (and why)
Most healthy service businesses use hybrids because uncertainty changes over time.
Discovery fixed, delivery T&M (or fixed)
Use a fixed-price discovery phase to remove the biggest unknowns:
- requirements and acceptance criteria
- integration map and dependencies
- delivery plan and schedule options
- commercial options (fixed vs capped T&M)
Then choose the delivery model with better information.
Fixed scope, variable usage (TCO-style)
When the build is stable but usage changes costs, separate the commercials:
- build: fixed or capped T&M
- run (recurring): unit-based pricing tied to usage projections (user-months, GB-months, instance-hours)
This is where recurring, unit-based pricing wins: it stays fair as usage changes.
Retainer for run, change requests for build
If you sell managed services, keep the boundary clean:
- retainer covers support/ops within limits
- project work is estimated and approved separately
Packaging cost certainty without lying
Buyers often ask for certainty. The most dangerous response is pretending certainty exists.
Instead, offer structured options:
- Option A (fast + flexible): T&M with weekly governance and a cap per phase
- Option B (balanced): fixed price with explicit assumptions + change requests
- Option C (predictable): retainer for run + fixed discovery + delivery cap
The buyer isn't choosing “pricing.” They're choosing a risk-sharing arrangement.
How to operationalise this in Estii
The goal is to keep scope, schedule, and price linked so you can iterate without creating a spreadsheet mess.
Model roles and margin guardrails
- Set up roles with clear cost and price, and a margin range so you can see when concessions are breaking the model.
- Use multiple rate cards if you need different commercial strategies (regions, rush rates, cost centres).

Related docs:
Use scope as the commercial lever
Scope isn't just a list — it's your negotiation surface:
- tag work by priority, risk, stream, product, etc
- descope low-value items quickly while preserving the structure of the work

Related docs:
Keep schedule realistic (and explainable)
Scope and schedule drift together. If you compress the timeline, resourcing (and cost) changes.

Related docs:
Define payment structure that matches delivery risk
Milestones help in all three models:
- fixed price: align payments with deliverables/acceptance
- T&M: align payments with cadence and governance
- retainer: define periodic payments and terms clearly

Related docs:
Model recurring/usage pricing for retainers and run costs
When pricing depends on usage, represent it explicitly with unit-based products and pricing periods.
Related docs:
Use versions to manage negotiation changes
Create a snapshot before big commercial moves (discounts, scope cuts, timeline changes), so you can compare “before/after” and avoid confusion.
Related docs:
Package it cleanly for the buyer
The proposal should communicate:
- what's in scope (and what's explicitly out)
- the timeline and resourcing narrative
- the commercials (milestones, terms, appendices)
Related docs:
Closing thought
The best model is the one where your buyer understands what they're buying, your team can deliver without heroics, and your commercials still make sense when reality changes.