Lost quotes: know the reason, not just the number

You know how many quotes you lose. Do you know why? A grid to tag every lost quote with one reason, and what each reason tells you to change.

Jérôme Knops

By Jérôme Knops

Published October 5, 2026 · 5 min read

Ask an AI

The question comes pre-written, with this article's address.

One in three of your quotes doesn't get signed. Ask why, and the answer is almost always the same: "the price, probably." Nobody checked.

The short answer: a loss reason gets recorded the moment you learn it, not guessed at the end of the month. The useful answer needs a simple grid, and what it changes once filled in.

Why the reason almost always goes missing

A signed quote is visible: it becomes a job, an order, a line of revenue. A lost quote becomes nothing. It disappears from the radar without a trace, and price stays the default reason, because it's the only one you imagine without having checked.

Yet price only explains part of the losses. A quote sent three weeks after the request loses clients who already signed elsewhere, for reasons that have nothing to do with the rate. A quote left unanswered after two follow-ups may never have reached the right person. As long as all these cases get filed under "price," nothing tells you where to act first.

The grid: five reasons

No need for a long form. Five boxes are enough, chosen so you can always decide between them:

ReasonWhat it meansWhat it tells you to change
PriceThe client compared and chose cheaperRevisit the pricing grid, or better explain what justifies it
Response timeThe quote arrived too late, the client had already decidedCut the time between the request and sending the quote
Competitor chosenThe client preferred another company, comparable priceUnderstand what made the difference: references, availability, trust
ScopeThe quote didn't match what the client wantedFrame the request better before pricing it
No real projectThe client never really had a project, or no longer had the budgetNothing to change: this was never a lost job

You pick one main reason per quote, not a list. A quote always has a dominant cause, and that's the one that matters for deciding what to change.

Filling in the grid without adding work

The reason gets recorded the moment you learn it, never reconstructed from thirty files at month end:

  1. The client answers with an explicit no. They often state the reason themselves, in the same sentence as the refusal. Just note it on the spot.
  2. The client doesn't answer. After the usual response time plus one follow-up, the quote moves to "no answer." That's not a final reason yet, just a holding box.
  3. For quotes above a certain amount, a two-minute call settles it: "to help us improve, what made the difference?" Most clients answer honestly, once the quote is already decided.

That last step is the first one to get dropped on a busy week. It's also the only one that tells a real competitor apart from a price that was simply off.

An example over thirty lost quotes

Take a joinery business that lost thirty quotes over a quarter. The figures are a hypothesis to show the reading, not a measured result:

ReasonCountShare
Price930%
Response time827%
Competitor chosen517%
Scope413%
No real project413%

Price still comes first, but it only carries three quotes in ten. Response time carries almost as much, and it's a reason you fix without touching a single rate. Without the grid, those eight quotes would have stayed filed under "price," and the only lever would have been to cut margin.

What changes with an application built for the company

Quote tracking by status, with conversion rateSALES PIPELINEQUO-2041€18,400ACCEPTEDQUO-2042€7,250SENTQUO-2043€31,900FOLLOWED UPCONVERSION RATE41%over a rolling 12 months

In a spreadsheet, the grid lasts as long as someone keeps a column up to date. When quotes live in the company's own application, the reason becomes data you can read, not data you have to reconstruct:

  • every lost quote gets tagged in one click, the moment the client answers or the follow-up deadline expires;
  • the reason stays attached to the job, along with its amount, trade type and origin;
  • the breakdown reads on a screen, by quarter, by trade type or by salesperson, with nothing retyped;
  • unanswered quotes rise automatically in the follow-up list, before switching to "lost."

This module is detailed on the quotes and follow-ups page. The win rate calculation itself is explained in the article on transformation rate.

What not to do

Tagging as "price" by default every quote that was never followed up. A quote never chased isn't lost to price: it's a quote never really defended, and we've put a figure on what that costs in the article on quotes nobody chases.

Waiting until you've lost a hundred quotes to start the grid. It's useful from the first quarter: even over ten lost quotes, a breakdown by reason beats no data at all.

Lost quotes: the key takeaways

A loss reason gets recorded the moment you learn it, with a five-box grid and one main reason per quote. Over a quarter, the breakdown almost always says something different from what you assumed: price rarely carries the losses alone.

That breakdown tells you where to act first, not the impression you kept. Revisiting a rate without having checked it risks fixing a problem that wasn't the real one.

Frequently asked questions

How do you tag a lost quote?

With a five-reason grid: price, response time, a competitor chosen, scope mismatch, or no real project. You pick one main reason per quote, not a list of possible causes.

Should you call every client who doesn't sign?

Not systematically. A short call makes sense for quotes above a certain amount, or when the reason isn't obvious. For the rest, the reason is often clear from context: response deadline passed, quote left unanswered after several follow-ups.

What if half your lost quotes have no known reason?

That usually means nobody is chasing quotes before marking them lost. A quote you never followed up on isn't lost to price: it's a quote nobody really defended.

Jérôme Knops
About the author

Jérôme Knops

Founder and CTO of Edenio

Jérôme Knops is the founder of Edenio, where he designs and builds custom business applications for construction, supply chain and distribution companies. He runs the scoping meetings, writes the code, and stays the person you talk to once the tool is in production.

See all their articles