The Problem

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.

Why Raw Trends Mislead

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.

The Approach: Honest Open-Data Analysis

Rather than trend raw counts, the tool uses two bias-resistant metrics:

  • Proportion-of-records decline — each at-risk species is expressed as a share of all Ontario Bombus records in the same period, using exact yearly totals from GBIF facet queries. If the at-risk share is falling, that's a real signal even if absolute observer effort is growing.
  • Same-period same-observer baselineB. terricola records are compared against B. impatiens (the most common Ontario bumble bee) within identical time windows, isolating genuine relative change from effort inflation.
  • 0.5° survey-effort grid — a spatial grid flags cells with few or no recent at-risk records, highlighting where targeted surveys would add the most conservation value.

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 Tool

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:

  • Species occurrence map with Okabe-Ito colourblind-safe palette
  • Proportion-of-records trend chart per species
  • Northern range centroid comparison (at-risk vs. B. impatiens)
  • Survey-effort gap map highlighting under-surveyed grid cells
  • Early vs. recent toggle to compare historical and modern distributions

Data is cached on load to keep the app responsive without hammering the GBIF API. The full source is publicly available on GitHub.

View live dashboard → Start a similar project

Who This Kind of Analysis Is For

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:

  • Species at risk screening and occurrence analysis
  • Observer-bias-aware trend analysis from community science datasets
  • Spatial prioritization of survey effort
  • Interactive dashboards for non-technical stakeholders
  • Reproducible, defensible methods for regulatory contexts

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.

Get in touch → See all services