← The Decision Ledger

Forecasting for Small Teams: Baselines, Seasonality, and Honest Uncertainty

You do not need a data science department to forecast well. A practical playbook for small teams: naive baselines, seasonal decomposition, error metrics like MAPE, and communicating uncertainty leadership can act on.

There is a persistent myth in small and mid-sized businesses that forecasting is a luxury reserved for companies with data science teams. So demand planning runs on last year plus ten percent, the cash flow projection lives in the founder's head, and every stockout or overrun is treated as weather rather than as a measurable, improvable process.

The truth is more encouraging and more demanding. Encouraging, because a disciplined forecast built from spreadsheet-grade tools and a few dozen lines of Python will outperform intuition in almost every operational domain. Demanding, because the discipline matters more than the algorithm, and the discipline is where most forecasting efforts quietly fail.

Rule one: you must beat the naive baseline

Every forecasting conversation should start with a humbling question: what would the simplest possible forecast score? The naive forecast (next period equals last period) and the seasonal naive (next June equals last June) are free, instant, and surprisingly hard to beat on stable series.

These baselines are not straw men; they are the hurdle rate. A forecasting model, like any investment, must clear its cost of capital. If your regression, your exponential smoothing, or your consultant's black box cannot beat the seasonal naive out of sample, the honest answer is to ship the naive and spend the effort elsewhere. In my experience roughly a third of business series are best served exactly this way, and admitting it is a feature of a mature process, not a failure.

Decompose before you predict

Most business time series are a braid of four strands: trend, seasonality, calendar structure, and irreducible noise. Untangling them is half the forecast.

  • Trend is the slow drift: growth, decline, saturation. A centered moving average or STL decomposition exposes it in minutes.
  • Seasonality is the repeating shape: weekly cycles in retail traffic, monthly cycles in B2B invoicing, annual cycles in agriculture-linked demand. Compute seasonal indices and inspect them; they should make business sense before they make statistical sense.
  • Calendar structure is the part analysts forget: paydays, public holidays, Ramadan and Easter shifting across the Gregorian calendar, the extra Friday in some months. In Kenyan retail data I have seen end-month payday effects with three times the amplitude of the underlying trend.
  • Noise is what remains, and its size is a fact to be reported, not an embarrassment to be hidden.

A useful habit: plot the decomposition and walk the business owner through it. Nine times out of ten they will point at a spike and supply the causal story (a stock clearance, a competitor outage, a rain week) that no algorithm could infer. Forecasting is a dialogue between the series and the person who lived it.

"The forecast is a by-product. The real asset is the conversation where the business explains its own seasonality out loud for the first time."

Rubansi Vincent

Choose boring methods, hold them accountable

For most operational series at monthly or weekly grain, the shortlist is short:

  1. Seasonal naive as the baseline.
  2. Exponential smoothing (ETS / Holt-Winters) for trend plus seasonality; robust, interpretable, cheap to run in Python's statsmodels or even in Excel.
  3. Regression with calendar features when you need to encode paydays, promotions, and price changes explicitly.
  4. Croston-style methods for intermittent demand, where most periods are zero and averages lie.

Whatever you choose, the accountability apparatus is the same and it is non-negotiable:

  • Hold out data honestly. Fit on the past, test on data the model never saw, ideally with rolling-origin backtesting rather than a single split.
  • Pick error metrics that match the decision. MAPE is intuitive for management but explodes near zero; MAE is robust; bias (mean error) tells you whether you systematically over- or under-forecast, which for inventory and cash is often the costliest failure. Report at least one accuracy metric and one bias metric.
  • Track forecast value added. Each month, log the model's error next to the naive baseline's error and next to any human override. This one table settles, with evidence, the eternal argument about whether the planner's adjustments help. Sometimes they do. Often they add error, especially optimistic overrides near quarter end.

Report uncertainty as a range, or you are lying politely

A single-number forecast is a polite fiction. Every serious forecast is a distribution, and small teams can communicate that without a statistics lecture: publish three numbers.

  • P10, a cautious floor: plan minimum cash and staffing here.
  • P50, the central estimate: the number for the budget line.
  • P90, a stretch ceiling: size inventory buffers and capacity against this.

Deriving the band can be as simple as the empirical spread of past forecast errors. What matters is behavioral: once leadership sees a range, planning conversations change from "what is the number" to "which risks are we buying insurance against." That single shift, in my experience, is worth more than any accuracy improvement the model itself will ever deliver.

"It is far better to foresee even without certainty than not to foresee at all."

Henri Poincaré

A minimal stack that actually ships

You can run all of the above with tools you already own:

Warehouse / Postgres or BigQuery : one tidy series per forecastable unit
Python (pandas + statsmodels)    : decomposition, ETS, backtesting loop
Power BI                          : actual vs forecast vs band, FVA table
A monthly 30-minute review        : where the forecast meets the forecaster

The review is the load-bearing component. Accuracy is reviewed, overrides are logged with reasons, and the error trendline is on the wall. Forecasting improves the way audit findings close: through visibility and cadence, not genius.

What this buys the business

Concretely, a functioning forecast process converts into money at four points: inventory (fewer stockouts and less dead stock), cash (borrowing arranged before the squeeze, not during it), staffing (rosters shaped to demand curves), and credibility (a budget that survives contact with the year). Against that, the cost is a few analyst-days a month. Priced honestly, forecasting is among the highest-ROI analytics work a small business can commission.

Make the shift to data-centric decision-making

If your planning still runs on last year plus ten percent, you are paying for that convenience in stockouts, idle cash, and quarter-end surprises. The remedy is not a data science department. It is a baseline, a decomposition, an error log, and a monthly half hour of institutional honesty.

I build exactly these systems for founders and small teams: the tidy series, the Python that forecasts it, the Power BI page that tracks the error, and the review ritual that keeps everyone honest. If you would like your next quarter to be less of a surprise, tell me what you are trying to predict and I will come back with an approach, a timeline, and a flat quote. The future is uncertain; your process for facing it does not have to be.

Next step

Put this thinking to work in your business.

I help founders and small teams turn messy data into decisions: SQL, Python, Power BI, and CPA-trained financial analysis. Clear questions in, confident decisions out.