Episode 11·

Stop Driving for $89 Jobs: Set a Minimum and Stick to It

Intro

For owner-operators running three trucks or more heading into summer who don't have a minimum job charge in their pricebook. You'll get the math to set your minimum from your revenue-per-truck-day target, the exact CSR script to communicate it, and the CRM setup steps to track the lift in average ticket.

In This Episode

Mike and Chris break down why low-ticket, high-windshield-time jobs are killing crew day productivity during peak season. They show the simple division problem to set your minimum (target revenue per truck day ÷ expected stops = minimum floor), walk through real examples of contractors who publish minimums on their websites, and provide the exact CSR script that credits the minimum toward larger work. You'll get specific pricebook setup steps for ServiceTitan, Jobber, Housecall Pro, and ServiceMinder, plus a 2-week measurement plan to track sub-minimum job reduction, average ticket lift, and revenue per truck day improvement.

Key Takeaways

  • Set your minimum job charge using this formula: target revenue per truck day ÷ expected billable stops per day = minimum ticket floor
  • Configure the minimum as a dedicated line item in your CRM pricebook (not a note) so you can track revenue attribution and measure the policy's impact
  • Train CSRs to say the minimum 'covers the trip and first 45 minutes on site and is credited toward your repair' to frame it as a deposit, not a toll

Timestamps

Companion Resource

Chris: You should be turning away work right now.

Mike: Turning away work. In May.

Chris: In May. When the phone's ringing off the hook and you're scrambling to fill the board — you should be saying no to some of those calls.

Mike: Every owner I know is terrified of saying no to a paying customer.

Chris: And every owner you know is sending a truck and a tech across town for an eighty-nine dollar job that takes forty-five minutes of windshield time and fifteen minutes of labor. That's a crew slot gone. That's a four-hundred-dollar hole in your day you can't get back.

Mike: So what — you just tell Mrs. Johnson you don't want her business?

Chris: No. You tell Mrs. Johnson your minimum job charge is two hundred and forty dollars, it covers the trip and the first forty-five minutes on site, and it's credited toward whatever repair she needs. She says yes or she calls somebody else. Either way, your tech is on a job that pays.

Mike: Two hundred and forty bucks. For a service call.

Chris: For a service call that protects your revenue per truck day. And I can show you exactly where that number comes from.

Mike: If you're running three trucks or more heading into summer and you don't have a minimum job charge — a real number, in your pricebook, that your CSRs say out loud before they dispatch — you are burning crew days on jobs that cost you money to complete. Not break even. Cost you money.

Chris: Today we're setting that number from your own revenue-per-truck-day target, loading it into your CRM, and giving your front desk the exact words to say when the phone rings. I'm Chris. That's Mike.

Mike: So before we get into the number — why does this matter more right now than it did in February?

Chris: Because in February you had open slots. You could afford to send a guy out for a ninety-dollar toilet flapper because the alternative was him sitting in the shop. But May through July? The EverRest Group — they're an HVAC growth consultancy — they've been hammering this point for years. Your benchmark in season is four to five billable homes per tech per day. That's the standard. And every slot you fill with a low-ticket, high-windshield-time job is a slot that could've been a four-hundred-dollar repair or a twelve-hundred-dollar install lead.

Mike: Right, but the owner's brain doesn't work that way in the moment. The phone rings, the customer needs help, you book it. You don't stop and think about what that slot is worth.

Chris: And that's the problem. You're making a capacity decision without doing capacity math. Revenue per truck per day — RPTD — is the number that tells you whether your routes are actually productive. MaidCentral tracks it as a core KPI. MarginPlug calls it the metric that separates two-million-dollar shops from five-million-dollar shops. And when you send a truck out for a sub-hundred-dollar job that eats an hour of drive time, you just dragged that number down for the whole day.

Mike: Give me the math on that. Like, what does one bad slot actually cost?

Chris: Say your target is twelve hundred dollars revenue per truck per day. You're running five stops. That means every slot needs to average two hundred and forty bucks just to hit your floor. You send a tech out for an eighty-nine-dollar job — you're not just short a hundred and fifty on that stop. You burned the windshield time that could've been a real job. So the actual cost is the eighty-nine you collected minus the two-forty you should have collected. That's a hundred-and-fifty-dollar loss on that one slot. Multiply that by even one bad dispatch per truck per day across three trucks — that's four hundred and fifty dollars a day. Over a five-day week, that's twenty-two fifty you left on the table.

Mike: Twenty-two hundred a week. Just from one bad slot per truck.

Chris: One bad slot per truck per day. And most shops I've seen are running two or three of those a day during surge because they're afraid to say no.

