Most pricing mistakes trace back to one thing: the contract model doesn't match the uncertainty in the work. The maths is fine. The shape is wrong.
You can have a strong team and still lose money (or trust) if you pick fixed price while scope is fluid, sell time and materials (T&M) to a buyer who needs cost certainty, or run a retainer before you have a stable delivery motion.
This guide gives you a practical way to choose between fixed price, T&M, and retainer pricing, with guardrails for each and the failure modes to watch for.
Fixed price vs T&M vs retainer at a glance
| Model | Best for | Main risk | Main guardrail |
|---|---|---|---|
| Fixed price | Stable scope, repeatable delivery, clear acceptance criteria | Silent scope creep bleeds margin | Written assumptions, exclusions, change-request process |
| Time and materials | Discovery, integrations, unknown legacy, evolving scope | Buyer feels exposed to open-ended spend | Weekly governance, per-phase not-to-exceed cap |
| Retainer | Ongoing ops, support, content, optimisation | Infinite backlog, you become the overflow team | Explicit service boundary, prioritised queue, projects separated |
The quick decision matrix
Use this as a starting point. Most deals land on a hybrid, but the dominant pattern is what anchors the commercials.
When fixed price fits
- Scope is stable enough to write acceptance criteria
- Dependencies are known and controllable, or explicitly excluded
- You can reuse delivery patterns from prior work
- The buyer wants a defined deliverable list, not capacity
The risk: you under-spec the work, then bleed margin during delivery.
When T&M fits
- Scope will move (product discovery, integrations, legacy, unknowns)
- The buyer accepts a governance model: weekly steering, burn reporting, decisions logged
- Outcomes are clear, but the route there isn't
The risk: buyers feel exposed ("blank cheque") unless you wrap it in controls.
When a retainer fits
- You have a recurring service motion (ops, support, content, optimisation)
- You can define the service boundary cleanly: what's in, what's out
- The buyer wants predictable spend and you need predictable utilisation
The risk: you sell "on-call delivery" without limits and end up as 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, 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 pricing model fails (and the early warning signs)
Fixed price failure: silent scope creep
Early signs:
- "It's a small change" appears weekly
- Acceptance criteria are vague ("make it work like X")
- Estimates sit at feature level, but delivery runs on tasks
Guardrails:
- Written assumptions, exclusions, and dependencies
- A change-request mechanism, even a lightweight one
- A scope hierarchy that can be descoped by priority without breaking coherence
T&M failure: buyer distrust
Early signs:
- Buyer asks for hard guarantees on total cost while also changing scope
- Weekly check-ins turn into debates about hours instead of outcomes
- The team starts padding estimates 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: 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 versus service
Hybrids that work well
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 close the biggest unknowns:
- Requirements and acceptance criteria
- Integration map and dependencies
- Delivery plan and schedule options
- Commercial options (fixed, or capped T&M)
Then choose the delivery model with better information.
Fixed scope, variable usage (TCO-style)
When the build is stable but usage drives cost, split the commercials:
- Build: fixed or capped T&M
- Run: unit-based pricing tied to usage projections (user-months, GB-months, instance-hours)
Recurring, unit-based pricing stays fair as usage changes. See how to estimate TCO for services for the full model.
Retainer for run, change requests for build
For managed services, keep the boundary clean:
- Retainer covers support and ops within defined limits
- Project work is estimated and approved separately
Packaging cost certainty without lying
Buyers often ask for certainty. The worst response is pretending it exists. Instead, offer structured options:
- Option A (fast and flexible): T&M with weekly governance and a cap per phase
- Option B (balanced): fixed price with written assumptions and a change process
- Option C (predictable): retainer for run, fixed discovery, delivery cap
Framed this way, the buyer is picking a risk-sharing arrangement, with a price attached.
How to operationalise this in Estii
The goal is to keep scope, schedule, and price linked, so you can iterate the commercials without creating a spreadsheet mess.
Price the roles, then protect the margin
Set up roles with clear cost, price, and a margin range, so you can see when concessions are breaking the model. Use multiple rate cards when you need different commercial strategies (regions, rush rates, cost centres).
Role cost, price, and margin controls in Estii
Docs: Roles, Rate cards, Time periods, Estimation settings.
Use scope as the negotiation surface
Scope is the commercial lever, not a list. Tag work by priority, risk, stream, or product, so you can descope low-value items fast while the shape of the work stays intact.
Descoping low-priority items in Estii
Docs: Scope.
Keep schedule and milestones honest
Scope and schedule drift together. If you compress the timeline, resourcing and cost move with it. Use milestones to tie payment to delivery risk: deliverables and acceptance for fixed price, cadence and governance for T&M, periodic terms for retainers.
Schedule and milestones view in Estii
Docs: Schedule, Payment milestones.
Model recurring and usage pricing explicitly
When pricing depends on usage (retainers, run costs, consumption), represent it with unit-based products and pricing periods, so the numbers stay defensible as usage changes.
Deal overview with recurring and one-off commercials
Docs: Products.
Version before big commercial moves
Snapshot the deal before a discount, scope cut, or timeline shift, so you can compare before and after and the buyer-facing proposal stays coherent.
Docs: Deal versions, Proposals.
Closing thought
The best pricing model is the one where the buyer understands what they're buying, your team can deliver without heroics, and the commercials still make sense when reality moves. Fixed price, T&M, and retainer all work. The trick is matching them to uncertainty, and writing the guardrails down.
If discounting is already on the table, read how to discount without losing margin before you pick the model.
