Almost everything worth knowing arrives as a sequence in time. Sales by the day, patients by the week, transactions by the hour, a client’s engagement month after month. Time series analysis is the discipline of reading the signal in those sequences, separating what recurs from what trends from what is merely noise, and projecting the pattern forward. We worked closely with these methods when building a seasonal forecasting model in 2021, and the experience left us with a clear view of how far the field has come and where it remains genuinely difficult. The tools have improved out of recognition. The underlying problem, in finance especially, has not become much easier to get right.

The classical foundation

The discipline rests on a foundation laid decades ago. The Box-Jenkins methodology of the 1970s gave the field its workhorses, the autoregressive and moving-average models known as ARMA and ARIMA, which describe a series in terms of its own past values and past errors. They were a genuine advance, they remain in heavy use today, and any serious treatment of forecasting still begins with them. They also carry assumptions, chiefly that the series is stationary or can be made so, and that its structure is stable enough for the recent past to instruct the near future. Those assumptions hold well in many domains and poorly in others, and knowing which is which is much of the skill.

When the classical tools do not fit

We found, in 2021, that the classical tools did not fit the problem in front of us. The task was to forecast client activity across daily and monthly horizons, a series shaped strongly by season, by the time of year, and by the rhythms of institutional behaviour, and the standard ARIMA approach was not the right instrument for it. What served instead was decomposition. We turned to STL, Seasonal-Trend decomposition using Loess, a method developed by Cleveland and colleagues in 1990 and by then available as a mature Python library (Cleveland, Cleveland, McRae, & Terpenning, 1990). Rather than model the series as a single process, STL separates it into three parts: a trend, a seasonal component that is allowed to change over time, and a remainder. That separation suited the problem exactly. It let the model capture the recurring shape of client engagement while tracking the slower drift beneath it, and it was robust to the occasional unusual observation in a way the classical models were not.

The result predicted future client engagement across daily and monthly horizons, fed visual dashboards that flagged when each client was next expected to engage, and so enabled timely, personalised outreach. It was more accurate than the legacy approach it replaced, and it was integrated into the firm’s analytics platform, contributing to measurable gains in client retention and sales effectiveness. The technical lesson was simple and durable: match the method to the structure of the data, rather than reaching for the most familiar tool.

Why forecasting has become easier

What has changed most since then, and what we witnessed directly, is how much easier good forecasting has become. Not long before, the practitioner worked with a limited set of R libraries and a fair amount of hand-built code, and applying a method like STL meant real implementation effort. Within a few years the landscape transformed. Mature, well-documented libraries in Python and R put decomposition, state-space models, exponential smoothing, and automated model selection within reach of any developer. Tools emerged that would fit a seasonal model with minimal configuration, and later ones brought machine-learning and deep-learning forecasters to the same level of accessibility. Forecasting that once demanded a specialist now takes a competent developer an afternoon. That democratisation is the same arc we have watched across optimisation, big data, and recommendation: a hard, bespoke capability becomes commoditised, and the work moves up from implementing the method to choosing and interpreting it well.

Why finance stays hard

Easier to apply is not the same as easy to get right, and here finance stands apart. A genome, a weather system, or a manufacturing process is complex, but its time series is governed largely by the process itself. Financial series are not. They are codependent on a web of other variables, influenced by what else is happening at that moment in the markets, by the time of year, by sentiment, by policy, and by events of a magnitude that no amount of historical data anticipates. The 2008 crash is the standard illustration: a forecast trained on prior behaviour had no means of foreseeing it, because the event lay outside everything the series had previously expressed. Isolating the effect of any one variable is extraordinarily difficult when so many move together and influence one another. This is why financial forecasting remains harder than forecasting in many data-rich domains that appear, on the surface, more complex. The difficulty is not volume. It is codependency, regime change, and the persistent intrusion of the genuinely unprecedented.

Where it goes from here

What we take from this is the same theme that runs through the technologies we have written about, with one financial caveat. The methods have matured, the tooling has made them widely available, and the binding constraint has moved from implementation to judgement. The forecaster’s task is no longer chiefly to build the model. It is to understand the structure of the data well enough to choose the right approach, to know what the model can and cannot see, and to hold an appropriate humility about a series whose future may not resemble its past. In finance that humility is not optional. The tools will keep improving, and they should be welcomed. They will not relieve the practitioner of the harder work, which is knowing the limits of what any forecast can honestly claim.

The last of three notes on prediction in finance, after customer value modelling and recommender systems; on the responsibility that this reach carries, see Foresight, Not Hindsight.