Browser tool · by All Things Spatial
Michigan crime, agency by agency.
Every crime number you have read came from an agency that chose to report it. Michigan has 731 law-enforcement agencies; 609 filed a return for 2022 under NIBRS, the FBI’s National Incident-Based Reporting System. Crime Data Reviewer puts those 609 on one map with a 65-field offense profile each, live totals for whatever is in view, and the 122 agencies that reported nothing.
FBI NIBRS, one layer per year
Where the data lives
NIBRS records every offense in an incident, not just the most serious one. The FBI publishes the agency-level returns through its Crime Data Explorer; All Things Spatial loads each year into a hosted feature service on ArcGIS Online, one layer per year, with the three NIBRS categories — crimes against persons, against property and against society — and the 65 offense fields behind them.
Three more services sit beside the agencies: counties with 2022, 2023 and 2024 joined to one geometry, and the Michigan agencies that filed no NIBRS return at all.
- FBI Crime Data Explorer — where the FBI publishes the NIBRS agency returns.
- FBI UCR Program — the Uniform Crime Reporting Program that runs NIBRS.
Watch it work
Watch the walkthrough
Live extent totals from statewide to Detroit, the agency-type filter, Ann Arbor’s 65-field profile, the aggravated-assault analysis layer, counties with three years in one row, and the 122 non-reporting agencies.
How it works
What the map does
Live extent analytics
The Crimes Summary panel sums the agencies inside the map extent and recomputes whenever the view stops moving. Statewide for 2022 it reads 609 agencies: 144,921 crimes against persons, 252,945 against property, 43,780 against society. Zoomed to Detroit, 139 agencies carry 67,202 crimes against persons — 23 percent of the agencies with 46 percent of the state’s total.
Server-side filter
The agency-type filter rewrites the layer’s definition expression, so the server returns a different set and the summary retotals against it. State Police: 83 agencies, where crimes against society run at 109 percent of crimes against persons, against 30 percent statewide — the drug, weapon and gambling offenses of a highway-patrol caseload.
One agency
Search accepts an agency name or ID, or a county name. Click any agency and the panel switches to Details: population, total offenses, the three categories and every offense field with at least one incident, plus a note on how many of the 65 fields the agency filed — a measure of reporting density, not of public safety.
Analysis and counties
The Analysis group symbolizes the same layer by one offense, aggravated assault greater than zero: 514 of the 609 agencies, 28,156 statewide, 8,019 of them from Detroit Police Department. The Counties group joins all three years to one geometry for 83 counties; property crime moves from 260,497 in 2023 to 235,836 in 2024, down 9.5 percent in one year.
The 122
Michigan Non-Reporting Agencies is off by default. Switch it on and 122 more markers appear with no offense profile — a name and an address, because there was no return to put in the crime fields. The 609 reporting agencies cover 9,616,858 people; the 83 counties hold 10,098,040. The difference is 481,182 people, 4.8 percent of Michigan, absent from every total in the app.
Getting around
Home, three basemaps, eleven preset scales, Scale & Extent for the current scale, zoom level and extent with a Copy button on every value, a Legend tab and a Help tab.
Limits
What it does not do
- It reports counts, not rates. Population is in every agency’s profile, but the map does not divide by it; a rate comparison between agencies is yours to make.
- It is a record of what agencies filed. An agency that filed incidents in 48 of 65 fields is not safer than one that filed 55; it reported less.
- The 2022 layer is the default; 2023 and 2024 agency layers are in the layer list and the counties carry all three years. Figures on this page were read from the live app on September 30, 2026.
- It is not an FBI product. The data is the FBI’s; the services, the map and the app are All Things Spatial’s.
FAQ
Common questions
Why do the totals change when I pan?
They are summed from the agencies inside the current map extent, not from the state. Press Home for the statewide figure.
Why is an agency missing?
Either it is outside the extent, filtered out by agency type, or it filed no NIBRS return — switch on Michigan Non-Reporting Agencies to see the 122 that did not.
Is Detroit really 28 percent of the state’s aggravated assault?
Yes for 2022 as filed: 8,019 of 28,156. It is also 6.5 percent of the reporting population.
Can I use the feature services in my own map?
Yes — they are public ArcGIS Online services, linked on the Sources page.
Is the code available?
The app is a demonstration built with React on the ArcGIS Maps SDK for JavaScript; the Calcite build runs the same services on Esri’s design system. The patterns are the ones All Things Spatial builds for clients.
Build with us
Need an agency-level view of your own statistics?
Live totals for the agencies in view, a server-side filter, and a profile per record — All Things Spatial builds this on the ArcGIS Maps SDK for JavaScript over the services you already publish.