Opens in a new tab

Time series analysis and forecasting

Characterising the signal and forecasting with intervals: trend, seasonality, ARIMA and modern model families

What it is

Statistical analysis of time-indexed data to understand their structure and project how they will evolve. We characterise the trend, seasonality and cycles of a series, and compare the temporal dynamics of two or more series.

On that basis, we build forecasting models with a defined horizon and quantified intervals, validated against the series' own history rather than by how well they fit the data already known.

Objectives

  • Characterise the trend, seasonality and cycles of a series, separating signal from noise.
  • Compare the temporal dynamics of two or more series to assess whether they evolve in the same way, diverge or are coupled.
  • Forecast future evolution over a defined horizon, with prediction intervals that quantify the uncertainty.
Key points

Trend and comparison between series

  • Estimation of the underlying trend using regression, smoothing and filters, separating it from short-term fluctuation.
  • Comparison of the temporal dynamics of two or more series to assess parallel evolution, divergence or coupling.
  • Testing for changes in level or slope at breakpoints when the series is not homogeneous across its whole span.

Seasonality and spectral structure

  • Formal stationarity testing with unit root tests: augmented Dickey-Fuller and KPSS.
  • Decomposition of the signal through Fourier analysis, the periodogram and STL decomposition to identify its component frequencies.
  • Detection of multiple or overlapping seasonalities that visual inspection of the chart cannot separate.

Forecasting with ARIMA and modern model families

  • ARIMA and SARIMA models for series with temporal dependence and regular seasonality.
  • Modern families chosen by the structure of the data: exponential smoothing and state space models (ETS), TBATS for multiple seasonalities, Prophet and machine learning methods when the complexity justifies it.
  • Forecasts always come with intervals, not just a point value: the horizon is delivered with its uncertainty quantified.

Honest temporal validation

  • Validation on rolling windows that respect the order of time, without contaminating the fit with future information.
  • Model comparison by out-of-sample forecast error, not by goodness of fit to the data already known.
  • Residual diagnostics to check that the model has captured the structure and leaves no signal unexplained.

What it is for

  • Anticipate how an indicator will evolve, such as demand, consumption, incidence or exposure, with an explicit horizon and margin of error to plan around.
  • Know whether what looks like a trend or a seasonal pattern really is one, backed by a statistical test rather than a reading of the chart.
  • Compare how two or more series evolve over time to support a claim about their dynamic relationship.
Why choose this service

Whether a series rises, falls or repeats every year is not read off the curve: it is tested

Reading a trend or seasonality by eye leads to mistaking noise for signal, and to projecting forward a pattern that was never there. A time series has trend, seasonality and dependence, and each is tested with its own method. When that structure is properly characterised, the forecast stops being a visual extrapolation and comes with a defensible interval.

Signal is separated from noise by method, not by eye

It is not enough for a series to "look" seasonal or to seem to have a trend. We test stationarity with unit root tests (augmented Dickey-Fuller, KPSS) and decompose the signal with Fourier analysis and STL, so that every component we report comes with a test behind it, not with an inspection of the curve.

The model is chosen by the structure of the data

We don't apply ARIMA to everything by default. A series with a single regular seasonality, one with several overlapping seasonalities and one with regime shifts call for different models. We first assess dependence, seasonality and stationarity, then choose between ARIMA, ETS, TBATS, Prophet or machine learning methods according to what the data support.

Forecasts with an interval, not just a number

A forecast without a margin of error is a figure with no defence. We deliver the horizon with its prediction intervals, which quantify uncertainty and widen the further ahead you look, so that planning rests on a realistic range rather than a deceptively precise point.

Validation that respects the order of time

A model that fits the past perfectly can forecast the future very badly. We validate on rolling windows that respect the direction of time and compare models by their out-of-sample error, not by how well they reproduce the data they have already seen. The measure of quality is the forecast, not the fit.

Our process

What working with us looks like

