Old is relative to what the thing is
Most “ageing equipment” reports flag everything at one number — usually twelve years — which is why nobody trusts them. Here is the same install date, two pieces of equipment, run through the real scorer in early November.
Water heater — $2,200 job
Replacement age is 12. At 13 years it is 108% of the way through, so timing scores ×1.00, equipment age adds ×1.15, and November adds ×1.15 for water work.
10.9% × $2,200 = $240 expected
on the board: 10%
Boiler — $9,500 job
Replacement age is 27. At 13 years it is 48% of the way through, so timing scores ×0.15, equipment age adds nothing, and November adds ×1.20 for heating work.
2.0% × $9,500 = $190 expected
on the board: 5%
The boiler is the bigger ticket by 4.3 times, and it gets the larger seasonal lift of the two, and it still ranks below the heater — because calling a homeowner about a boiler with 14 years left in it is a conversation that goes nowhere. That is the whole argument for this page: a list sorted by dollar value sends your best hour at the wrong customer, confidently.
The percentages in those cards are the underlying figures. On the board they are rounded to the nearest 5%, which is why the heater shows 10% and the boiler shows 5% — the floor. Nothing is ever printed below it, because once a record is down there the difference between 2.0% and 5% has stopped being information and the honest answer is “not this week”.
The ages above are ordinary trade service-life ranges, not manufacturer figures and not a prediction about any individual unit. They are printed here so you can disagree with them — and if your market runs harder or softer than the table, that is a fair reason to read the ranking with your own correction applied.
One record, every multiplier
An unsold $8,400 changeout. Quoted 38 days ago, chased 2 times, last spoken to 12 days ago, on a 16-year-old condenser, customer on an active maintenance plan, came in as a referral. This is the panel Backlog shows when you ask why it is ranked where it is.
$8,400 × 30.4% = $2,554, which the board shows as $2,600 at 30% — money rounded to the nearest hundred, odds to the nearest 5%. That is what it is ranked on. Read the rows and you can argue with any one of them, which is the point: a score you cannot argue with is a score you cannot use.
Notice the second-to-last row. Five things about the customer are allowed to move the odds — how far through its life the equipment is, whether they are on a plan and how often you have worked for them, the time of year for that kind of job, whether they have ever replied, and where the lead came from. Here three of them moved and they already multiply out to ×1.66. Each one is defensible on its own; their product is not, so the combined move is capped at ×1.60 and the panel says so out loud rather than quietly pocketing the difference. The same cap works downward at ×0.40.
The last row is the only assumption in the model that is about the world rather than about your file: a list somebody actually works closes better than a list nobody touches, and that is set at ×1.28. It is the number we would most like to be told we have wrong.
The odds start with your close rate, not ours
Every category begins at the close rate you tell it in Setup — 34% until you change it — multiplied by one figure for that kind of record. A missed call from this morning is a different animal from a customer who went quiet two years ago, and the table below is the only place that difference is set.
Those are starting points, and they are deliberately conservative where the record is cold. They also stop mattering: once you have logged 8 real outcomes in a category, Backlog drops the assumption and uses your own won-versus-lost rate for that category instead. The panel changes from “assumed close rate” to your rate and tells you how many outcomes it is standing on.
That is the only learning in the product. It does not learn from other contractors, it does not learn from anything outside your own logged results, and there is no shared model your numbers feed into. What you export decides how much of this it can use.
What the model refuses to claim
A scoring tool earns trust by what it declines to say. These are the limits, and they are enforced in the code rather than promised in the copy.
Odds are banded, never precise
The underlying probability is held between 2% and 88%, and what you see is that figure rounded to the nearest 5%. A model like this cannot tell the difference between 31% and 33%, so it does not pretend to.
Money is rounded
Expected values round to the nearest hundred dollars above a thousand and the nearest ten below it. A figure quoted to the dollar would be false precision on a number that is a guess by construction.
Found is not recovered
Everything here produces what is worth calling. That is never counted as revenue, never added to a recovered total and never shown as one. Money moves into recovered when you mark a job won.
Nothing is invented
No discount, deadline, appointment, prior conversation or piece of service history appears in a draft unless it came out of your own file. A record with no install date is never called old; a record with no price uses a typical ticket for that equipment and says on screen that it did.
Some records are held back
Do-not-contact and opt-out are absolute. Anyone contacted in the last three days is held; six attempts with no reply stops the record entirely. Between 9pm and 8am nothing is presented as callable.
You press send
Backlog drafts the call notes, the text and the email, and sends none of them. There is no autodialer, no automated campaign and no scheduled blast hiding behind the ranking.
Questions this raises
How does Backlog decide what to call first?
Every record gets an expected value: what the job is worth multiplied by the odds of closing it. The odds start at your own close rate, adjusted for what kind of record it is, then move with how old the quote is, how many times it has already been chased, how long since anyone spoke to the customer, how far through its service life the equipment is, whether they are on a maintenance plan, where the lead came from and the time of year. Every one of those multipliers is shown on the record.
Why does a smaller job sometimes rank above a bigger one?
Because expected value is not ticket size. In the worked example on this page a $2,200 water heater at 13 years outranks a $9,500 boiler at the same 13 years, because 13 years is past a water heater's 12-year replacement age and barely halfway through a boiler's 27-year one. The bigger ticket is the worse call today.
Is this AI guessing?
No. It is arithmetic, and the whole of it is on this page. Nothing is sent to a model to decide a ranking, no number is invented, and the scorer runs inside your own browser without uploading your file. The follow-up messages are drafted from templates you can edit, and nothing is sent without you pressing send.
What are the odds actually based on?
Your own close rate to begin with — 34% if you have not told it otherwise — multiplied by a starting figure for that kind of record. Once you have logged 8 real outcomes in a category it stops assuming and uses what actually happened to you. The underlying probability is never allowed above 88% or below 2%, and what you see on screen is that figure rounded to the nearest 5%.
Does it count this as money I have made?
Never. Everything on this page produces a figure for what is worth calling, which is not revenue and is never presented as revenue. Money only counts as recovered when you mark a job won, and the two numbers are kept apart on every screen.
Model last changed 2026-09-24. Every figure on this page is generated from the scoring code at build time, so it cannot describe a version of Backlog that is no longer running.