Industry delivery · Knowledge Transfer Partnership

Industry system

From demand forecasts to procurement decisions

A 30-month Priory Direct / University of Kent KTP, designing and delivering a six-horizon forecasting and inventory/procurement system for a changing catalogue of approximately 1,200 SKUs.

In brief
Period
March 2024 – September 2026
Decision
What to order, how much and when, across a changing portfolio of approximately 1,200 packaging SKUs.
My role
KTP Associate – Data Scientist for the full 30 months. Led technical design and delivery with Priory Direct stakeholders and University of Kent academic supervision.
Data and scope
Daily-refreshed rolling historical demand, sales, price, availability, stock and supplier records. The approximately 1,200-SKU operational portfolio differs from the fixed 1,069-SKU retrospective cohort.
Approach
Six consecutive non-overlapping 30-day horizons (H1–H6, 180 days); demand-type/history-aware model selection, chronological evaluation, uncertainty, stability checks and fallbacks.
Evaluation
One February 2026 retrospective origin and six 30-day periods: 24% lower aggregate absolute forecast error across 1,069 SKUs versus an earlier development configuration. Not necessarily the original Usage Analysis benchmark.
Output
Python/SQL workflows, Power BI reporting and auditable buyer workbooks connecting forecasts to safety stock, reorder points, stock projection and supplier-constrained recommendations; typical runtime approximately 6–7 hours.
Human review
The buyer review list was still in shadow mode in the referenced evaluation. Recommendations required human judgement; the forecast result does not establish realised purchasing or financial benefits.
Limitations
One retrospective origin; gains concentrated in high-volume and dormant/zero-demand products. Some cohorts regressed. Not a universal per-SKU improvement or independently confirmed future performance.
Evidence status
Delivered KTP system and separately scoped retrospective assessment. Priory Direct owns the IP. Public summary only; the forecasting manuscript remains in preparation for multi-horizon evaluation.
Illustrative / syntheticFrom a demand signal to a buyer decision
Focus a stage
01

Understand the demand

History and demand type guide feature engineering, chronological model comparison and controlled fallbacks.

Statistical · intermittent · boosted · global neural

Synthetic history and six forecast horizonsA jagged demand history is followed by six consecutive 30-day forecast horizons. A shaded illustrative uncertainty band surrounds the central forecast. None of these values is project data. H1H2H3H4H5H6 Historical demandToday → six 30-day periods
  1. H1days 1–30
  2. H2days 31–60
  3. H3days 61–90
  4. H4days 91–120
  5. H5days 121–150
  6. H6days 151–180
Demand classificationModel selectionH1–H6 + uncertainty
02

Plan through the lead time

Stock on hand, inbound supply and uncertain demand shape the replenishment decision.

Inventory position = stock + open supply − backorders

Synthetic projected stock and two incoming deliveriesStock declines from 260 units with assumed demand of 14 units per day. An existing 120-unit delivery arrives on day 14. A proposed 200-unit delivery arrives on day 21. The shaded band spans its illustrative 21-day lead time. This is an explanatory stock projection, not an operational result. Proposed order: 21-day lead time 0100200300 Day 14Day 21TodayDay 35 +120 inbound+200 proposed
Day 14: 120 units inboundDay 21: 200 units proposed

Synthetic policy trigger: inventory position 380 ≤ reorder point 400 units.

03

Recommend, then review

Supplier rules turn a stock requirement into an orderable quantity. The buyer retains judgement.

Synthetic buyer-review example

200 unitsProposed order
Subject to human review
Stock / inbound
260 / 120 units
Target stock position
540 units
Minimum / pack
200 / 50 units
Inspect the recommendation

Requirement: 540 − (260 + 120) = 160 units. Apply the 200-unit supplier minimum, then round up to a 50-unit pack: 200 units.

Expected stock assumes 14 units of demand per day, no backorders and the stated receipt dates. Targets, lead times, quantities and policy thresholds are invented.

Illustrative / synthetic throughout. This explains the system’s relationships; it contains no Priory Direct data, supplier identities or purchasing values. The six-period architecture is documented project evidence. Recommendations remained in shadow mode in the referenced retrospective evaluation.