We apply our D²I (Data to Insights) methodology to every service. A structured, iterative and transparent process that turns complex data into actionable knowledge.

01

Kick-off and problem definition

We meet with you to understand the clinical problem, the data available and the objectives of the project. We agree on deliverables, timelines and communication channels, and we sign whatever confidentiality agreements you need to protect your data.

02

Data review and preparation

We assess the quality of your data, identify inconsistencies and limitations, and structure the data for analysis. If critical information is missing, we tell you before going any further. We document every cleaning decision so that the process is traceable and reproducible. With time series, this includes checking the regularity of the sampling, handling gaps and missing values without breaking the temporal structure, and testing stationarity before modelling.

03

Analysis and modelling

We apply the statistical methodology that fits your questions. We work iteratively: we share preliminary results with you, discuss the findings and adjust the approach where needed. We do not work in the dark until the final delivery. For this service, we decompose the signal into trend, seasonality and remainder, select the model family that the structure of the data supports, and validate the forecast out of sample, respecting the order of time.

04

Communicating results

We turn the findings into the format you need: a technical report, tables and figures for publication, an interactive dashboard or an executive presentation. We always include the clinical interpretation, not just the figures.

05

Impact review session

30 days after delivery we meet with you again for a 60-minute strategy session. By then you have had time to present the results internally, the real implementation questions have come up and you can assess the impact of the work with some perspective. We answer your questions, adjust interpretations where necessary and agree together on the way forward.

This is our general process. If you want to understand how we apply it technically to each type of analysis, see our full D²I methodology.

Have a data project on your hands?

Tell us about your case and we will work out together how to approach it.

Book a session
FAQs

Frequently asked questions

I can see a trend (or a seasonal pattern) in my chart. Isn't that enough?

No. Reading a trend or seasonality by eye leads to mistaking noise for signal and to projecting forward a pattern that may never have been there. This applies to any time-indexed data, such as demand, consumption, incidence or exposure, about which you want to claim more than a visual impression. A time series has trend, seasonality and dependence, and each component is assessed with appropriate methods: whether a series rises, falls or seems to repeat every year is not read off the curve, it is tested. Inspecting the chart does not separate multiple or overlapping seasonalities, nor does it distinguish a real trend from a short-term fluctuation. Characterising the structure properly is what turns a visual reading into a defensible claim and, on that basis, into a forecast with an interval rather than an extrapolation by hand. What the service provides is the diagnostic evidence behind each component interpreted, not an interpretation of the shape of the curve.

How do you tell consistent temporal patterns from noise in a series?

By separating the structure of the series into its components with formal methods, not by visual inspection. This applies to any series whose trend, seasonality or cycles you want to characterise before modelling or drawing conclusions. The underlying trend is estimated using regression, smoothing and filters, separating it from short-term fluctuation; stationarity is tested with unit root tests such as augmented Dickey-Fuller and KPSS; and the signal is decomposed through Fourier analysis, the periodogram and STL decomposition to identify its component frequencies. That spectral decomposition reveals multiple or overlapping seasonalities that the chart cannot separate. When the series is not homogeneous across its whole span, changes in level or slope at breakpoints are also tested. What you receive is a characterisation of each component with the relevant diagnostics and tests, so that saying "there is a trend" or "there is annual seasonality" rests on a test, not on a reading of the curve.

Which model do you use for forecasting: ARIMA?

ARIMA is one of the models, not the only one: the model is chosen by the structure of the data, and ARIMA is not applied to everything by default. This applies to the forecasting stage, once the series has been characterised. A series with a single regular seasonality, one with several overlapping seasonalities and one with regime shifts call for different models. That is why dependence, seasonality and stationarity are assessed first, and the choice is made between ARIMA and SARIMA for temporal dependence and regular seasonality, exponential smoothing and state space models (ETS), TBATS for multiple seasonalities, and Prophet or other flexible methods when the structure of the series and the forecasting goal justify them. The choice is justified by what the data support, not by a preference for a tool. Applying the same model to any series is one of the most common mistakes in forecasting. What you receive is the model that the structure of the series justifies, not a single template for every series.

