Your Dispatch Order Is a Revenue Decision — Not a Logistics One
Your Dispatch Order Is a Revenue Decision — Not a Logistics One
Three months into running Reeves Electric, I had two trucks, two techs, and a dispatch method that was basically: whoever's closest, send them. I thought I was being efficient. I was flipping a coin on revenue every morning and calling it a schedule.
Six weeks of tagging job outcomes by tech changed that.
The Dispatch-by-Geography Trap (And Why It Feels Smarter Than It Is)
Geography-first dispatch has an obvious logic. Less windshield time means more jobs per day. The math feels clean.
It's only half the equation.
At Lonestar Electrical Services — the 40-truck commercial outfit where I spent seven years — they ran real dispatch infrastructure. Dedicated coordinators, dispatch software, the works. On commercial work, geography-first mostly held up because the jobs were similar enough in scope that tech matching mattered less. On the residential tails — service calls they ran to keep crews busy — the coordinator dispatched by drive time because drive time was what she could see. Revenue per tech per job type wasn't a number anyone pulled. I watched a shop with real dispatch resources leave real money on the table because the metric driving the decisions was the wrong metric.
Then I went and ran the same play with two trucks.
I was dispatching myself in 2022 and assumed geography was the only variable that mattered. What I didn't see — because I wasn't tracking it — was that my higher-conversion tech was routinely landing jobs with zero upsell ceiling. Small fixes in condos. Warranty callbacks. Rental work where the landlord had already told the tenant "just fix the breaker and go." Meanwhile my other tech, who needed more coaching on panel conversations, was sitting across from homeowners with 1970s Federal Pacific panels and money to spend. Mismatched. I didn't know because I wasn't measuring the outcome by tech.
Optimizing for windshield time when you haven't measured conversion by tech is optimizing for the wrong thing.
Your Techs Are Not Interchangeable — And Your Dispatch Is Pretending They Are
Pull every job from the last 90 days. Sort by tech. Look at average ticket, add-on approval rate, and callback rate — not shop total, by tech.
In my shop, when I first ran that cut, the spread on add-on conversion between my highest and lowest performer was real and wide. I'm not going to invent a percentage here — I don't have the 2022 numbers in front of me, and the specific figure matters less than the fact that the spread existed at all and I had never looked for it. The point is it was there, it was consistent, and I had been dispatching as if it wasn't.
That's not a character judgment on the lower-converting tech. It's a skill and context problem — and those are different things with different fixes. Some techs are better at the homeowner education piece on complex scope. Others are faster and quieter, better suited to single-issue calls where speed matters more than conversion. You can't know which is which until you've tracked it job by job, tech by tech.
I'm close to obsessive about attribution on the marketing side. Tracking numbers on every channel, UTM tags, a custom Airtable that ties each booked job back to its source so I know exactly which channel drove which revenue last quarter. I run that discipline because I've seen what flying blind on attribution costs — you keep feeding the channel that feels productive while the one actually driving revenue gets starved.
Dispatch has the same problem. You know the job came in. You know which truck ran it. You probably don't know whether the match between that tech and that job type was intentional or accidental. That's a measurement gap, not a fairness policy. Treating techs as interchangeable units isn't neutral — it's just unmeasured.
Most shops will tell you dispatch is about efficiency. What they mean is drive time. Drive time is easy to see. Revenue per tech per job type is harder to see. That's the only reason it isn't the primary dispatch metric.
What You Should Actually Be Matching: Job Type to Tech Profile
You need two things: a job type list and four to six weeks of outcome data sorted by tech.
Start with job types. In a residential electrical shop, four buckets are enough: simple service calls (single-issue, no real upsell path), complex service calls (multi-issue, older home, visible upgrade opportunity), EV charger assessments and panel upgrades, and callbacks or warranty work. Four categories. Don't overthink it.
Then build tech profiles from actual outcome data — not seniority, not tenure, not who you like. Which tech converts on complex service calls? Which one has the lowest callback rate on panel work? Which one turns a "just replace the outlet" call into a GFCI upgrade the homeowner actually wanted?
EV charger installs are the clearest example I can give you. On paper it looks like a simple hang. Customer wants a Level 2 charger, new EV on the way, 20-amp circuit nearby. But a lot of the calls I take on charger installs walk into a 1972 ranch with a 100-amp service, an original panel, and a meter base on the wrong side of the house. The actual scope becomes a panel upgrade, possibly a service upgrade, possibly a new mast and meter base. The price conversation goes from straightforward to a full load calc explanation, utility coordination timeline, and why the panel has to come first. I've had those jobs land anywhere from $4,800 to over $9,000 depending on what the load calc showed and how cooperative the utility was.
That homeowner conversation requires a tech who can hold the room. Sending a tech who hasn't done that education piece to that job doesn't just lose the upsell — it loses the whole project before the truck ever leaves the yard.
Here's an honest check on whether your dispatch is data or instinct: how many job outcomes has your dispatcher personally reviewed — meaning looked at what was quoted, what was approved, what the final ticket was? If it's a relatively small number, the dispatch decisions are running on pattern recognition built from incomplete information. My position, and I've written about this before, is that gut after thousands of service calls is real data compressed. Gut after a few dozen is just familiarity with your own assumptions.
The Morale Variable Nobody Is Measuring
Dispatch order is also a compensation decision, and most shops don't frame it that way.
On flat-rate pricing, the jobs a tech runs determine what they take home. Stack a tech with short-ticket calls all day and they earn less than the tech who ran two panel upgrades and an EV charger assessment — not because of skill, but because of scheduling. Do that consistently, even by accident, and you've created an earnings gap inside your crew that has nothing to do with performance.
I pay journeymen above market on purpose. In Austin right now that means $85K plus full benefits — medical, dental, PTO that actually accrues. That number is on the careers page because I think keeping comp secret is a tax on hiring quality. It signals that the number can't survive scrutiny. Same logic applies to how dispatch distributes earning opportunity across the crew.
If your highest-conversion tech runs high-ceiling jobs every week and your newer tech runs callbacks, the pay gap widens — not because of what they can do, but because of what they got scheduled for. That's fine if it's intentional and your newer tech is building toward those call types. It's a problem if it's just geographic accident.
I'm not asking techs to push through a bad dispatch stack for the good of the shop. That framing is how you confuse a dispatch problem with a morale problem, and then confuse the morale problem with a hiring problem. The dispatch stack is the thing to fix.
The Month-Two Wake-Up Call
Month two of Reeves Electric, my NPS was a 4. Not a typo.
Reactive dispatch. Taking calls between jobs. Scheduling based on who was closer. Revenue per truck flatlined and I didn't know why.
I spent ninety days answering every call myself. The goal was to fix intake — I'd gotten enough bad reviews about the first phone experience that something was clearly broken at the top of the funnel. Recorded every call, pulled four a week with my dispatcher, tagged what went right and wrong. NPS hit 81 by month nine.
What I didn't see coming was that the dispatch problem and the intake problem were variations of the same problem. Intake: was the CSR matching the call to the right booking slot and job type? Dispatch: was the scheduler matching that job type to the right tech? Neither was running on actual data. Both were running on instinct and availability.
When I started tagging job outcomes by tech and time of day, the pattern appeared inside six weeks. My highest-conversion tech was consistently hitting the last two slots of the day — 3pm and 4:30pm bookings. Those homeowners have been waiting all day. They're tired. They want the thing fixed and they want you out before dinner. Add-on approval on those slots was measurably lower, and I was parking my best conversion tech in them.
I moved him to the 10am–1pm block on high-upsell job types — complex service calls, EV charger assessments, anything flagged during intake as a potential panel conversation. The average ticket on those job types climbed the first month. I don't remember the exact number, but it was enough that I never went back to the old sequencing. Same tech, same skills, different scheduling context.
What to Change Before Next Monday Morning
No new software. No outside help. Five steps.
Step one: add three columns to your existing job report. Tech name, job type (four categories, pick yours and stay consistent), add-ons approved in dollars. You're probably exporting this from Jobber or Service Fusion already — you're just not slicing it this way. Do it for the last 30 days. Make it a standing column in your weekly numbers review going forward.
Step two: four weeks of data is enough to see a pattern. Five trucks running four to six jobs a day is roughly 400 to 600 job records in a month. The spread in conversion by tech will be visible. You don't need a full quarter.
Step three: apply the same weekly review format to dispatch outcomes that you use for call recordings. I pull two calls that booked and two that didn't every week, tag what went right and wrong. Do the same for dispatch: pull two high-ticket jobs and two low-ticket jobs from last week. Who ran them? What time were they scheduled? Was the match intentional or geographic accident?
Step four: build a one-page job type to tech match list. Four job types, two or three preferred techs per type based on the data from steps one and two. Review it quarterly as your techs develop new strengths. Having it written down means dispatch has a reference point beyond proximity.
Step five: tell your techs what you're tracking and why. You're tracking conversion rates by job type to put them in contexts where they earn more and the customer gets a better call. That lands differently than "we're monitoring your numbers." It's also just true.
FAQ
If my techs are at similar skill levels, does dispatch matching actually move the numbers?
In my experience, yes — because skill level and conversion rate aren't the same thing. Two equally capable techs can produce meaningfully different approval rates on the same job type, depending on how comfortable each one is with the homeowner education piece. Run the actual numbers for one month before you decide the spread is too small to matter. I was skeptical too. The spread was real.
How do I track tech-level conversion rates without overhauling my software?
Export your existing job records from Jobber or Service Fusion into a Google Sheet. Add columns for tech name, job type, and total ticket with add-ons broken out. Four weeks of manual tagging is enough to see the pattern. If the habit sticks, a basic Airtable with a form your dispatcher fills after each job close takes about two hours to build. Start with the spreadsheet.
What do I tell a tech who thinks they're getting the bad calls while someone else gets the good ones?
Tell them the truth. Pull the job type breakdown from your dispatch log and show them. If the distribution is genuinely uneven, own it and explain what's changing. If the distribution is roughly even but one tech converts better on the same call types, that's a coaching conversation, not a scheduling fix. The worst answer is to say the rotation is fair when you haven't actually checked whether it is.
Should I tell my techs I'm tracking their upsell conversion rates?
Yes. Hiding it creates worse dynamics — techs will sense they're being measured and not know on what, which breeds suspicion faster than the data itself ever would. Frame it as development and compensation data, because that's what it is. Most techs, once they understand that job type matching connects directly to their own take-home, are in favor of it.
How do I handle dispatch on days when two techs call out and the whole plan falls apart?
Triage by job ceiling, not geography. Figure out which jobs on the board have real upsell potential and which are single-issue calls with low ceiling. On a short-handed day, route your highest-conversion tech to the high-ceiling jobs first, even if they're farther. Cover the single-issue calls with whoever's available. You'll take a drive-time hit. You'll make it back on ticket. If same-day callouts are happening more than once a month, that's a staffing depth problem, not a dispatch problem.
When does intentional dispatch require a dedicated dispatcher rather than the owner running it?
In my experience, somewhere around three to four trucks the cognitive load becomes too high to manage from the cab. At five trucks, you need someone whose actual job includes reviewing the job type to tech match before the day starts — not reacting to it at 8am from a parking lot. At Reeves Electric, that started as a part-time role before it became full-time. The bottleneck isn't headcount. It's having the outcome data available when the schedule is being built the evening before.
Enjoyed this article?
Get articles like this in your inbox every Monday. Free, no spam.
