Think Build Implement Repeat
London, UK +44 7367 067226
WhatsApp FOLLOW f in X
  1. Home
  2. Blog
  3. What Can and Cannot Be Forecast
Python & Django

What Can and Cannot Be Forecast

Where statistical forecasting in Python works for a small business: the need for history, stability and volume, the right methods and presenting ranges.

Updated 2 min readBy SpiderHunts Technologies

Free estimateNo obligation

Get a free estimate

Tell us what you need. A senior engineer reads every enquiry.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →

Quick answer — TL;DR

Forecasting needs history, stability and volume. With three years of clean data and stable patterns it beats intuition. Without those, no method will help.

Three requirements

  1. History — at least two full seasonal cycles, ideally three years
  2. Stability — the patterns that held must still hold
  3. Volume — forecasting five orders a month is not forecasting
If two of those three are missing, the honest answer is that no technique will produce a forecast you should act on. That answer is worth giving.

Where it works

ApplicationFitRequirement
Seasonal demand, established linesStrongThree years of history
Cash flow from invoice historyStrongConsistent payment behaviour
Staffing against booked workStrongReliable booking data
New product demandWeakNo history to learn from
After a business model changeWeakPast patterns no longer apply

Use the right tool

For numerical forecasting, established statistical methods outperform language models substantially and cost a fraction. Seasonal decomposition and time series methods are mature and well understood.

Language models help with explaining a forecast in plain English and incorporating unstructured signals, not with producing the numbers.

Present ranges, not points

  • A range with a stated confidence level, not a single figure
  • The same model's accuracy on recent history, so trust is calibrated
  • The assumptions stated explicitly
  • What would invalidate the forecast

A single number invites false confidence. A range invites planning, which is what a forecast is for.

Be clear about the limits

Forecasting extrapolates observed patterns. It does not anticipate breaks in them, which is precisely when people most want a forecast.

Used for reordering, staffing and cash planning it saves real money. Used for strategy it produces spurious precision.

FAQ

Frequently asked questions

The questions readers ask us after this guide.

Still have a question?

Ask us directly — a senior engineer will get back to you.

Ask about your project

How much history is enough?

Two full seasonal cycles minimum, three years comfortable. Below that you are fitting noise.

Can we include external factors?

Where you have history on them — weather for some sectors, published indices for others. Each one added needs history too.

Will it predict a downturn?

No. Anyone claiming otherwise is selling something. Forecasting extrapolates; it does not anticipate.

Is this worth it for a small business?

If you hold stock or schedule staff against variable demand, frequently yes. Otherwise probably not yet.

Keep reading

More on Python & Django

Python & Django

An API Other Systems Can Depend On

Designing a Python API service others can depend on: validation at the boundary, consistent errors and status codes, early versioning and documentation.

Python & Django

Moving and Transforming Data Reliably

Building data pipelines in Python that cope with malformed input: restartable stages, quarantining failures, reconciling counts and alerting on absence.

Start here

Ordering stock on gut feel?

With three years of clean sales history that can improve measurably. Tell us what you sell and how far back the data goes.

  1. You tell us what you needTwo minutes on the form, or a message on WhatsApp.
  2. A senior engineer reviews itAnd comes back with questions, a realistic range and an honest view on fit.
  3. Free 30-minute scoping callWe talk through scope, options and a realistic estimate — with no obligation.
Free estimateNo obligation

Talk to someone who builds this

Send a short brief and we will come back with an honest view and a realistic range.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →