Pricing Memory at Scale: How to Stop Forgetting What You Charged Last Time
There's a cost in every service business that never shows up on a P&L, never gets discussed at tax time, and quietly walks out the door every single month. It's not theft, waste, or bad pricing. It's forgetting.
You quote a customer a job. They sign. Six months later they call back for something similar. You sit down to price it — and you don't remember what you charged last time. So you re-derive it from scratch, from current gut feel, and you land 12% lower than before. Not because anything changed. Because you forgot, and your memory rounded down.
Multiply that across a customer base of fifty and a few hundred quotes a year, and the recovered margin sits somewhere between 8% and 15% of annual top line for a typical shop. That's the most expensive thing in the building, and it's invisible because there's no line item called "forgot what we charged."
This post is about how pricing memory actually works, why it breaks at scale, and how to build it so the next quote always knows what the last one cost.
Why forgetting always rounds down
The margin walk only goes one direction, and it's worth understanding why.
When you re-derive a price from scratch, you're pricing under uncertainty. You don't want to lose the job. The customer doesn't push back on a number that feels fair. So the gut-feel number tends to be the safe number — a little lower, a little rounder, a little more eager to win. Nobody ever forgets a price and accidentally quotes 12% higher. Forgetting is a one-way ratchet, and it ratchets against you.
Now add the customer's memory, which is better than yours about exactly one thing: what they paid last time. A repeat customer who got $4,200 last year and gets quoted $4,600 this year will mention it. A repeat customer who got $4,200 and gets quoted $3,900 will say nothing and smile. Your forgetting becomes their discount, and they have every incentive not to correct you.
So the asymmetry compounds: you forget downward, they remember the low number, and the price floor on every repeat job slowly sinks.
What "pricing memory" actually means
Pricing memory is the discipline of making sure every new quote knows what the relevant old quotes cost. That's it. Three pieces:
- What you charged. The actual line items and totals on past quotes for this customer and this kind of job.
- What they signed. Not what you quoted — what they accepted. The gap between the two is your real negotiating history with that customer.
- What's changed since. Material costs move. A price that was right eight months ago is wrong today if steel is up 7%. Memory without adjustment is just a stale number.
Why it breaks at scale — and where owners try to patch it
Every owner starts with pricing memory in their head, and for the first dozen customers it works fine. You remember the Henderson job because there were only a handful of jobs.
It breaks somewhere around customer twenty or job one hundred. The volume exceeds what one person can hold, and the patches start:
- The spreadsheet. Better than memory, but only updated when someone remembers to update it, and never consulted at the moment of quoting because pulling it up breaks the flow.
- The "search my sent email" method. You go digging through old quotes in Gmail when something feels familiar. Works occasionally. Mostly you don't bother, because it's slow and you're quoting at 8 p.m.
- The CRM with a notes field. Now the history exists, technically, in a place nobody looks while building the actual quote.
The worked example: a $500K shop walking 11% off the table
Take a shop doing $500,000 a year, fifty active customers, maybe thirty quotes a month. Say a third of those are repeat work — ten repeat quotes a month, 120 a year.
If forgetting costs an average of 11% on each repeat quote (a conservative midpoint of the 8-15% range), and the average repeat quote is $3,500, the math is brutal:
- 120 repeat quotes/year × $3,500 = $420,000 in repeat-work quoting
- 11% margin walked off through forgetting = roughly $46,000 a year
The shop didn't lose those dollars to a competitor or a downturn. It gave them away, one rounded-down repeat quote at a time, and never saw the line item.
How to build pricing memory that actually gets used
The rule that makes pricing memory work is the one every patch above violates: the memory has to be in front of you at the moment you quote, not one lookup away.
Concretely:
- Record every quote against the customer automatically. Not in a notes field you have to fill in — as a byproduct of sending the quote. If remembering to log it is a separate step, it won't happen.
- Record what they signed, not just what you sent. The accepted number is the one that matters for the next negotiation.
- Surface the history when you start the next quote for that customer. "Last three jobs for this customer: $4,200, $3,800, $5,100, all signed within 5% of quote." That line, automatic, at the top of the new draft, is the entire game.
- Adjust for what's changed. Flag when a comparable job is old enough that material costs have likely moved, so the number you anchor on is a live number, not a fossil.
- Make it per-relationship, not just per-customer. The same customer prices differently for a rush job versus a standard one, for a small order versus a big one. Memory that collapses all of a customer's history into one average loses the texture that protects margin on the edge cases.
Ready to quote faster?
Start free — no credit card. See your first AI-drafted quote in minutes.