NSW BOCSAR · Emerging-Risk Radar

Which crimes across NSW are trending up right now.

A live time-series forecast over three decades of public recorded-crime data. Each offence category is deseasonalised, trend-fitted and projected twelve months ahead to surface what is quietly accelerating, and what is cooling off.

Source: NSW BOCSAR open data Method: Holt-Winters + emerging-risk score Data pulled live in browser BOCSAR dataset ↗
Loading crime data...
--
Categories modelled
--
Emerging risks (rising)
--
Cooling (falling)
--
Data through

Overview

Recorded incidents across all modelled categories

Total recorded incidents over time

monthly, all categories

Share of incidents

last 12 months

Volume by category

12-month average, coloured by signal

Seasonal pattern

avg by calendar month, all categories

Trend vs momentum

trend /yr against year-on-year, per category

Emerging-risk board

Ranked by risk score · click a row to expand the forecast

#
Offence category
Trend /yr
YoY
Signal

How it works

The same maths runs in Python and in your browser

  1. Ingest. The BOCSAR workbook (offence rows, monthly columns, 1995 to today) is parsed into a tidy monthly series per category. Because BOCSAR serves no CORS headers, the page loads a committed data.json of raw series that a scheduled GitHub Action regenerates server-side.
  2. Qualify. A category is modelled only with at least 48 months of history and an average of 30+ incidents per month, so tiny or sparse series never generate false signals.
  3. Deseasonalise and score. Each series is smoothed with a 12-month moving average to strip the seasonal cycle, an OLS trend is fit to the trailing 24 months and annualised as a share of recent volume, then blended 60/40 with year-on-year momentum. Score above +2 reads rising, below -2 reads falling.
  4. Forecast. Twelve months are projected with Holt-Winters additive triple-exponential smoothing (seasonal-naive fallback) and a 95% band that widens with the horizon. The Python pipeline additionally fits SARIMA for its archived output.