Mike: Yeah. Yeah, that's — I've been there. Last June we had a tech drive thirty-five minutes to swap a thermostat battery. Eighty-nine-dollar call. Meanwhile we had a compressor replacement sitting on the board that we had to push to the next day because we didn't have the slot.

Chris: And that compressor job was what — eight hundred? A thousand?

Mike: Eleven hundred. And the customer called someone else because we couldn't get there same day.

Chris: So the eighty-nine-dollar thermostat battery cost you eleven hundred dollars.

Mike: When you put it that way.

Chris: So here's how you set the number. It's one division problem. Take your target revenue per crew day — or per truck day, depending on how you run — and divide it by the number of billable stops you expect per truck per day.

Mike: And how do I know what my target is?

Chris: Pull your last sixty days by truck. Exclude installs — those skew the average. Look at your service and repair revenue per truck per day. That's your baseline. Now decide where you want to be. If you're at a thousand and you want to be at twelve hundred, twelve hundred is your target.

Mike: Okay. Twelve hundred divided by five stops.

Chris: Two forty. That's your minimum ticket floor. If you're running two-person crews with a higher target — say twenty-four hundred a day and four stops — your minimum is six hundred.

Mike: Six hundred bucks. That's a real number.

Chris: It's a real number because it's your number. It's not pulled from a blog post. It's tied to what your trucks need to produce every day to hit your revenue goals.

Mike: And you adjust it by season?

Chris: You adjust the stops input. In peak season, you might only get four stops because drive times are longer and jobs are more complex. In shoulder season, you might get six. The formula stays the same — the inputs change.

Mike: Okay, but here's my concern. I put a two-forty minimum on the books and my CSR tells a customer, and the customer goes to Google and finds three guys who'll come out for free.

Chris: Some will. But look — this isn't some radical idea. RMP Home Services in Boulder publishes a hundred-and-twenty-five-dollar minimum right on their website. Includes the trip and the first hour. Cerney Plumbing in Nebraska — one-hour minimum on every call at a hundred and twenty-five an hour. Perfect Flush in Portland charges a seventy-five-dollar dispatch fee plus a one-hour minimum. CoolAC in Albuquerque — eighty-dollar minimum on small repairs.

Mike: They just put it on the website?

Chris: On the website, on the booking confirmation, on the estimate. PHCPPros — the trade publication — has been telling contractors for years to charge a minimum and credit it toward the repair if the customer approves additional work. That credit piece is what makes it land.

Mike: Say that again. Credit it toward the repair.

Chris: Your CSR says: "We have a minimum job charge of two forty. That covers the trip and the first forty-five minutes on site. If additional work is needed, we quote before we start, and the minimum is credited toward your repair." So the customer hears — I'm not paying two forty on top of the repair. I'm paying two forty as a floor, and it goes toward the work.

Mike: That's a different conversation than "our service call fee is two forty."

Chris: Completely different. One sounds like a toll. The other sounds like a deposit.

Mike: All right, so I've got my number. How do I actually make this stick in the shop?

Chris: Three pieces. Pricebook item, CSR script, and a confirmation text. The pricebook item is the one people skip, and it's the most important. You need a dedicated line item in your CRM called "Minimum Job Charge." Not a note. Not a tag. A line item with a price that books revenue on the ticket.

Mike: Why does it matter if it's a line item versus a note?

Chris: Because notes don't show up in reports. If you want to know how many jobs hit the minimum, what revenue it generated, and whether your average ticket moved — you need it on the invoice as an item. In ServiceTitan, you create it in the pricebook as a service, give it a unique code, mark it non-discountable, and train your CSRs to add it to every qualifying ticket. Then you run the Invoice Item Detail report filtered by that code and you can see exactly what it's doing.

Mike: What about Jobber?

Chris: Same idea. Settings, Products and Services, add the item with a fixed price. Then you track it in the Products and Services Report — filter by the minimum item and you'll see adoption and revenue by date range.

Mike: Housecall Pro?

Chris: Price Book, add a new fixed-price service. It shows up on estimates and invoices. You track it in Reporting. ServiceMinder has it built in even tighter — there's an actual minimum charge setting at the service level that shows on proposals automatically.

Mike: ServiceMinder just has a button for it.

Chris: They do. And you can exclude specific parts from the minimum calculation, which matters if you're doing a repair where the part cost alone exceeds the minimum.

Mike: Okay. Pricebook item is in. Now the CSR script.

Chris: Keep it under thirty seconds. Your CSR says: "We can help with that. Before we book, we do have a minimum job charge of two forty. That covers the trip and the first forty-five minutes on site. If the work is bigger, we quote before we start so there are no surprises. Does that work for you?"

