The Vendor Quote Gap: Why Two Website Proposals for the Same Business Differ by 4x
By Mike Evan — Founder, Social Media Strategy HQ•Updated September 2026
Two proposals for the same website routinely differ fourfold with nobody acting in bad faith. The spread is not a price difference — it is the distance between two vendors’ guesses at the parts of the job you never specified. Which means the size of the gap is a measurement of your own brief, and it is the most useful thing the quotes will tell you.
The Spread Is Real, and Almost Nobody Explains It Honestly
A business owner asks three companies to price a new website. The proposals come back and the highest is four times the lowest. This is such a common experience that most owners have stopped finding it surprising, and the two explanations available to them are both bad. The first is that the expensive vendor is overcharging. The second is that the cheap vendor is cutting corners. Each is occasionally true, neither is usually the main effect, and both leave the buyer choosing on instinct.
We have now published cost guides for nineteen different categories of small business — among them restaurants, contractors, med spas, insurance agencies and veterinary practices. Writing them forced us to work out, industry by industry, what actually separates a build at the bottom of a range from one at the top. This piece is the cross-industry finding that fell out of that work, and it is about something different from cost. It is about why two honest numbers for one job refuse to line up, and what to do about it.
One thing this article deliberately does not do is re-run the list of cost drivers. What moves a number up or down — template against bespoke structure, page count, integration depth, who is doing the building — is set out at length in our guide to what a small business website costs, and repeating it here would waste the more interesting question. Assume you already know the levers. The puzzle is why two professionals pulling the same levers arrive somewhere four times apart.
The Unwritten Brief: You Are Not Getting Two Prices for One Project
Here is the mechanism, and once it is visible the whole thing stops being mysterious.
When a business asks for a website, the request that reaches a vendor is typically some version of: we are a six-person firm, our current site is old, we need something modern that brings in more enquiries. That is a perfectly reasonable thing to say and it specifies almost nothing. It does not say how many pages have to be genuinely different from each other. It does not say who writes them. It does not say whether an enquiry has to arrive inside the software the business already runs on, or merely arrive in an inbox. It does not say who will be responsible when something breaks in fourteen months.
A vendor cannot price a blank. So every vendor, before they price anything, silently completes the missing parts — and they complete them from the work they normally do. A shop whose last twenty jobs were structured template builds with client-supplied text completes your brief as a structured template build with client-supplied text, and prices that accurately. A shop whose last twenty jobs involved authored content and a connection into an operational system completes it that way, and prices that accurately too.
What you are holding, then, is not two prices for one project. It is two different projects, each priced correctly. The spread between them is not a measure of greed or generosity. It is a measure of how far apart the two vendors’ default assumptions are — roughly, the distance between their portfolios. That is why negotiating on price with either of them tends to go nowhere useful: you are asking someone to discount a job, when the actual disagreement is about which job it is.
Want it done for you?
Websites, SEO, and AEO — built with Claude Code in days, not months.
Get a Custom QuoteThe Inversion: The Size of the Gap Is Telling You About Your Brief
This is the part worth taking away even if you read nothing else.
If scope inference is what produces the spread, then the spread is a readout of how much inference was required — which is to say, a readout of how underspecified your request was. A wide gap is not primarily information about the vendors. It is information about the brief. Three proposals landing within thirty per cent of each other mean the vendors all understood the job the same way, whether or not that understanding is correct. Three proposals four times apart mean the job was open enough to be read three different ways, and the first thing to fix is not the shortlist.
That reframing changes what you do next. The instinct on receiving a 4x spread is to interrogate the outliers: why is that one so high, why is that one so low. The more productive move is to accept that you sent an ambiguous request to three competent people and got three reasonable completions of it back, then use those completions as the raw material for the specification you should have sent. The proposals are, in effect, three vendors doing your requirements-gathering for you and showing their working. Read in that light, the expensive one is not an insult and the cheap one is not a trap. They are two ends of a range of defensible answers, and the useful question is which end you actually want.
The Proposal Is the First Deliverable
Every vendor asks to be judged on their past work. Past work is worth looking at and it has a well-known problem: you are seeing a curated set of projects, selected by the vendor, usually built for businesses unlike yours, with no visibility into what was promised, what was delivered late, or what the client had to chase.
The proposal does not have that problem. It is the only piece of work the vendor produces about your specific situation that you get to inspect before any money changes hands. It shows what they noticed, what they thought to ask, how carefully they think, and how they behave when a fact is missing — do they ask, do they assume silently, or do they write something vague enough to cover either outcome. A vendor who priced your project without establishing where your bookings currently live is a vendor who will also build without establishing it. That is not a prediction, it is the same behaviour observed once already.
Three specific things are worth reading for, and none of them involve the number.
What they asked before quoting
A quote that arrived after a fifteen-minute conversation and no follow-up questions was produced by applying a default, which is fine if the default happens to fit and expensive if it does not. The questions that indicate a vendor is actually pricing your job rather than their standard one are dull and specific: what software do you run the business on, who currently writes anything that gets published, how many of your services need a page of their own, what happens now when someone submits your contact form, is there a date this has to be live by and what is driving it.
Whether the number is decomposed
A single figure at the bottom of a page is not a proposal, it is a quotation, and the difference matters when scope changes — which it always does. A decomposed number tells you which part of the work you are reducing when you ask to reduce the price, and it makes a mid-project addition a calculable change rather than a negotiation from zero. It is also the prerequisite for the comparison sheet later in this article, since you cannot normalize numbers that were never broken apart.
Whether anything is explicitly excluded
This is the most reliable single tell in the entire document, and the rarest. A proposal with no exclusions has usually not been thought about, because every real project has edges. A vendor willing to write down that copywriting for two pages is not included, that connecting to a particular platform is out of scope until its capabilities are confirmed, or that migrating a decade of old posts would be quoted separately, is a vendor who has read the situation closely enough to see where it ends. Exclusions feel like bad salesmanship and are the strongest available evidence of competence.
Six Shapes of a Low Quote — Three Healthy, Three Not
The reflex that a low number must be a warning sign causes people to overpay for reassurance, so it is worth separating the cases. Note that the most commonly cited version — the quote that is low because it quietly omits the words and the technical groundwork — is covered in the cost guide linked above and is deliberately not repeated here. These are the other six.
Healthy: the vendor read a genuinely small job correctly
Some businesses need considerably less than they have been told. A single-location operation whose customers arrive through one channel, whose service list fits on one hand, and whose enquiries can be handled by one person reading an inbox, does not need an extensive build, and a vendor who says so is being accurate rather than cheap. This case is identifiable because the low proposal will describe a smaller project confidently and completely, rather than describing the same project for less.
Healthy: real production leverage
Two shops with comparable output can have genuinely different costs to produce it, because tooling and method differ. This is the case we are in ourselves and we will state the bias plainly: we build with Claude Code, which compresses production time substantially, and that is a fact about how the work gets made rather than a claim that the work is thinner. The way to test any such claim is to ignore the explanation and inspect the output — ask to see something recent, complete, and comparable in kind to what you need.
Healthy: the build is priced thin because the relationship is the business
Where a vendor expects an ongoing engagement, the initial build is sometimes deliberately priced close to cost. This is a legitimate structure and it becomes a problem only when it is undisclosed, because it changes what leaving costs you later. The question that settles it is not about the build at all: ask what the ongoing arrangement is, what its minimum term is, and what happens to the site if you stop.
Unhealthy: the number is an entry price, not a project price
The scope is written loosely enough that a material part of the work will arrive later as a change order, at a rate nobody discussed while the comparison was happening. This is the single most common way a low quote becomes the most expensive option, and it is detectable in advance: vague scope language plus an absence of exclusions plus no stated hourly or change rate. Ask for the change rate before signing, and watch what happens to the room.
Unhealthy: the labour moved to you
A proposal that assumes you will supply all text, all images, all service descriptions and all technical details has not removed that work from the project. It has moved it onto the person with the least time and no deadline. The cost reappears as months of delay, and the failure mode is specific and extremely common: the build sits at ninety per cent complete for a quarter because nobody has written the About page. If a proposal is silent on authorship, it is not silent about the answer.
Unhealthy: it is rent, and you will own nothing
A monthly figure with a small starting payment is an appealing shape, and in some arrangements the site, the domain, the content and the phone number are not yours in any sense that survives ending the relationship. That is not automatically disqualifying — renting is a legitimate choice when made deliberately — but it is a different transaction from the one the other two vendors quoted, and comparing the numbers directly is meaningless. The five things to check are set out in do I own my website.
The Normalization Sheet: Eight Lines That Make Three Proposals Comparable
This is the practical instrument, it takes about half an hour, and it is the part we would most like business owners to steal and use on us as well as on everyone else.
Take your proposals and cover the prices. Then force each one onto the same eight lines, in the same order, in your own words rather than the vendor’s. The discipline that makes it work is this: where a proposal does not answer a line, do not estimate it — write UNKNOWN and go and ask. An estimate you make on a vendor’s behalf quietly becomes an assumption you have paid for.
Lines one and two: pages authored, pages templated
Count the pages that have to be genuinely different from each other, then separately count the pages that are one layout repeated with different content. Both are legitimate and they cost very different amounts, and a proposal quoting “up to 20 pages” without that split is not comparable to anything. This line alone resolves a surprising share of spreads.
Line three: who writes the words
Per page, one of three answers: the vendor writes it, you write it, or the vendor edits what you supply. Mixed answers are fine and need to be written down page by page rather than as a general intention.
Line four: systems connected, and the direction of travel
Name every system and state the direction. Displaying information from another platform on a page is one job. Writing a booking, a record or a customer into that platform from your site is a substantially larger one, and whether it is possible at all depends on what your platform permits rather than on what a vendor is willing to promise. This is the line where the largest honest gaps live.
Line five: where a submitted form actually ends up
An inbox, a shared inbox, a spreadsheet, your customer system, a routed queue with a response rule, or an intake layer that replies immediately. Six different destinations, six different amounts of work, and the one most often left unstated in a proposal despite being the thing the owner most wanted from the project.
Line six: who hosts it, and who owns it
Two separate questions on one line. Hosting is an operational arrangement with a monthly consequence. Ownership is about what you can take with you — the domain, the code, the content, the accounts. A vendor who cannot answer the second one crisply has answered it.
Line seven: support hours and response time
Not whether support exists — everyone says it does. How many hours are reserved, what counts as a fault against a change, and how quickly someone responds when a form stops working on a Friday. Where nothing is reserved, that is a legitimate answer and you should be reading it, not inferring it. The ongoing side of this is covered in our website maintenance guide.
Line eight: what is explicitly excluded
Copy it verbatim from each proposal. Where a proposal excludes nothing, write NOTHING STATED, which is the finding rather than a blank. Then compare the three exclusion lists against each other: an item excluded by two vendors and unmentioned by the third is very often the item the third has not noticed yet.
Reading What Is Left After You Uncover the Prices
Three patterns come out of this exercise, and each points somewhere different.
The gap mostly collapses. Once the sheets are filled, the proposals describe recognisably the same project and the remaining spread is modest. This is the good outcome, and it means you now have a genuine price comparison for the first time — and can reasonably decide on responsiveness, references and whether you want to spend six weeks with these people.
The gap survives. The sheets show three materially different projects, which means the vendors are not really competing with each other. The decision in front of you is not which company to hire, it is which project you want to buy, and that one is yours to make before any vendor can help. Deciding it usually means answering the enquiry-volume and integration questions honestly rather than optimistically.
One outlier sits far below two that cluster. The two clustered proposals are evidence of what the market reads your job as. The outlier is usually pricing a different project rather than offering a bargain on the same one, and the normalization sheet will show you which lines it dropped. Occasionally it is the one vendor who read a genuinely smaller job correctly — in which case its sheet will be coherent and complete, just smaller, which looks very different from a sheet full of UNKNOWN.
Three Sentences That Close Most of the Gap Before It Opens
All of the above is remedial. The cheaper move is to remove the ambiguity before you request anything, and it takes three sentences written down and sent to every vendor identically.
One: name every system the site has to speak to and say which direction data has to travel. Two: state who is writing the words, honestly, including the case where the answer is that nobody in the business has time. Three: say how many pages need to be genuinely different from one another. Those three facts eliminate the majority of scope inference, and vendors receiving them return proposals that cluster rather than scatter. If you want the fourth and fifth, add what date this has to be live by and what is driving that date, and what currently happens to an enquiry that arrives at nine in the evening — a question whose answer reshapes more builds than any design preference, and the one behind most of our lead capture work.
What This Method Cannot Do, and Our Conflict in Writing It
Two honest limits, and they matter more than the framework.
The first is that normalization compares scope and tells you nothing about execution. Two vendors can describe identical projects on identical sheets and deliver results that are not comparable at all. Nothing in a document predicts whether a team finishes, communicates, or is still answering the phone in eighteen months. That question is answered by references you actually call, by work shipped for a business shaped like yours, and by how they behaved during the quoting process — which is why the proposal-as-first-deliverable section is the part of this article that does the most work.
The second is that we are a vendor. We write proposals, we compete on exactly the axis this article makes legible, and publishing a sheet designed to make agencies comparable is not a neutral act. We are doing it because the alternative is worse for us: most of the genuinely difficult conversations we have start with a buyer holding our proposal next to a number quoted for a smaller job, with no shared vocabulary for showing the difference. Our own framing of scope sits on the website build and custom quote pages, and the sheet above should be used on us the same way it is used on anybody else. If it makes a competitor look better on a line, that is the sheet working.
One last point that sits underneath all of this. The reason the gap is worth the half hour is not that you might overpay. It is that the wrong project delivered competently at a fair price is a worse outcome than either overpaying or underpaying for the right one, and it is the outcome a 4x spread is most likely to produce — because when three numbers are that far apart, most people stop comparing projects and start comparing prices. That is the moment the decision goes wrong, and it happens before anyone has done anything dishonest.