Use case · Logistics & e-commerce

The forecast sixty brands kept getting wrong

Sixty brand forecasts, summed, had never once predicted a November.

Step

02 of 03

Company

Nordkade Fulfilment

Engine

Prediction Engine

Status

in progress

Step 02 · Prediction Engine

In progress

Nordkade Fulfilment is the same composite as in the Analytics Engine cases. The scenario is illustrative; the industry figures are sourced. The Prediction Engine is in active development; this case describes the workflow it is being built to run.

Every September, Nordkade Fulfilment asks its sixty brands for their fourth-quarter volume forecasts, and every September the brands oblige. The numbers arrive in sixty formats - a tab in a shared sheet, a line in an account manager’s email, a PDF from a brand that has just hired a planning lead - and the ops manager sums them into a peak plan: how many agency workers to book, how many shifts to run, what pickup capacity to promise the carriers. Last year the sum said November would run 38 percent above October, evenly, all month. The Black Friday week ran 61 percent above October. The week after, it fell back by nearly a third, because two campaigns had been pulled forward and nobody had updated the sheet.

So the Rotterdam warehouse spent the most expensive fortnight of its year being wrong in both directions at once: forty pickers short on the Monday after Black Friday, paying overtime to drain the backlog, and overstaffed eight days later with agency blocks that had been booked weeks earlier and could not be cancelled. Nobody had been careless. The brands forecast what they hoped to sell, not what Nordkade would have to pick; they are optimistic about their own campaigns by profession; and not one of them forecast returns.

Returns are the second peak, and it arrives in January. The National Retail Federation estimates that about 19 percent of online sales were returned in 2025, and retailers told the NRF the year before that they expected holiday return rates to run well above their annual rate. For a book heavy in fashion, that means the returns dock’s busiest three weeks sit in the first half of January - a peak that appears in no brand’s forecast because it is not a sale.

The error is billed in labour. Warehousing research puts labour at 50 to 70 percent of warehousing costs, while only a quarter of operators actively manage it. Nordkade had tried, once, to fix the forecast properly. The BI developer scoped it: extract two years of order history per brand, join the promotion calendars, build and validate a model, then make it re-run every week. His estimate was most of a quarter of his time, plus data-science skills he did not claim to have. A consultancy quoted ten weeks and a five-figure fee for a model nobody in the building could retrain. So the peak plan kept being built the old way - by adding up sixty people’s optimism.

One sentence, one trained model

Nordkade already ran the Analytics Engine, so the history was already connected and queryable. In late August the ops manager typed a request in the same plain language she used for everything else:

Forecast daily outbound orders and inbound returns per brand from September through January. Use two years of history, each brand’s promotion calendar and public holidays. Show me how accurate it would have been last year.

What happened next is the part that used to be the project. The Prediction Engine read the shape of the data before touching a model: sixty daily series, strong weekday patterns, promotion flags for forty-one brands, and a returns series that trails outbound volume by a different delay for each brand. From that it composed a specification in plain terms that the ops manager could open and read - the target, the horizon, the inputs, and the test. The test is what mattered. Instead of scoring the model on randomly shuffled days, which quietly lets the future leak into training, the engine held out the whole of last year’s peak season: train on everything up to that September, forecast October to January, and compare against what actually happened. That is the only test that resembles how the forecast will be used.

It tried three candidates - a seasonal baseline, a gradient-boosted model pooled across all brands with brand-level features, and a combination - and reported each one against the held-out season. At no point did a language model write a number. The forecasts were computed by models fitted to Nordkade’s own order history; the language model’s job ended at the specification.

The result was uncomfortable for the September ritual. On last year’s held-out peak, the summed brand forecasts had missed daily volume by 31 percent on average. A same-week-last-year-plus-growth rule, the thing a careful analyst would build in a spreadsheet, missed by 19. The pooled model missed by 8 percent across the season and by 12 in the Black Friday week. The engine also reported how honest its uncertainty was: the 80 percent intervals contained the actual volume on 77 percent of peak days, slightly too narrow, and it said so rather than rounding it away.

Last year's peak, forecast three waysWeekly outbound orders across 60 brands; the model was trained only on data up to the September before Illustrative figures

Weekly outbound orders

Composite scenario. Held-out test: the whole Q4 season was excluded from training and scored after the fact.

The returns model told the story nobody’s sheet had: fashion brands’ returns peaking roughly two and a half weeks after their outbound peak, electronics inside a week, and one homeware brand with almost no January return wave at all. The returns dock got its own January plan for the first time.

A forecast that stays alive

A model delivered once is a report. The ops manager promoted this one into production with a second sentence: re-forecast every Monday with the latest week of actuals, and alert me if any brand runs outside its forecast interval for three consecutive days.

The alert earned its place in October. Brand C’s volume broke above its interval four days running. Nothing in the promotion calendar explained it, which is exactly why the model had not seen it coming. The account manager called; the brand confirmed a creator partnership its marketing team had launched without telling its own planners, let alone its warehouse. The following Monday’s re-forecast absorbed the new level. In earlier years that discovery would have been made by pickers facing empty pick faces.