Mike: And when they push back?

Chris: "Totally understand. We use this during busy season so we don't tie up a crew on fifteen-minute fixes while other customers are without AC. If it's a quick fix, you're just at the minimum. If it's more, we show pricing first."

Mike: That's clean. That's — my CSR could say that today.

Chris: And then the confirmation text. One message: "Appointment confirmed for Tuesday at ten. Our minimum job charge is two forty, which covers the trip and the first forty-five minutes on site. It's credited toward your repair. Reply YES to confirm."

Mike: So they see the number before the truck rolls.

Chris: No surprises. That's the whole point of putting it in writing. The customer agreed to the minimum before your tech left the shop.

Mike: What about my membership customers? I've got people paying sixteen bucks a month — am I really going to hit them with a two-forty minimum?

Chris: No. Membership customers are an exception. You credit or waive per whatever your plan says. But you log it. Put a reason code on the job — "membership credit" — so you can see how many exceptions you're running and whether the membership is actually earning its keep.

Mike: Warranty callbacks?

Chris: No minimum. That's on you. Code it to warranty or callback.

Mike: What about the property management stuff — like when we're doing five units in one complex?

Chris: One minimum per site visit, not per unit. Route consolidation. You're already saving windshield time by batching those stops, so the economics work differently.

Mike: And the — look, there's always the one. The elderly customer on a fixed income, it's a hundred and two degrees, their AC is out. Am I really going to—

Chris: That's a manager call. You have a safety and hardship exception. But it requires approval, and you log the reason. The point isn't to be heartless. The point is that exceptions are exceptions, not the default.

Mike: Right. If everything's an exception, you don't have a policy.

Chris: You have a suggestion.

Mike: So how fast do I know if this is working?

Chris: Two weeks. Before you flip the switch, capture your baseline. Percentage of jobs below your proposed minimum, average ticket, revenue per truck day, and callback rate. Write those down. Then for fourteen days, track the same numbers daily by truck. Add two columns — "minimum applied, yes or no" and "exception code."

Mike: And what am I looking for?

Chris: You want sub-minimum jobs to drop by eighty percent or more. Average ticket should lift ten to twenty percent depending on your mix. Revenue per truck day should come up five to fifteen percent. And callbacks should stay flat — if callbacks spike, something else is wrong.

Mike: Where do I pull this?

Chris: In ServiceTitan, the Invoice Item Detail report filtered by your minimum item code. In Jobber, the Products and Services Report filtered by the minimum item. In Housecall Pro, the Reporting tab — drill into jobs and line-item details, and watch your average job size trend. Any of those will show you whether the item is getting added and what it's generating.

Mike: And if inbound volume drops? Like, if we're scaring people off?

Chris: Then you re-run the math. Maybe your expected stops number was too aggressive for shoulder season. Maybe you drop the minimum to one eighty for October through March and keep two forty for peak. You adjust the dollar, not the habit. The pricebook item stays. The CSR script stays. The reporting stays. You just tune the input.

Mike: That's — okay. That actually makes sense. You're not abandoning the policy. You're adjusting the lever.

Chris: And if you want the full install — the math, the CSR script, the SMS template, the pricebook steps for ServiceTitan, Jobber, Housecall Pro, and ServiceMinder, plus the exceptions list and the two-week tracker — we put a one-page playbook on the Resources page. It's all in one place so you're not hunting through vendor docs.

Mike: So we started this thing with you telling me I should turn away work. And I'll be honest — that still makes me a little uncomfortable. But the thermostat battery story is real. That happened. And when I think about how many of those eighty-nine-dollar trips we ran last summer while real jobs sat on the board waiting...

Chris: That's the cost nobody tracks. Not the revenue you collected on the small job — the revenue you lost on the job you couldn't get to. A minimum job charge doesn't mean you hate small customers. It means you respect your crew's time enough to put a floor under it.

Mike: And the math is simple enough that I could do it on a napkin in the truck. Revenue per truck day divided by stops. That's the number.

Chris: That's the number. And once it's in the pricebook and your CSR knows the script, it runs itself. You're not making judgment calls on every inbound. The system handles it.

Mike: So here's your question this week. If you need twelve hundred dollars per truck per day and you're running five stops — what's your minimum? And is that number in your pricebook and in your CSR's script right now? If the answer is no, that's your Monday morning.

Chris: That's your Monday morning. See you next Tuesday.

Mike: See you next Tuesday.

minimum job chargerevenue per truck dayhome service operationspricebook setupCSR trainingcapacity managementpeak seasonwindshield timeaverage ticketServiceTitanJobberHousecall Pro