A forecasting engine arranged to generate a forecast for a set of historic
time-series data. The engine includes one or more one or more generically
structured core algorithmic components providing a core function in a
forecasting heuristic algorithm, and one or more generically structured
optional algorithmic components providing an optional function in the
forecasting heuristic algorithm. Each algorithmic component is
individually tuned in a predetermined sequence, and the first algorithmic
component in the sequence performs a tuning process on the set of
historic time-series data. Subsequently, algorithmic components are tuned
using time-series data conditioned by ail of the tuning processes
previously performed in the predetermined sequence. The entire sequence
of algorithmic components is arranged to collectively provide conditioned
data which is used to generate a forecast.