Do you give me a single forecast figure or a range? How reliable is it?

A horizon with its prediction intervals, not a single number: a forecast without a margin of error is a figure with no defence. This applies to any projection that will be used for planning, because deciding on a deceptively precise point means assuming a certainty that the data do not provide. The forecast always comes with intervals that quantify uncertainty and widen with distance in time: the further ahead, the wider the interval, because uncertainty accumulates. That lets you plan on a range consistent with the model and the observed history rather than on a single figure. An honest limit applies: the interval reflects the estimated uncertainty under the model and the observed structure; it cannot ensure that any future regime shift, or an event without precedent in the series, will be captured. Reliability also rests on out-of-sample validation, not on how well the model fits the past. What you receive is a horizon with its uncertainty made explicit, not a promise to hit the exact value.

How do I know the forecast is reliable, and not a model that only fits the past well?

By validating it against the series' own history while respecting the order of time, not by how well it reproduces the data already known. This applies to any forecasting model, because a model that fits the past perfectly can forecast the future very badly: fitting and forecasting are not the same thing. Validation is done on rolling windows that respect the direction of time, without contaminating the fit with future information, and models are compared by their out-of-sample forecast error, not by their goodness of fit to the data they had already seen. Residual diagnostics are added to this, checking that the model has captured the structure and leaves no signal unexplained. The measure of quality is the forecast, not the fit. That honest temporal validation is what helps distinguish a model whose predictive ability has been tested retrospectively from one that merely reproduces the past well and will fail as soon as the future departs from it.

Do you detect anomalies or outliers in the series in real time?

Not as the main purpose of the service: this service characterises the structure of a series and projects it; it does not monitor the series to raise alerts when a value deviates from what is expected. This limit is worth stating because "analysing a series" can be understood either way. Operational detection of anomalies or aberrations, which means comparing each new value against an expected value to trigger an alert, is the job of surveillance, an approach geared towards early warning rather than characterisation and forecasting. Here, by contrast, the focus is on understanding the structure of the series (trend, seasonality, dependence) and projecting its evolution with intervals. A good model of the series can be the foundation on which a detection system is later built, but that alert system is a separate piece of work. If the need is to monitor the series to detect deviations, that is surveillance; if it is to characterise and forecast it, that is this service.

I want to know whether an intervention changed my series. Is that something you do here?

Not directly: attributing a change in the series to the effect of an intervention is a causal question, different from characterising and projecting the series, which is what this service does. This applies when what you are after is not a forecast of how the series will evolve, but an estimate of whether a change point (a policy, a protocol, an event) altered its course. That analysis, using interrupted time series, synthetic controls and other quasi-experimental designs, belongs to causal inference or to impact evaluation, depending on the design and the context, because it requires building a counterfactual: what would have happened without the intervention. This service can test descriptively whether there is a change in level or slope at a breakpoint, but describing that change is not the same as attributing it causally to an intervention. If the question is "what effect did this intervention have on the series?", the framing is causal inference; if it is "how does the series behave and where is it heading?", it is this service.

What do I need to provide, and what kinds of series can you analyse?

You need the time-indexed series, meaning the indicator recorded at intervals with its timestamp, and the sampling should be as regular as possible, although handling gaps and missing values without breaking the temporal structure is part of the preliminary work. This applies to series from any domain, such as demand, consumption, incidence or exposure, because the methodological core of characterising the signal and forecasting is the same whatever the field. The client records and measures the series; the service checks the regularity of the sampling, characterises the structure, models, forecasts and validates. What shapes the scope is not the domain but the quality and length of the series: a short series or one with many gaps limits what can be estimated and projected, and we say so honestly before modelling. What you receive is the characterisation of the series and, where appropriate, its forecast with intervals, based on data that the client records and keeps.

Shall we talk?

Tell us what you are working on and we will give you a straight answer on how we can help.