# Forecast methods and the Monday re-score

Source: https://docs.tightly.io/help/engines/forecast-methods
Reviewed: 2026-09-26

## The forecast methods Tightly uses

The forecasting engine keeps a set of methods and lets each line's own sales decide which one reads it. Every method is open to every plan. The methods a line can be forecast by:

| Method | What it is for |
|---|---|
| Moving average of in-stock days | the starting point, and a line with little history |
| 8-week moving average | a plain average of the last eight weeks |
| Seasonal TSB | lines that sell in bursts; the rate fades through quiet spells and follows the category's week-of-year shape |
| Same week last year | short, sharply seasonal selling windows; needs a full year |
| Gradient-boosted trees | one method trained across your whole book at once; the usual choice for steady lines |
| Theta | continuity lines with a trend |
| SBA | Croston's method with its known high bias removed, for bursty lines |
| Statistical median | the week-by-week median of the statistical methods above |
| ETS | exponential smoothing of level and trend, with the season taken out first and put back after |
| Pretrained forecaster | a forecaster trained in advance on a very wide range of time series, which reads a line's recent sales without fitting to it |

Two more forecasts are never chosen by the re-score: a never-sold product's, borrowed from its analogs, and the same forecast timed by category where the analogs cannot time it, run only where switched on. ARIMA, Prophet, plain Croston and plain TSB are not part of the engine; they survive only on old records, and forecast no line.

## How a line's sales pattern is read

The re-score first sorts each line by its selling pattern, from how often it sells and how much each sale varies: steady, erratic, intermittent (sells now and then) or lumpy (now and then, in uneven amounts). A line with too few sales to sort is a fallback line. Each pattern has a default method: gradient-boosted trees for steady and erratic lines, Seasonal TSB for intermittent and lumpy lines, and the moving average for a fallback line, unless it has a full year of history behind it, which defaults instead to Same week last year. Confidence sorts lines by the same cut-offs, so the two never read a pattern differently.

## How the Monday re-score chooses a method

The re-score runs every Monday at 06:45 UTC, fifteen minutes after the accuracy pass, for each product and channel that sold at least once in the last 365 days. Every method is trained on the line's history up to a cut-off and asked to forecast the 13 weeks after it, which it has not seen. That is done at up to three cut-offs, each 13 weeks earlier than the last and each leaving at least 52 weeks to learn from (39 for a declared continuity line not measured seasonal, or for a workspace with the relaxed floor switched on), so a line needs about 65 weeks of sales before even one cut-off can be scored (52 with the relaxed floor), and about 91 weeks for all three. The misses are added up across the cut-offs. Where the org's own LightGBM backtest has already scored a comparable 8-week holdout for the pair, that one shared window replaces the three rolling cut-offs, and it alone decides the method.

What decides depends on the pattern. Steady, erratic and fallback lines are judged on WMAPE, the units missed week by week over the units sold. Intermittent and lumpy lines are judged on RMSSE, the squared weekly miss scaled by the line's own week-to-week change, because on a mostly-zero line WMAPE rewards a forecast of zero forever. The method with the lowest error wins. An exact tie goes to the pattern's default, and where no method could be scored the default stays.

On Tightly Pro, a style in a declared commitment is scored within its selling dates, the earlier windows of the same season; every other line is scored from its first sale, which is how every line is scored on the other plans.

## Lines too short for a re-score

A line with less than about 65 weeks of sales, or one where no method scored, keeps its pattern's default. It still forecasts from its own sales; only the method was borrowed. Its chip reads Borrowed method, and its hover says so. A line that is still selling is building the record a re-score needs.

## When the chosen method cannot run

If the chosen method cannot produce a curve on a run, the line is served by the best other method the re-score measured for it, or the moving average where none was measured. The engine's word for that is Fallback method, and no line prints it; a run where lines were not rewritten reads Partial.

## What you can and cannot change about the method

Nobody picks, pins or overrides a line's method, on any plan: the re-score's measurement decides. Recalculate now rebuilds the forecast with the methods already chosen and never re-runs the re-score. A Manual forecast changes the figure a line plans with, never its method. On Essentials and above, Ask Tightly can read how many products each method serves and which lines changed method at the last re-score. See [The forecasting engine](../engines/forecasting), [Forecast accuracy](../engines/forecast-accuracy) and [The forecast's words](../demand/forecast-words).

## Glossary line

The Monday re-score picks each line's forecast method from its own sales, lowest error wins, and a line too short for it borrows its pattern's default.
