Skip to content

Logistics

Demand forecasting

A demand-forecasting pipeline that replaced gut-feel replenishment with a measured, retrainable model — and put its output where the ops team already worked.

  • Python
  • Postgres
  • Docker
-31%

stockouts

forecast accuracy

+12%

In short

  • Replenishment runs on a measured, retrainable model instead of stale spreadsheets.
  • The baseline error was measured first, so the improvement is provable, not asserted.
  • Forecasts land in the tools the ops team already uses — not a dashboard nobody opens.

The engagement

Sector
Logistics / supply chain
Company shape
Established mid-market operator
Engagement
Data pipeline + model + delivery

Anonymised by policy

Every engagement runs under NDA — we protect our clients' confidentiality as a matter of policy, and we'd extend the same discretion to your work. The constraints, the shape, and the outcome here are real; the identity is redacted.

The challenge

Replenishment decisions ran on intuition and spreadsheets that were stale by the time anyone read them. The result was predictable: too much of the wrong stock, too little of the right, and no way to tell whether a change helped.

The approach

  1. 1
    Make the baseline measurable

    We quantified the existing forecast error first, so every model change could be judged against a real number.

  2. 2
    A model that fits the data, not the hype

    We chose a forecasting approach matched to the data volume and seasonality rather than the most complex option, and made it retrainable on a schedule.

  3. 3
    Deliver where the work happens

    Forecasts land in the systems the ops team already uses, so the model informs decisions instead of sitting in a dashboard nobody opens.

The solution

A reproducible pipeline ingests demand history, retrains on a schedule, and writes forecasts back to the operational systems. Because the baseline was measured up front, the improvement is provable — not a claim.

The system we built

  1. Ingestdemand history
  2. Feature buildseasonality, trends
  3. Train + backtestagainst a measured baseline
  4. Serveinto ops systems
Abstract by design — the architecture we built, not a client screen. No confidential data is shown.
Illustrative
Forecasts delivered into the ops team's existing tools
Illustrative
Backtest — predicted vs. actual demand against the measured baseline

The results

stockouts

-31%

over the first two quarters

forecast accuracy

+12%

vs. the prior baseline

Data & safety

Evaluation
Backtested against a measured baseline; forecast error is tracked over time, not assumed.
Reproducibility
A reproducible pipeline retrains on a schedule so the model stays current.
Delivery
Forecasts are written into existing operational systems, keeping the model in the workflow.

The stack

  • Python
  • Postgres
  • Docker

Questions we get

We quantified the existing forecast error before touching anything, so every change is judged against a real baseline — the improvement is measured, not asserted.

One matched to the data volume and seasonality, not the most complex option — and made retrainable on a schedule so it stays accurate as patterns shift.

Forecasts land in the systems they already work in, so the model informs real decisions instead of sitting in a dashboard nobody opens.

More selected work

// Let's build

Want an outcome like this on your problem?

Tell us where you are. We reply within a day with a concrete next step.