Your Fleet Has One Driver Who’s Always Late. Do You Fire Them or Fix the Routes?

A driver who is chronically late is almost always framed as a performance problem. Usually, they are a scheduling problem wearing a driver-shaped costume.

I think about this a lot because my younger brother drives for a delivery gig, and he has been chronically five minutes late to everything since approximately forever. Family dinners, birthdays, his own graduation photos. It became a running joke, the kind of thing we all laughed about, but something about the pattern kept nagging at me in a quiet, engineer-brained way. Five minutes is too consistent to be random. Random lateness looks like ten minutes one day and thirty seconds the next. His looks like someone ran a regression on his life and found a constant.

When I finally asked him about his delivery shifts, the answer was not about motivation. It was about one left turn at a specific intersection near his zone that eats eight minutes every afternoon, and a dispatch window that does not account for it. He is not lazy. He is rounding up against a route that was scoped before that turn got a new signal phase, which makes him a scheduling victim, not a performance problem.

What the data actually says about your late driver

Before you decide anything, look at the shape of the lateness, not just the fact of it.

Lateness on random routes is usually a behavior story. Lateness on the same route, at the same time of day, with the same traffic conditions, is telling you a geography story. The distinction matters because the interventions are completely different, and firing someone who was actually flagging a route problem is how fleets quietly lose their best diagnostic signal.

Pull the numbers on the specific stops and the specific time windows. How many of the late arrivals cluster on a single corridor? How many happen in the afternoon window when school traffic wakes up in most suburbs? If your software tracks per-stop dwell time, look at what the driver actually does on site. A driver who is late because they spend most of their stop time hunting for unit numbers at apartment complexes is not a driver problem either, that is a routing problem dressed up as a person problem.

The fleet manager I want to quote here is someone I know from a logistics meetup, not a study, not a consultant. He told me he once walked into a termination meeting with paperwork already printed. Then, on a hunch, he replayed the driver’s recent route history on a map. Every late arrival was on the same side of a river crossing where his dispatch tool was still routing traffic through a bridge that had been closed for repairs for most of a month. He tore up the paperwork on the walk back to his desk. The driver still works there. Replacing a delivery driver costs more than most ops people admit out loud, and the training curve is longer than the job description suggests.

Route difficulty is a thing, and nobody assigns it

Time for the technical aside I owe you. Most dispatch software treats every route as if it has the same difficulty rating, which is roughly like treating every chess opening as equally complex because they all start with the same board, which they don’t. Some routes have tight time windows, narrow streets, unpredictable customers, and loading docks that require backing in at angles that were designed before box trucks were this wide. Other routes are suburban cake walks where you can hit every stop with your eyes closed.

If your fleet does not assign a difficulty score to routes, you are implicitly grading drivers on a curve they cannot see. The driver who is chronically late on hard routes might actually be your strongest performer. Meanwhile, the one who is always on time on the easy loop might crumble the first time you hand them the downtown corridor. You cannot know this from a dashboard that only shows on-time percentage.

A simple difficulty signal can be built from data you probably already have. Historical average drive time versus posted time window. Number of left turns across arterial roads. Average time spent searching for parking or loading bays. Customer density per square mile. Stack those together and you get a rough ranking that tells you which routes are actually hard, and which drivers are volunteering for them.

Training or termination: two paths from the same data

Once you have clean performance data plus route difficulty context, the decision point gets much sharper. The question is no longer “is this person late” but “is this person late in a way that coaching can fix.”

Path one: the driver is late on routes that other drivers handle fine, the lateness does not cluster geographically, and the dwell times are inconsistent. That is a training and expectations conversation, and sometimes a fit conversation. Coaching can work here, and it usually starts with a ride-along, because watching someone do the job is the fastest way to find the habit that is costing them minutes.

Path two: the driver is late on specific routes that everyone else also struggles with, or the lateness lines up with known infrastructure problems, or your investigation surfaces a dispatch error nobody caught. That is not a driver you retrain. That is a route you rebuild. I have watched fleet managers spend weeks preparing a PIP document for someone who needed a short routing meeting instead, and it makes me want to tear my hair out every time. (I default to data-first explanations for human behavior too, by the way. The correction I am still working on is remembering that sometimes the root cause is just one stubborn intersection.)

Customer satisfaction is the quiet scoreboard

Whatever you decide about the driver, the customers are already voting.

Late deliveries erode trust in ways that do not always show up in complaint logs. A customer who stops ordering because your driver is always past the window will rarely tell you that is the reason. They will just churn, and you will blame pricing or competition or the economy, when the real cause was a route that nobody audited. This is why fixing routes tends to pay back faster than fixing drivers, even when the driver is genuinely underperforming. Routes affect everyone who touches them. One bad route drags down the numbers of every driver you assign to it, and every customer on it gets the same soggy experience.

Before you make any personnel decision, ask whether the route has been tested by more than one driver under normal conditions. If not, you do not have enough signal to act, only a hypothesis dressed up as a verdict. This is also where it helps to listen when drivers tell you a route is broken, because they are usually right and usually ignored, which is a topic I wrote about in this piece on driver route feedback if you want to go deeper on the listening side of it.

The call you actually have to make

My brother is still chronically five minutes late to family stuff, and he always will be, probably. But at his delivery job, his on-time rate went up the week his dispatcher quietly rerouted him around that left turn. Nobody told him they did it. Nobody apologized for the weeks he spent absorbing a route problem as a personal one. He just started getting to the next stop on time, and the supervisor who was building a case against him moved on to someone else, looking for the next person to blame for a map that nobody wanted to audit.

If you are staring at a driver’s numbers right now, trying to decide if they go or stay, do not open the termination template yet. Open the map. Look at where they were late, when, and on which corridor. Compare it to every other driver who has run the same route in the same window. Then ask yourself whether you are firing a person or firing a problem you do not want to fix.

Fire the route first.