Tracking population collapse in Bombus terricola, B. affinis, and four other at-risk species using GBIF occurrence records — and why raw trend lines would have told the wrong story.
Ontario is home to six bumble bee species listed under Canada's Species at Risk Act or provincially at risk, including the Yellow-banded bumble bee (Bombus terricola) and the Rusty-patched bumble bee (B. affinis), once one of the most common species in eastern North America. B. affinis has virtually disappeared — only one GBIF occurrence record exists for Ontario, and none since 2015.
Conservation teams and land managers need to know: where have these species been recorded, where are surveys most needed, and how have their proportions changed relative to common species over time? The challenge is that community science occurrence data (iNaturalist, GBIF) is heavily observer-biased — populated southern Ontario generates vastly more records than the boreal north, making raw count trends almost meaningless.
A naive look at B. terricola GBIF records shows the centroid of observations drifting south over time — the opposite of what a genuine northern range contraction would look like. The explanation is simple: iNaturalist adoption grew fastest in southern urban centres. More observers in the south means more records from the south, even if the species is holding steady or declining there.
Using raw counts as a trend indicator would produce a confidently wrong result. This is a common pitfall in community-science data analysis, and getting it wrong in a Species at Risk context has real consequences for survey prioritization and recovery planning.
Rather than trend raw counts, the tool uses two bias-resistant metrics:
The result: B. terricola sits roughly 206 km north of B. impatiens in the same-period comparison, consistent with its documented boreal affinity. Its proportion of Ontario records has declined meaningfully over the past two decades. B. affinis is functionally absent.
The dashboard is built in R/Shiny using the rgbif package for live
data pulls, leaflet for interactive mapping, and plotly
for time-series charts. It includes:
Data is cached on load to keep the app responsive without hammering the GBIF API. The full source is publicly available on GitHub.
This project demonstrates the kind of work I do for conservation organizations, environmental consultants, and government teams working on species at risk, biodiversity monitoring, and survey design in Ontario and across Canada:
If you're working on a bumble bee recovery program, a SARA-triggered screening, or a broader pollinator monitoring initiative and need analytical support, I'd be glad to talk.