Agency blocks for peak were booked against the model’s upper forecast rather than the brand sum, with a pre-agreed flex tranche for the Black Friday week. Overtime hours across the season fell by about a third, and no day ran more than six percent short of planned pick capacity. Then the commercial conversation changed. Nordkade now sends each brand its own forecast in September, with the accuracy of that brand’s submitted forecast from the previous year printed beside it. Two brands have started using Nordkade’s number for their own inventory buying. A fulfilment partner that forecasts a client’s demand better than the client does has a different kind of renewal meeting - which, after the Brand A story, is a meeting Nordkade has learned to prepare for.

Held-out peak error, by methodWeighted absolute error on daily volume per brand, October to January, held out from training Illustrative figures
Sum of brand-submitted forecasts 31% error
Same week last year + growththe careful spreadsheet 19% error
Prediction Engine, pooled model12% in the Black Friday week 8% error

Measured on a season the model never saw, and shipped with the forecast.

Composite scenario; figures illustrative. Interval coverage reported alongside: 77% of peak days inside the 80% band.

What the BI developer did instead

He reviewed it. He re-ran the held-out test with a different cutoff year to make sure the result was not one lucky season. He read the feature importances, noticed the model leaning heavily on a promotion flag that two brands filled in inconsistently, and fixed the data at source. That is a morning of expert judgement applied to a finished model, not a quarter spent building one - which is the right use of the only person in the company who could have built it.

Then he went back to the question he had been circling for months: how to split parcels across carriers. That question now had something it never had before - a daily parcel forecast per brand to feed it.

What changed at Nordkade is not that it acquired a forecasting team. It is that “what will November look like” stopped being an annual exercise in adding up other people’s hopes and became a model with a measured error, retrained weekly, owned by the person who books the shifts. The Analytics Engine showed Nordkade which clients cost it money. The Prediction Engine shows what those clients are about to do. What remains is the question every warehouse manager actually asks next: given all that, what is the cheapest way to move it?

Sources

  1. NRF & Happy Returns, 2025 Retail Returns Landscape: an estimated 19.3% of online sales returned.
  2. NRF & Happy Returns via CNBC (2024): holiday return rates expected to run about 17% above the annual rate.
  3. Supply Chain Insights / Easy Metrics via MHL News: labour is 50–70% of warehousing costs; 25% of operators actively manage it.

Use case · Logistics & e-commerce

The forecast sixty brands kept getting wrong

Sixty brand forecasts, summed, had never once predicted a November.

Step

02 of 03

Company

Nordkade Fulfilment

Engine

Prediction Engine

Status

in progress

Step 02 · Prediction Engine

In progress

Nordkade Fulfilment is the same composite as in the Analytics Engine cases. The scenario is illustrative; the industry figures are sourced. The Prediction Engine is in active development; this case describes the workflow it is being built to run.

Every September, Nordkade Fulfilment asks its sixty brands for their fourth-quarter volume forecasts, and every September the brands oblige. The numbers arrive in sixty formats - a tab in a shared sheet, a line in an account manager’s email, a PDF from a brand that has just hired a planning lead - and the ops manager sums them into a peak plan: how many agency workers to book, how many shifts to run, what pickup capacity to promise the carriers. Last year the sum said November would run 38 percent above October, evenly, all month. The Black Friday week ran 61 percent above October. The week after, it fell back by nearly a third, because two campaigns had been pulled forward and nobody had updated the sheet.

So the Rotterdam warehouse spent the most expensive fortnight of its year being wrong in both directions at once: forty pickers short on the Monday after Black Friday, paying overtime to drain the backlog, and overstaffed eight days later with agency blocks that had been booked weeks earlier and could not be cancelled. Nobody had been careless. The brands forecast what they hoped to sell, not what Nordkade would have to pick; they are optimistic about their own campaigns by profession; and not one of them forecast returns.

Returns are the second peak, and it arrives in January. The National Retail Federation estimates that about 19 percent of online sales were returned in 2025, and retailers told the NRF the year before that they expected holiday return rates to run well above their annual rate. For a book heavy in fashion, that means the returns dock’s busiest three weeks sit in the first half of January - a peak that appears in no brand’s forecast because it is not a sale.

The error is billed in labour. Warehousing research puts labour at 50 to 70 percent of warehousing costs, while only a quarter of operators actively manage it. Nordkade had tried, once, to fix the forecast properly. The BI developer scoped it: extract two years of order history per brand, join the promotion calendars, build and validate a model, then make it re-run every week. His estimate was most of a quarter of his time, plus data-science skills he did not claim to have. A consultancy quoted ten weeks and a five-figure fee for a model nobody in the building could retrain. So the peak plan kept being built the old way - by adding up sixty people’s optimism.

One sentence, one trained model

