Latest / Scaling Up with Fexingo: How Small Businesses Become Mid-Market Companies / How a Plumber Scaled to 200 Million by Fixing Scheduling
Transcript
- Lucas: So we have done, I think, five plumbing episodes on this show. Five. And I told myself I'd never do a sixth unless the story was genuinely different. Luna: And you found one. Lucas: I found one. A company called Rooter Pro Services out of Phoenix. They hit $200 million in annual revenue last year. And the lever they pulled was something that sounds incredibly boring on paper but is actually the most common bottleneck I see in service businesses. Luna: Let me guess. Scheduling. Lucas: You guessed it. But not just scheduling — specifically, the way they routed their technicians. Before the change, each tech was doing about 4.5 billable hours a day. The rest was driving, waiting for parts, filling out paperwork. Dispatch was manual — someone looked at a map and grouped calls by zip code. That seems logical, right? Luna: Sure. Group by area, minimize windshield time. Lucas: Except that's not how actual traffic works. Phoenix is a grid city. A job in zip code 85016 might be a fifteen-minute drive from a job in 85018 at 10 a.m., but a forty-five-minute drive at 4 p.m. because of the 51 freeway. The old system didn't account for time of day, job duration, or skill matching. Luna: So a master plumber might get sent to a faucet replacement while a junior tech sits idle. Lucas: Exactly. And the overtime costs were brutal because jobs ran long and techs got stuck in rush hour. So the CEO, a guy named Dan Reeves, hired a data engineer — one person — and spent about $400,000 building a custom routing algorithm. Not buying some off-the-shelf field service management software, but actually writing logic tuned to their specific fleet and city. Luna: What did the algorithm optimize for? Distance? Time? Lucas: Minimizing total drive time per day, not per trip. That's the subtle difference. It learned that a 10-minute drive across a freeway at 2 p.m. is actually a 22-minute drive at 5 p.m. So it would schedule those shorter adjacent calls in the morning and push longer drives to midday when traffic is lighter. It also factored in job duration estimates — a water heater replacement takes 90 minutes, a clogged drain takes 30. Luna: So the algorithm could batch short jobs together and leave long jobs for slots where a tech wouldn't be racing against a tight window. Lucas: Right. The result: within six months, the average tech went from 4.5 to 7.2 billable hours per day. That's a 60 percent increase in productive time. Revenue per truck jumped from about $320,000 a year to over $500,000. And customer wait time dropped from an average of 4 hours to 90 minutes. Luna: Did they raise prices? Or was it pure utilization? Lucas: Pure utilization. They actually cut their average ticket price by about 8 percent because they stopped charging rush fees for same-day service — they didn't need to. They could actually deliver same-day without a premium because the routing was that much more efficient. Luna: That's wild. So customers got faster service for less money, and the company's margins improved. Lucas: Gross margin went from 38 percent to 46 percent in two years. And here's the kicker — they didn't lay off any dispatchers. They retrained them as 'customer experience coordinators.' Instead of staring at a map, they now handled follow-ups, upsells, and customer questions. The number of calls per dispatcher actually went up, but satisfaction scores improved because they had time to actually talk. Luna: I love that. It's the classic 'automate the boring stuff, elevate the human work' move. But I have to ask — $400,000 for a custom algorithm. That's not cheap for a plumbing company. How did they justify it? Lucas: They didn't. Dan told me he funded it out of retained earnings and treated it as a two-year payback. He said, 'If it doesn't work, we lose a year of profit. If it works, we double the company.' It worked faster than he expected — payback was about 11 months. Luna: What about cultural resistance? I imagine the techs who were used to certain routes and schedules might have pushed back. Lucas: Oh, definitely. Some senior techs complained that the algorithm didn't account for their preferred lunch spots. But Dan introduced a simple incentive — any tech who hit 7 billable hours for the week got a $200 bonus. After three months, the skeptics were the biggest advocates because their paychecks were bigger. Luna: So you essentially gamified the routing change. Lucas: Exactly. And the algorithm kept learning. After a year, it was also factoring in technician skill certifications, parts inventory on the truck, and even weather — because in Phoenix, monsoon season means sudden drain calls. Luna: So it became a full-blown operational intelligence system. I wonder how many other service businesses are sitting on this exact inefficiency. Lucas: I'd guess most of them. The vast majority of plumbing, HVAC, electrical, and pest control companies still use manual dispatch or basic territory routing. The technology is not expensive anymore, but the mindset shift is hard. Luna: What's the one takeaway you want listeners to grab from this story? Lucas: If your labor is your constraint — and for most service businesses it is — then any improvement in utilization goes straight to the bottom line. You don't need more trucks or more techs. You need to make every hour they're on the clock a billable hour. A routing algorithm is one way to do that, but the principle applies everywhere: find the invisible downtime and kill it. Luna: Which makes me think of a lot of white-collar jobs too. But that's a different show. Lucas: It really is. But before we go, I want to say something about this episode and the show in general. Luna: Sure. What's on your mind? Lucas: If these conversations have moved your work forward in some small way — maybe you tried a new pricing model, rethought a bottleneck, or just had a better framework for a decision — that's exactly why we do this. And we deliberately keep the show ad-free because we want the signal to be clean. Luna: Right. No sponsored segments, no mid-roll interruptions. Just the story and the math. Lucas: So if that model works for you and you want to support it, the simplest way is buy me a coffee dot com slash fexingo. It's a one-time thing, no subscription, no perks. Just a way to keep the show independent. Luna: Yeah. And every contribution genuinely helps us spend more time finding stories like Rooter Pro's. Lucas: Alright. Back to the mechanics. One thing I didn't mention is how they handled the transition from old system to new. They ran the algorithm in parallel for two weeks — dispatching both manually and via the algorithm, then comparing actual outcomes. Luna: So they had a controlled experiment before going all-in. Lucas: Exactly. The algorithm won on every metric: faster arrival, fewer overtime hours, higher customer satisfaction. That data made the rollout much smoother because no one could argue with the numbers. Luna: And now they're at $200 million. What's next for them? Lucas: They're rolling out the same system to their expansion markets — Dallas, Houston, and Denver. Dan's theory is that the algorithm works best in cities with predictable traffic patterns. He's also exploring dynamic pricing based on demand and technician proximity, which could add another 10-15 percent to revenue per call. Luna: So the software becomes a competitive moat. Lucas: Exactly. Because any competitor can buy trucks and hire plumbers. But not everyone has a routing system that turns a 4.5-hour workday into a 7.2-hour one. Luna: That's the kind of boring operational edge that wins markets. Lucas: Boring on the surface. But underneath, it's a fundamental rethinking of how labor and logistics interact. And for any business where your people are your product, that's the most interesting question there is.