Load your reports
Step 1Excel or CSV out of any moving CRM. Drop both files into the one box below — the page sorts out which is which. Column names differ everywhere, so it guesses the mapping and you correct it. The more optional columns you map, the more of this page fills in.
Drop both reports here
Excel or CSV, straight out of your CRM — .xlsx, .xls, .csv or .tsv. Drag them in together or pick them one at a time; the page reads the column names and works out which file is which.
A quote / lead report — one row per quote, with an amount and a status. A jobs report — one row per job, with estimated and actual labor. An all‑jobs or opportunities export often does both jobs at once.
Click a status to cycle it between won, lost and ignored. Ignore duplicates, test leads and anything still open — an open quote is neither won nor lost yet and will drag every rate down.
Lost opportunities by price range
—Every quote you gave, bucketed by size. The bar is the total revenue that passed through that band; the split is what you kept versus what walked.
Lost opportunities by service
—The same quotes, grouped by what you were selling. Watch for a service with a close rate well under your blend and a big lost-revenue bar — that is a rate problem, not a sales problem.
A long-distance move is rarely one row in a CRM — it is a load day, a travel day, a delivery day and sometimes a storage leg, each filed under its own job type and each carrying only part of the mileage. These three rules pull those legs back together. The mileage rule reads whichever column you mapped as Distance in miles — door-to-door or round trip — so set the number to match the one you picked. Storage is checked first, because a storage leg is usually the only place storage revenue shows up at all.
Closing ratio by distance
—The same quotes, bucketed by how far the move goes. Close rate almost always falls with distance, and the point at which it falls off a cliff is the point at which your rate stops being competitive. Edit the mile bands in the bar above to find yours.
Manhours & crew sizes
—By crew size
Lost estimates by crew size
The same crew sizes, but on the sales side: of every quote you priced at that crew size, how many did you win, and what did the ones you lost add up to? A crew size that closes well under your blend is a size you are priced wrong at.
By what is on the quote
No jobs export? Type the hours in by hand instead
If your CRM will not give you a jobs report, you can still run this section. Open twenty recent job tickets, and for each one type the hours you estimated, the hours the crew actually worked, and how many movers were on it. Twenty is enough to see whether you are consistently over or under. This replaces the jobs file — it feeds the three blocks above and nothing else.
| Est. labor (h) | Actual labor (h) | Crew | Service |
|---|
Closing ratio by month
—The bar is how many quotes you gave that month. The number on the right is what share of them you won. Most movers find the bars get longer through the season while the number on the right gets smaller — the leak is worst exactly when leads cost the most.
Closing ratio by time of month
—Beginning, middle and end of the month, by the date the lead came in. This one is usually flat — and that is worth knowing, because it stops you building a process around a pattern that is not there.
Closing ratio by day of week
—Lead flow and capacity by day of week
—Three cuts of the same week. When the leads arrive, when the customer wants the truck, and which days you turned work away. If the second chart peaks where the third one peaks, you are out of capacity on the days that matter most.
Leads arriving
By day receivedFront-loaded for nearly everyone. This is the shape your phone coverage should match.
Move dates requested
By requested move dateUsually close to the mirror image of the chart above — the work is wanted at the end of the week.
Turned away for no capacity
By requested move dateLost quotes whose reason says you had nothing available. The number on the right is what share of that day's requests you could not serve.
Generate your report
Read lastEverything above is a scoreboard. This turns it into a short list of changes, ranked by what they are costing you, written so you could read it out at a Monday meeting. It is generated from the numbers on this page, in this browser.