Manufacturing & Supply ChainForecasting · Optimization

Four thousand deliveries a day, planned in eleven minutes

Demand forecasting feeding a routing optimizer — plus a planner interface that lets dispatchers override any route, and a system that learns from every override.

EngagementFixed-scope build
Timeline to v14–8 weeks
PatternRepresentative engagement
12%
fewer miles driven
11 min
to plan the full day
94%
on-time delivery

The problem

A regional distributor planned roughly four thousand daily deliveries with a team of dispatchers, a legacy routing tool, and a great deal of institutional knowledge. Planning ran late into the evening, and the plan was obsolete by mid-morning as orders and traffic shifted. Nobody could say whether the routes were good — only that they were finished.

The hypothesis

Two separable problems were tangled together. Forecasting order volume and service time is a machine-learning problem. Assigning stops to vehicles under constraints is an optimization problem. Solved separately with clean interfaces, both get better — and the dispatcher's judgment becomes an input rather than a workaround.

The build

  • Volume and service-time forecasting — gradient-boosted models predicting order volume by zone and dwell time per stop type, using history, seasonality, and customer characteristics.
  • Constraint-based routing — a solver handling vehicle capacity, driver hours, time windows, and depot constraints, seeded with the forecast. Deterministic, inspectable, tunable.
  • Dispatcher override with capture — planners can move any stop or resequence any route. Every override is logged with its reason code, and those reasons became new constraints when patterns emerged.
  • Same-day replan — the plan re-solves as orders and traffic change, so the morning plan is not the whole story.

Design choice that mattered: we treated dispatcher overrides as signal, not friction. The first month's overrides revealed three real constraints nobody had written down — a customer whose dock closes early, a bridge weight limit, a driver certification requirement. Encoding those did more for route quality than any model tuning.

Rollout

We ran the optimizer alongside the existing process for three weeks and compared plans on miles, on-time risk, and dispatcher acceptance. Adoption started with two of eleven depots, chosen because their planners were the most skeptical — if it convinced them, it would convince everyone.

Results

Full-day planning dropped from an evening's work to minutes, miles fell by low double digits, and on-time delivery improved. The strategic gain was optionality: the business can now test scenarios — a new depot, a tighter service window, a different fleet mix — in an afternoon rather than a quarter.

What we'd tell you

  • Separate forecasting from optimization. Bundling them makes both harder to debug.
  • Optimization is not machine learning. Use a solver where a solver belongs — it is faster, cheaper, and explainable.
  • Capture overrides with reasons. Your planners are encoding constraints your data never had.
  • Win over the skeptics first. Their acceptance is worth more than an easy pilot.
← All success stories
Keep reading

More from the field.

Banking & Financial

Consumer lending, decided in hours

60%
faster time-to-decision
files per underwriter
Read the story
Banking & Financial

Early-warning credit risk

60 days
earlier risk signal
↓ roll rates
into later buckets
Read the story
Banking & Financial

The 6 a.m. advisor brief

advisor capacity for client time
6 a.m.
brief ready daily
Read the story
Get started

Bring us a hypothesis. Leave with a system.

Tell us what's eating your team's time. We'll give you an honest read on whether AI is the right tool — and if it is, a scoped v1 with a timeline and cost.