The decision the system supports

Priory Direct supplies packaging products. Procurement needs to decide what to order, how much and when, balancing uncertain demand against stock, supplier lead times and ordering constraints. The KTP connected a regularly refreshed forecast to inventory and purchasing decisions across a changing catalogue of approximately 1,200 SKUs.

My contribution

From March 2024 to September 2026, I led technical development as the KTP Associate – Data Scientist. I designed the Python/SQL data workflows, forecasting architecture, evaluation, inventory logic and reporting. Management, procurement, software and academic colleagues helped frame requirements and review outputs. The intellectual property belongs to Priory Direct.

Six-horizon forecasting architecture

The system advanced from single-step evaluation to six consecutive, non-overlapping 30-day horizons: H1–H6, covering 180 days. Daily-refreshed rolling historical demand feeds these forecast buckets; they are not six overlapping cumulative windows.

  • Demand and history routing: distinguish smooth, erratic, intermittent and lumpy demand, with controlled fallbacks for short-history and new products.
  • Model comparison: baselines, statistical and intermittent-demand methods, gradient-boosted ML and global neural forecasting. Comparing a model family does not mean that every model was selected for operational use.
  • Evaluation and selection: chronological backtesting and per-SKU model selection, with validation and stability checks before downstream use.
  • Uncertainty: forecast paths and intervals support inventory decisions rather than presenting one precise demand number as certain.

From forecasts to buyer workbooks

The forecasting outputs feed bespoke safety stock, reorder points, projected inventory, replenishment timing and proposed purchase quantities. Supplier lead times, service-level targets, minimum quantities, pack sizes and supplier ordering constraints shape the recommendations.

The delivery combined Python, SQL, SAP Business One / SQL Server, SQLite, Power BI and auditable buyer workbooks. A usual end-to-end run took approximately six to seven hours. This describes processing time, not a measured reduction from an earlier workload.

The workbooks support review and traceability. The buyer review list remained in shadow mode during the referenced evaluation. Human review and decisions about actual supplier orders are distinct from producing forecasts and recommendations.

Evaluation

The reported comparison used one retrospective February 2026 forecast origin, evaluated over six 30-day periods through early August 2026, for a fixed cohort of 1,069 SKUs.

MeasureEarlier development configurationCorrected configuration
Six-period aggregate absolute forecast error1.90 million units1.43 million units
Aggregate portfolio over-forecast+66%+9%

This represents a 24% reduction in aggregate absolute forecast error. Aggregate error was lower at each of the six horizons. The comparator was an earlier in-development pipeline configuration, not necessarily the original business Usage Analysis method.

Gains were concentrated in high-volume and dormant/zero-demand products; some SKU cohorts regressed. The result is neither a universal per-SKU improvement nor independently confirmed future performance. It does not measure financial savings, realised stock reduction or live service-level improvement.

Research status and scope

The operational portfolio of approximately 1,200 SKUs changes over time; the retrospective evaluation fixes a separate 1,069-SKU cohort. An earlier forecasting manuscript used a historical 1,474-SKU portfolio at a one-step horizon. These are different populations and experimental designs.

The manuscript with Ramin Raeesi and Zhen Zhu remains in preparation/revision, with the research design being updated for multi-horizon forecasting and inventory-focused evaluation. The 24% operational retrospective result is not a completed peer-reviewed multi-step research finding.

Limitations and human judgement

Sparse demand, limited histories, stock availability and changes absent from the data constrain forecast reliability. Buyers still need to account for new customers, supplier disruption and information outside the model. The system provides structured, traceable recommendations, not autonomous purchasing.

This public case describes high-level methods and aggregate results only. Private code, business records, internal reports and system screens are not included.

A public Forecast → Inventory demonstration uses synthetic data and standard methods. It is an independent educational example, not a reproduction of the confidential KTP implementation.

The case study above is the industry system. See a synthetic forecasting example →

Also on this site

Public competition · Independently scored

VN2 Inventory Planning Challenge: 6th place

Sixth of 180+ participants in the first public inventory-planning competition (2025); six weekly ordering rounds scored on holding and shortage cost.

Competition result →