Time-series analysis in monitoring - trends, seasonality, anomalies

Knowledge base · July 15, 2026

A single reading means little. Only a time series shows whether something is rising, falling, returning each year, or has suddenly “shot up”. This article says what to look for in such a chart and with which tools.

Three things we read from a series

  • Trend - the long-term direction (e.g. a slowly rising phosphorus concentration over the years). It answers the question “are things getting better or worse”.
  • Seasonality - a repeating annual or daily rhythm (e.g. summer minima of oxygen, night-time drops, spring blooms). It has to be recognised so as not to confuse it with a trend.
  • Anomalies - single, unusual deviations (e.g. a spike in turbidity after heavy rain). Some are real events, some are measurement errors.

Interpretation tools - with names and conditions of use

QuestionMethodHow much data is neededWhat to watch out for
Is there a trend?Mann-Kendall test (non-parametric, robust to outliers and to non-normal distributions)in practice from n ≥ 8-10 pointswith positively autocorrelated (time-correlated) data it understates p - see below
How strong is the trend?Sen’s slope (the median of the slopes of all pairs of points)as abovegives change per unit of time, not “significance”
Season or change?year-on-year comparison for the same month≥ 2-3 full cycles (24-36 monthly points)one season is not enough for any conclusion
Smoothing noisemoving average with a window equal to the full cycle (12 months for monthly data)the window plus a few pointsa shorter window does not remove seasonality, it only smears it
Is this point an anomaly?I-MR control chart (Shewhart)≥ 20-25 points for credible limitslimits are computed from a stable period; with positive autocorrelation (dense readings) they come out too narrow
Do two indicators move together?Spearman correlation (rank-based - it assumes no linearity)n ≥ 10-15correlation ≠ cause; mind the spatial scope as well

The limits of an I-MR chart are not computed from the standard deviation of the whole series but from the moving range: σ̂ = MR̄ / 1.128 (the d₂ constant for a two-element window), and the limits are the mean ± 3σ (warning limits ± 2σ). This detail matters: a standard deviation taken from the whole series contains the trend and the season, so the limits would become too wide and let some anomalies through. The moving range has a weakness of its own, though: under positive autocorrelation neighbouring readings resemble each other, so it understates σ and the limits come out too tight - some ordinary points then look like anomalies.

⚠️ A trap few people write about: environmental data are correlated in time. A probe measuring every 15 minutes does not give 96 independent observations per day - the next reading largely repeats the previous one. Tests that assume independent observations (including Mann-Kendall and the significance test of a correlation) understate p under positive autocorrelation, that is, they show significance where there is none. (Negative autocorrelation would work the other way, but it almost never occurs in environmental series.) The Hamed-Rao correction for Mann-Kendall or an effective sample size n_eff restore the right scale: a trend that is “significant” on the raw data can stop being significant after correction, and a month of daily measurements may be worth only a handful of independent observations, not 31 - with denser sampling the gap is even larger. Check the test’s assumptions before you accept a trend.

The most common mistakes

  • Confusing seasonality with a trend - “rising” in July does not mean “rising year on year”.
  • Uneven intervals / gaps - they affect averages and charts; it is worth marking them, not hiding them.
  • Reacting to a single point - an anomaly is only confirmed by the next measurement or by context.
  • A “categorical” time axis - dates must be treated as time (proportionally), not as labels.
  • Mixing stations in one series - data from several sites glued together describe a spatial gradient, not a process in time; it can even reverse the sign of a relationship.
  • Treating dense sampling as a larger sample - see above: the number of rows is not the number of independent pieces of information.

Sources

  • Mann-Kendall test: Mann H.B. (1945), Nonparametric tests against trend, “Econometrica” 13(3): 245-259, doi:10.2307/1907187; Kendall M.G. (1975), Rank Correlation Methods.
  • Sen’s slope: Sen P.K. (1968), Estimates of the regression coefficient based on Kendall’s tau, “Journal of the American Statistical Association” 63(324): 1379-1389, doi:10.1080/01621459.1968.10480934.
  • Correction for autocorrelation: Hamed K.H., Rao A.R. (1998), A modified Mann-Kendall trend test for autocorrelated data, “Journal of Hydrology” 204(1-4): 182-196, doi:10.1016/S0022-1694(97)00125-X.
  • Control charts and the d₂ constant: classic SPC methodology (Shewhart); the constant 1.128 applies to a moving range with a window of 2.

In practice

Good analysis starts with an orderly, continuous series at fixed points. In LimnoLog measurements immediately form charts over time (with a season comparison). You can export the full dataset to Excel or prepare it for statistical analysis when you need deeper methods.

See it in the LimnoLog app

Explore LimnoLog features
Knowledge base