| Species | Country | Survey | Roosts | Site-years | Mean sites per year |
|---|---|---|---|---|---|
| Greater horseshoe bat | Great Britain | Roost Count & Hibernation Survey | 135 | 2867 | 106.2 |
| Greater horseshoe bat | England | Roost Count & Hibernation Survey | 78 | 1673 | 62.0 |
| Greater horseshoe bat | Wales | Hibernation Survey | 56 | 1161 | 43.0 |
| Brown long-eared bat | Great Britain | Roost Count & Hibernation Survey | 320 | 6763 | 250.5 |
| Brown long-eared bat | England | Roost Count & Hibernation Survey | 250 | 5319 | 197.0 |
| Brown long-eared bat | Wales | Hibernation Survey | 50 | 1048 | 38.8 |
Bat population trends
A worked example of the annual trend analysis
This document is a worked example of the annual population trend analysis for a long-running volunteer bat monitoring scheme. It follows two species through the full chain: site-level counts, a generalized additive model of the trend, confidence limits from a site-level bootstrap, and the reported long- and short-term change, together with the interactive and document outputs a reporting team receives.
1 Purpose
A volunteer bat monitoring scheme produces one thing above all: a defensible statement about whether populations are going up or down. That statement has to be produced every winter, to a fixed reporting deadline, in a form that feeds official statistics and government biodiversity indicators, and it has to remain reproducible long after the analyst who produced it has moved on.
This document works through that task for two species, chosen because they pose different problems. Greater horseshoe bat has a restricted range and a small number of monitored roosts, so precision is the constraint. Brown long-eared bat is widespread and well monitored, so the question is whether a small movement is real. Each is reported for Great Britain and, separately, for England and Wales, following the geographic breakdown these schemes use.
2 Data and methods
2.1 The data
Roost counts share a set of properties that shape every modelling decision that follows. Colony sizes differ by an order of magnitude between roosts, so a handful of large colonies would otherwise dominate any average. Counts vary far more from year to year than a Poisson process allows, because emergence counts depend on weather, timing and observer. And the panel is never balanced: roosts join the scheme, drop out, and miss the occasional year.
The site-level data used here are simulated with those properties built in. Table 1 summarises the six series.
Across all six series the median variance-to-mean ratio between roosts is 8.8. A Poisson process would give 1. That single number is the reason the model below uses a negative-binomial family: fitting a Poisson model to counts like these produces standard errors that are far too small, and a trend that looks more certain than it is.
2.2 The model
The trend is estimated with a generalized additive model, following the approach established for volunteer schemes by Fewster et al. (2000) and implemented with mgcv (Wood 2017). A smooth function of year describes the trajectory without forcing it into a straight line, a site random effect absorbs the differences between roosts, and the negative-binomial family handles the overdispersion above.
\[ \log(\mathbb{E}[y_{it}]) = \alpha + f(\text{year}_t) + \beta\,\text{obs}_{it} + b_i, \qquad b_i \sim \mathcal{N}(0, \sigma_b^2), \qquad y_{it} \sim \text{NB}(\mu_{it}, \theta) \]
The index is the fitted smooth, evaluated for an average roost with the site effect excluded, and then scaled so that the baseline year equals 100. The scaling is a change of units only: the shape of the curve comes entirely from the model. Alongside it, the same model with year entered as a factor gives the unsmoothed annual values, which are plotted as points so a reader can see how much smoothing has been applied.
Confidence limits come from resampling roosts, with the model refitted on each replicate. This matters more than it might appear. The dominant source of uncertainty in a volunteer scheme is which roosts happen to be in the sample, and an interval built from residual variation alone would be far too narrow.
Method: REML Optimizer: outer newton
full convergence after 6 iterations.
Gradient range [0.0004154061,0.001528419]
(score 15074.84 & scale 1).
Hessian positive definite, eigenvalue range [1.958589,1280.683].
Model rank = 146 / 146
Basis dimension (k) checking results. Low p-value (k-index<1) may
indicate that k is too low, especially if edf is close to k'.
k' edf k-index p-value
s(year) 9.0 5.7 0.98 0.5
s(site) 135.0 129.9 NA NA
2.3 Reporting conventions
Long-term change is assessed between the baseline year 1999 and the penultimate year of monitoring, 2024. Short-term change is assessed over the five years preceding it. The final year is shown in the figures as a dashed line but is not used in the change assessment, because the smoothed estimate for the most recent year shifts as further data are added.
3 Greater horseshoe bat
Rhinolophus ferrumequinum
Population indices are calculated for greater horseshoe bat for Great Britain and at a country level for England and Wales. The species has a restricted range in the UK, confined to south-west England and south Wales, and is absent from Scotland and Northern Ireland. Roost counts and hibernation counts are combined for Great Britain and England; the Welsh index rests on hibernation counts alone.
Because the number of monitored roosts is small, this species shows what limited survey effort does to precision: the trend is clear, but the confidence limits are wide, and they widen further at the country level where the sample is divided.
3.1 Great Britain trend
In Great Britain, the combined Roost Count and Hibernation Survey index for greater horseshoe bat has increased significantly since 1999, and has increased significantly over the last five years (2019-2024).
The index is shown in Figure 3, the fitted model in Table 2, and the modelled values by year in Table 3.
Between 1999 and 2024 the smoothed population index significantly increased by 178.3% (95% CI 156.6% to 204.3%).
Over the last five years (2019-2024) the smoothed population index has significantly increased by 38.2% (95% CI 30.7% to 46.3%).
From 1999-2025 an average of 106.2 sites per year contribute to the trend analysis.
| Term | Type | Estimate | Std. error | edf | Ref. df | Statistic | p value |
|---|---|---|---|---|---|---|---|
| (Intercept) | Parametric | 4.568 | 0.050 | NA | NA | 90.74 | < 0.001 |
| observer_exp | Parametric | 0.036 | 0.009 | NA | NA | 4.08 | < 0.001 |
| s(year) | Smooth | NA | NA | 5.75 | 6.91 | 126.27 | < 0.001 |
| s(site) | Smooth | NA | NA | 130.09 | 134.00 | 32.81 | < 0.001 |
Negative binomial GAM with log link; 2,867 observations from 135 roosts; deviance explained 64.6 %; confidence limits from 200 site-level bootstrap replicates.
3.2 England trend
In England, the combined Roost Count and Hibernation Survey index for greater horseshoe bat has increased significantly since 1999, and has increased significantly over the last five years (2019-2024).
The index is shown in Figure 4 and the fitted model in Table 4.
Between 1999 and 2024 the smoothed population index significantly increased by 128.2% (95% CI 98.8% to 159.7%).
Over the last five years (2019-2024) the smoothed population index has significantly increased by 29.7% (95% CI 20.4% to 38.1%).
From 1999-2025 an average of 62.0 sites per year contribute to the trend analysis.
| Term | Type | Estimate | Std. error | edf | Ref. df | Statistic | p value |
|---|---|---|---|---|---|---|---|
| (Intercept) | Parametric | 4.747 | 0.074 | NA | NA | 64.41 | < 0.001 |
| observer_exp | Parametric | 0.041 | 0.012 | NA | NA | 3.48 | < 0.001 |
| s(year) | Smooth | NA | NA | 5.32 | 6.45 | 47.53 | < 0.001 |
| s(site) | Smooth | NA | NA | 75.26 | 77.00 | 44.81 | < 0.001 |
Negative binomial GAM with log link; 1,673 observations from 78 roosts; deviance explained 70.2 %; confidence limits from 200 site-level bootstrap replicates.
3.3 Wales trend
In Wales, the Hibernation Survey index for greater horseshoe bat has increased significantly since 1999, and has increased significantly over the last five years (2019-2024).
The index is shown in Figure 5 and the fitted model in Table 5.
Between 1999 and 2024 the smoothed population index significantly increased by 296.1% (95% CI 262.1% to 351.1%).
Over the last five years (2019-2024) the smoothed population index has significantly increased by 61.6% (95% CI 50.8% to 75.7%).
From 1999-2025 an average of 43.0 sites per year contribute to the trend analysis.
| Term | Type | Estimate | Std. error | edf | Ref. df | Statistic | p value |
|---|---|---|---|---|---|---|---|
| (Intercept) | Parametric | 4.568 | 0.070 | NA | NA | 65.04 | < 0.001 |
| observer_exp | Parametric | 0.065 | 0.013 | NA | NA | 4.88 | < 0.001 |
| s(year) | Smooth | NA | NA | 5.5 | 6.64 | 93.79 | < 0.001 |
| s(site) | Smooth | NA | NA | 53.1 | 55.00 | 29.40 | < 0.001 |
Negative binomial GAM with log link; 1,161 observations from 56 roosts; deviance explained 67.0 %; confidence limits from 200 site-level bootstrap replicates.
3.4 Comparison across the three scales
Table 6 brings the three geographic scales together.
4 Brown long-eared bat
Plecotus auritus
Population indices are calculated for brown long-eared bat for Great Britain and at a country level for England and Wales. The species is widespread across the UK and is monitored at a substantially larger number of roosts than greater horseshoe bat.
This species poses the opposite problem. With several hundred contributing roosts the confidence limits are narrow, and the analytical question is no longer whether a large movement can be detected but whether a small one is real, and whether it matters.
4.1 Great Britain trend
In Great Britain, the combined Roost Count and Hibernation Survey index for brown long-eared bat has increased significantly since 1999, and has increased significantly over the last five years (2019-2024).
The index is shown in Figure 6, the fitted model in Table 7, and the modelled values by year in Table 8.
Between 1999 and 2024 the smoothed population index significantly increased by 11.6% (95% CI 4.8% to 19.9%).
Over the last five years (2019-2024) the smoothed population index has significantly increased by 8.5% (95% CI 3.9% to 13.6%).
From 1999-2025 an average of 250.5 sites per year contribute to the trend analysis.
| Term | Type | Estimate | Std. error | edf | Ref. df | Statistic | p value |
|---|---|---|---|---|---|---|---|
| (Intercept) | Parametric | 3.228 | 0.035 | NA | NA | 93.20 | < 0.001 |
| observer_exp | Parametric | 0.044 | 0.006 | NA | NA | 7.28 | < 0.001 |
| s(year) | Smooth | NA | NA | 5.36 | 6.49 | 11.18 | < 0.001 |
| s(site) | Smooth | NA | NA | 309.37 | 319.00 | 31.41 | < 0.001 |
Negative binomial GAM with log link; 6,763 observations from 320 roosts; deviance explained 61.3 %; confidence limits from 200 site-level bootstrap replicates.
4.2 England trend
In England, the combined Roost Count and Hibernation Survey index for brown long-eared bat has increased significantly since 1999, and has increased significantly over the last five years (2019-2024).
The index is shown in Figure 7 and the fitted model in Table 9.
Between 1999 and 2024 the smoothed population index significantly increased by 9.9% (95% CI 2.5% to 17.6%).
Over the last five years (2019-2024) the smoothed population index has significantly increased by 15.6% (95% CI 10.9% to 21.1%).
From 1999-2025 an average of 197.0 sites per year contribute to the trend analysis.
| Term | Type | Estimate | Std. error | edf | Ref. df | Statistic | p value |
|---|---|---|---|---|---|---|---|
| (Intercept) | Parametric | 3.340 | 0.039 | NA | NA | 85.84 | < 0.001 |
| observer_exp | Parametric | 0.049 | 0.007 | NA | NA | 7.33 | < 0.001 |
| s(year) | Smooth | NA | NA | 5.41 | 6.55 | 11.61 | < 0.001 |
| s(site) | Smooth | NA | NA | 241.57 | 249.00 | 31.73 | < 0.001 |
Negative binomial GAM with log link; 5,319 observations from 250 roosts; deviance explained 61.1 %; confidence limits from 200 site-level bootstrap replicates.
4.3 Wales trend
In Wales, the Hibernation Survey index for brown long-eared bat has decreased significantly since 1999, and has shown no statistically significant change over the last five years (2019-2024).
The index is shown in Figure 8 and the fitted model in Table 10.
Between 1999 and 2024 the smoothed population index significantly decreased by 34.4% (95% CI -43.8% to -24.1%).
Over the last five years (2019-2024) the smoothed population index has increased by 6.4% (95% CI -5.7% to 20.0%), however this change is not statistically significant.
From 1999-2025 an average of 38.8 sites per year contribute to the trend analysis.
| Term | Type | Estimate | Std. error | edf | Ref. df | Statistic | p value |
|---|---|---|---|---|---|---|---|
| (Intercept) | Parametric | 2.834 | 0.084 | NA | NA | 33.72 | < 0.001 |
| observer_exp | Parametric | 0.052 | 0.017 | NA | NA | 2.99 | 0.003 |
| s(year) | Smooth | NA | NA | 4.50 | 5.52 | 24.80 | < 0.001 |
| s(site) | Smooth | NA | NA | 47.13 | 49.00 | 24.34 | < 0.001 |
Negative binomial GAM with log link; 1,048 observations from 50 roosts; deviance explained 56.7 %; confidence limits from 200 site-level bootstrap replicates.
4.4 Comparison across the three scales
Table 11 brings the three geographic scales together, and Figure 9 sets both species side by side.
4.5 Reading the two species together
5 Where the change is happening
A national index answers how a population is doing, but not where. Mapping the same fitted quantities at roost level turns the index into something a regional officer or a volunteer coordinator can act on, and it often reveals that a flat national figure is the average of two opposite regional stories.
The locations below are simulated and bear no relationship to real roosts. The map is also deliberately limited in zoom: bat roosts are legally protected and their coordinates are treated as confidential, so a map that can be zoomed to an individual building is not an acceptable output, even from simulated data. In an operational product the resolution, and whether points or a coarse grid are used, would be agreed with the data owner before anything is published.
| Direction | Roosts |
|---|---|
| Decline | 93 |
| Increase | 73 |
| Stable | 154 |
The layer control at the top right switches between three views of the same roosts. Site trend colours each roost by the direction of its own long-run change. Index 2023 and Index 2024 show each roost against its own baseline in that year, so a large colony and a small one are on the same scale. Marker size is the count, and clicking a roost opens its record.
Basemap tiles are fetched when the page is opened; every other element of this document, including the map markers and all figures and tables, is embedded in the file and works offline.
6 Deliverables
The analysis is only useful once other people can work with it. Reporting teams need the numbers in the formats they actually edit: a workbook they can pull figures from, and a document they can shape into an annual report. Both are generated from the same objects that produced the figures above, so a published table cannot drift away from the analysis behind it.
| Deliverable | File | Contents |
|---|---|---|
| Results workbook (Excel) | not generated | Cover sheet, index by year for all six series, change and magnitude |
| Editable summary (Word) | not generated | Headline figure and change table, ready to edit |
The workbook follows the Government Analysis Function spreadsheet guidance: a cover sheet stating source, licence and status, then one table per sheet with a single header row and no merged cells, so that it can be read by a person and by a machine.
Every table in this document also carries its own copy, CSV and Excel buttons, so a single table can be lifted out without opening the workbook.
7 Notes on approach
Four things I would bring to this work, beyond the analysis shown above.
A pipeline rather than a procedure. Everything in this document, from the raw counts to the workbook and the Word summary, is produced in one pass from documented code with a fixed random seed. The following year’s run is: drop in the new data, render, read the log. There is no step at which a number is copied by hand, which is the step at which published figures usually go wrong.
Validation at both ends. Before anything is modelled, the incoming data are checked against explicit expectations: label consistency, numeric fields that contain text, confidence limits that do not contain their own point estimate, series that are not anchored to a baseline, gaps within a series. The same principle is applied to what comes out. Every render checks that each estimate lies inside its own interval and that the bootstrap has converged, and says so in the document if it has not. The checks are cheap; their value is that nobody has to notice a problem by eye.
Magnitude reported alongside significance. A significance test answers whether change can be distinguished from no change; it says nothing about whether the change matters, and it is driven as much by survey size as by biology. Expressing each change as an annual rate and classifying it against the rates that would double or halve an index over 25 years, as the UK biodiversity indicators do, separates the two questions without replacing either.
Survey effort treated as its own piece of work. How many roosts each survey needs is a question with real budget consequences, and it deserves its own assumptions, its own deliverables and its own scope. I have carried out this kind of analysis before, quantifying precision across 19 monitoring areas and using simulated encounter rates to establish how precision responds to the number of monitoring stations (Wohlfahrt, Balkenhol, et al. 2025), with the underlying detection probability treated directly in a companion study (Wohlfahrt, Edelhoff, et al. 2025). It is not, however, a by-product of a trend report, and it is not presented as one here.
Reproducibility
Rendered: 28 August 2026, 13:05
R version: R version 4.5.3 (2026-03-11 ucrt)
Platform: x86_64-w64-mingw32/x64
Random seed: 2026
Bootstrap reps: 200
Analysis cache: computed, key 7c2201c241, 2026-08-28 13:05
Every figure and table in this document is produced directly by the analysis, in a single pass, with no manual step in between. The random seed is fixed and the package versions are recorded, so a re-run reproduces the numbers exactly. The source code is available for review on request.