Nordkade already ran the Analytics Engine, so the history was already connected and queryable. In late August the ops manager typed a request in the same plain language she used for everything else:

Forecast daily outbound orders and inbound returns per brand from September through January. Use two years of history, each brand’s promotion calendar and public holidays. Show me how accurate it would have been last year.

What happened next is the part that used to be the project. The Prediction Engine read the shape of the data before touching a model: sixty daily series, strong weekday patterns, promotion flags for forty-one brands, and a returns series that trails outbound volume by a different delay for each brand. From that it composed a specification in plain terms that the ops manager could open and read - the target, the horizon, the inputs, and the test. The test is what mattered. Instead of scoring the model on randomly shuffled days, which quietly lets the future leak into training, the engine held out the whole of last year’s peak season: train on everything up to that September, forecast October to January, and compare against what actually happened. That is the only test that resembles how the forecast will be used.

It tried three candidates - a seasonal baseline, a gradient-boosted model pooled across all brands with brand-level features, and a combination - and reported each one against the held-out season. At no point did a language model write a number. The forecasts were computed by models fitted to Nordkade’s own order history; the language model’s job ended at the specification.

The result was uncomfortable for the September ritual. On last year’s held-out peak, the summed brand forecasts had missed daily volume by 31 percent on average. A same-week-last-year-plus-growth rule, the thing a careful analyst would build in a spreadsheet, missed by 19. The pooled model missed by 8 percent across the season and by 12 in the Black Friday week. The engine also reported how honest its uncertainty was: the 80 percent intervals contained the actual volume on 77 percent of peak days, slightly too narrow, and it said so rather than rounding it away.

Last year's peak, forecast three waysWeekly outbound orders across 60 brands; the model was trained only on data up to the September before Illustrative figures

Weekly outbound orders

Composite scenario. Held-out test: the whole Q4 season was excluded from training and scored after the fact.

The returns model told the story nobody’s sheet had: fashion brands’ returns peaking roughly two and a half weeks after their outbound peak, electronics inside a week, and one homeware brand with almost no January return wave at all. The returns dock got its own January plan for the first time.

A forecast that stays alive

A model delivered once is a report. The ops manager promoted this one into production with a second sentence: re-forecast every Monday with the latest week of actuals, and alert me if any brand runs outside its forecast interval for three consecutive days.

The alert earned its place in October. Brand C’s volume broke above its interval four days running. Nothing in the promotion calendar explained it, which is exactly why the model had not seen it coming. The account manager called; the brand confirmed a creator partnership its marketing team had launched without telling its own planners, let alone its warehouse. The following Monday’s re-forecast absorbed the new level. In earlier years that discovery would have been made by pickers facing empty pick faces.

Agency blocks for peak were booked against the model’s upper forecast rather than the brand sum, with a pre-agreed flex tranche for the Black Friday week. Overtime hours across the season fell by about a third, and no day ran more than six percent short of planned pick capacity. Then the commercial conversation changed. Nordkade now sends each brand its own forecast in September, with the accuracy of that brand’s submitted forecast from the previous year printed beside it. Two brands have started using Nordkade’s number for their own inventory buying. A fulfilment partner that forecasts a client’s demand better than the client does has a different kind of renewal meeting - which, after the Brand A story, is a meeting Nordkade has learned to prepare for.

Held-out peak error, by methodWeighted absolute error on daily volume per brand, October to January, held out from training Illustrative figures
Sum of brand-submitted forecasts 31% error
Same week last year + growththe careful spreadsheet 19% error
Prediction Engine, pooled model12% in the Black Friday week 8% error

Measured on a season the model never saw, and shipped with the forecast.

Composite scenario; figures illustrative. Interval coverage reported alongside: 77% of peak days inside the 80% band.

What the BI developer did instead

He reviewed it. He re-ran the held-out test with a different cutoff year to make sure the result was not one lucky season. He read the feature importances, noticed the model leaning heavily on a promotion flag that two brands filled in inconsistently, and fixed the data at source. That is a morning of expert judgement applied to a finished model, not a quarter spent building one - which is the right use of the only person in the company who could have built it.

Then he went back to the question he had been circling for months: how to split parcels across carriers. That question now had something it never had before - a daily parcel forecast per brand to feed it.

What changed at Nordkade is not that it acquired a forecasting team. It is that “what will November look like” stopped being an annual exercise in adding up other people’s hopes and became a model with a measured error, retrained weekly, owned by the person who books the shifts. The Analytics Engine showed Nordkade which clients cost it money. The Prediction Engine shows what those clients are about to do. What remains is the question every warehouse manager actually asks next: given all that, what is the cheapest way to move it?

Sources

  1. NRF & Happy Returns, 2025 Retail Returns Landscape: an estimated 19.3% of online sales returned.
  2. NRF & Happy Returns via CNBC (2024): holiday return rates expected to run about 17% above the annual rate.
  3. Supply Chain Insights / Easy Metrics via MHL News: labour is 50–70% of warehousing costs; 25% of operators actively manage it.