Janus / Guides / BFAST

Change detection · regular series

BFAST, step by step.

The BFAST family splits a regular series into a trend and the seasons, and looks for the dates where either breaks. Janus has three of them: BFAST, which searches trend and season apart; BFAST Lite, one faster pass; and BFAST Monitor, which watches for the first departure from a stable history.

01The idea

A vegetation index over the years is the sum of a trend (the slow rise or fall of the cover), a season (the yearly cycle, modelled with harmonics) and noise. BFAST (Verbesselt et al. 2010) fits both and tests whether they hold over the whole series; where they do not, it finds the dates of the breaks: a jump of the trend (a clearing, a fire, a new crop) or a change of the seasons (a field turned into a forest, or a double crop). Between two breaks, each part has its own straight trend.

Trend break
The level of the series jumps, or its slope changes.
Season break
The shape of the yearly cycle changes.
Magnitude
The model after the break minus the model before it, on the first observation after it.

The three tools need a regular series (evenly spaced dates: 16-day, monthly) with at least two observations a year. A missing date must be a date with no data, not a date left out: the seasons are fitted on the time axis.

ToolFindsSpeed
BFASTBreaks of the trend and of the season, apart, by iterating the two.slowest
BFAST LiteBreaks of one model with trend and season, the number chosen by the LWZ criterion (Masiliunas et al. 2021).faster
BFAST MonitorThe first date, after a stable history, where the observations leave the model (Verbesselt et al. 2012).fast

02The example

MODIS EVI every 16 days, January 2001 to December 2025 (575 dates), at 250 m, over 170 × 170 km of western France: fields of cereals and sunflowers, grassland, woods. One GeoTIFF with a band per date, named EVI_2001_01_01 and so on: Janus reads the dates from the names. Dates without a clear value are no data, so the series stays regular.

The EVI of July 2025 over the area, fields in light colours and woods in green, a pin, and its 25-year series on the chart with a yearly cycle.
The series in July 2025 and a pin on a pixel whose level fell in the early 2010s.

03BFAST

Tools → Change detection → BFAST. On the chart, the fitted model (trend plus season) and, lighter, the trend alone, with a vertical line at each break.

BFAST's window with its parameters, an estimated 14 minutes for the whole image; on the chart the EVI series, the model and the trend in three parts; the Statistics table with two trend breaks.
BFAST on the pin: two trend breaks, in September 2006 (+0.10) and April 2013 (−0.11), no season break.
The chart: the EVI observations, BFAST's model with three trend segments separated by breaks in 2006 and 2013.
The trend falls in three steps; the season keeps its shape.
ParameterDefaultWhat it does
Min segment size0.15The shortest segment, as a share of the valid observations: no two breaks closer than that.
Max trend breaks / season breaks5 / 5The most breaks searched for in each component.
Harmonic order3Pairs of sines and cosines of the season: 1 is a single wave a year, 3 allows a double crop.
Significance level0.05A component is searched for breaks only when the OLS-MOSUM test says it is not stable at this level.
Max iterations10Rounds of trend and season re-estimation.
Min observations20Pixels with fewer valid observations are not fitted.

BFAST is thorough and slow: its window estimates 14 minutes for this image of 0.46 million pixels on every core. Use it on the chart, on an ROI or on the visible area.

04BFAST Lite

BFAST Lite fits one model, trend and season together, with up to Max breaks breaks, and picks how many by the LWZ information criterion. On the same pin it finds the 2013 break alone, with a jump of −0.23:

The chart: BFAST Lite's model with one break in early 2013, the level lower after it.
One break, March 2013.
The Statistics table: BFAST Lite, 1 break in 2013-03 with a jump of -0.234, LWZ -1118.3, 537 valid observations.
Its jump and the LWZ of the model kept.

A break is a sudden change, not any change. On another pin whose EVI fell slowly over the years, BFAST Lite keeps a single segment: the decline is the trend.

The chart of a second pin: a slow decline of the EVI fitted with one trend and its seasons, without a break.
No break: a slow decline is a trend.

05BFAST Monitor

BFAST Monitor asks another question: from a date on, does the land still behave as it did? It fits a stable model of trend and season on the history, everything before Monitoring start, and flags the first date in the monitoring period where the moving sum of the residuals leaves its boundary.

BFAST Monitor's window with monitoring from 2010; on the chart the history model and, lighter, its projection over the monitoring period; the Statistics table with a break in May 2013.
Monitoring from 2010: the history's model, projected over the monitoring period, and the break flagged in May 2013.
ParameterDefaultWhat it does
Monitoring start0A decimal year (2010 here); 0 monitors the last quarter of the series.
MOSUM window0.25The moving sum's window, as a share of the history.
Monitoring period10×How long the monitoring may be, relative to the history (it sets the boundary).
Harmonic order3The season's harmonics.
Significance level0.05Of the boundary: lower, fewer and surer breaks.
Min history obs.10Pixels with fewer valid observations in the history are not fitted.

The history has to be stable: a break inside it spoils the model every later date is compared with. Pick the start after the changes you are not interested in.

06Running it on the image

The estimates in the three windows tell which to run where: on this image BFAST would take a quarter of an hour and BFAST Lite most of an hour (a zoomed-in area or an ROI takes a minute or two), BFAST Monitor seconds for the whole image (4 s here). The run below is BFAST Monitor from 2010, over every pixel.

The Tasks panel with the BFAST Monitor run over the whole image.
Tasks: the run and its progress.

07The maps

The date of the break BFAST Monitor flagged after 2010 over the whole area, coloured from 2010 to 2025; pixels without a break show the EVI.
Break date: when each pixel first left its 2001–2009 behaviour.

Nearly every pixel breaks. That is not BFAST Monitor failing: in farmland the rotation changes the crop, and so the season, from one year to the next, and no model of 2001–2009 holds for long. BFAST Monitor is made for land that should stay the same (a forest, a protected area), where a departure is news. The magnitude says which way the land went:

The magnitude of the breaks, the median residual after the break, in red where the EVI fell below the history and in blue where it rose.
Magnitude, the median residual after the break: red where the EVI fell below what the history predicts, blue where it rose.
ToolMaps
BFASTTrend breaks, season breaks, date and magnitude of the largest trend break.
BFAST LiteBreaks, date and magnitude of the largest break, date of the first.
BFAST MonitorBreak date, magnitude (median residual), break detected (0/1).

A break's date is that of the first observation after it, as in Zeit's extract_events. Hover the map with a result on top: the chart shows the pixel's series with the model, to see what each colour stands for.

08What next

  • The seasons themselves: Phenology reads the start, peak and end of each season from the same kind of series.
  • Several detectors: Tools → Change detection → Agreement of change maps maps where BFAST, LandTrendr or CCDC agree.
  • Validate the dates: the Validation guide.
  • Script it: zeit.bfast, zeit.bfast_lite and zeit.bfast_monitor in Python.

09References

  • Verbesselt, J., Hyndman, R., Newnham, G., Culvenor, D. (2010). Detecting trend and seasonal changes in satellite image time series. Remote Sensing of Environment, 114, 106–115.
  • Verbesselt, J., Zeileis, A., Herold, M. (2012). Near real-time disturbance detection using satellite image time series. Remote Sensing of Environment, 123, 98–108.
  • Masiliunas, D., Tsendbazar, N.-E., Herold, M., Verbesselt, J. (2021). BFAST Lite: a lightweight break detection method for time series analysis. Remote Sensing, 13(16), 3308.
  • Zeit: the change detection library behind the tools of Janus.