Nearly every crime data product in existence models a single event: a report was filed at a place and a time. Almost none model the second event, the one that arrives weeks or months later — the case was cleared, or it was not. The FBI put the 2024 national murder clearance rate at about 61%. Motor vehicle theft clears at roughly 12%. Those two numbers describe wildly different relationships between an incident record and any eventual accountability, and the overwhelming majority of crime feeds, dashboards, and safety scores carry no signal of the difference at all. This is the disposition gap, and it is worth understanding before you build anything that implies a case had an outcome.
Two caveats up front, because they govern everything below. First, “cleared” is a police records term, not a justice outcome — it does not mean convicted, and in a meaningful share of cases it does not even mean arrested. Second, the clearance rate as published is not a survival rate for a cohort of crimes; it is a ratio of two loosely coupled counts. Both caveats are routinely ignored in public commentary, and both matter enormously if you are writing code that consumes this data.
What clearance actually means
Under FBI Uniform Crime Reporting rules, an offense is cleared in one of two ways. The first is clearance by arrest: at least one person is arrested, charged, and turned over to the court for prosecution. The second is exceptional clearance: the agency states that it has identified the offender, has enough evidence to support an arrest, and knows where the offender is, but cannot make the arrest for a reason outside its control — the offender died, is in custody in another jurisdiction that denies extradition, the victim declined to cooperate, or a prosecutor declined to charge.
Both categories roll up into the same headline percentage. That is the first place the metric loses information, and it is not a small loss. A national analysis of rape clearances by ProPublica, Newsy, and Reveal found that exceptionally cleared cases made up more than half of the cleared rape cases in Baltimore, Howard, and Montgomery counties in Maryland. Baltimore County reported 316 rapes in 2016 and classified 214 as cleared — 124 of them exceptionally, 90 by arrest. The published clearance rate of 68% looked far above the national figure for that offense; the arrest-based figure did not. Similar patterns surfaced in agencies across the country. The reporting standard is documented; the incentive to lean on the exceptional category is also documented.
The distinction in one sentence
A clearance is an assertion by a police agency that it considers a case closed — not a finding by a court that anyone did anything.
The numbers, by offense
Clearance rates vary across offense types by a factor of five. Approximate national figures from recent FBI reporting years are below. Treat them as the right order of magnitude rather than precise constants: agency participation in UCR and NIBRS has been unstable since the 2021 transition, and clearance figures inherit every coverage problem the underlying counts have.
The ordering is stable across decades and has an obvious logic: clearance tracks the availability of an identifiable offender. Homicides get dedicated investigators, forensic resources, and — in most cases — a victim with a known relationship history. A stolen car in a parking structure at 2 a.m. offers a report number and very little else. Larceny-theft, the highest-volume Part I offense in the country at more than four million reported incidents annually, clears in the high teens at best, which means several million reported thefts a year end without an identified offender.
The murder figure is the one that has moved recently, and it moved in an encouraging direction. The Murder Accountability Project, working from FBI CJIS figures, reports a national homicide clearance rate of 52.3% in 2022 — the lowest the FBI has ever published — recovering to 57.8% in 2023 and about 61.4% in 2024. Jeff Asher anticipated the 2024 increase months ahead of the official release by sampling the 23 states that publish clearance data directly, landing on 61.3% against a 58.2% prior year — close enough to the eventual national figure to validate the method, and a useful reminder that state-level releases often front-run the federal ones.
Even at 61%, the long arc is downward. The national homicide clearance rate was roughly 72% in 1980. The recent improvement recovers ground lost during 2020–2022; it does not restore the historical baseline. It also coincides with a sharp fall in the number of murders themselves — the Real-Time Crime Index has murder down 18.1% year-to-date through May 2026 across 586 agencies covering 122.4 million people, with violent crime down 5.6% and property crime down 10.7%. A plausible mechanism is arithmetic rather than tactical: the same number of detectives working fewer cases can close a larger share of them. That is a hypothesis consistent with the data, not a demonstrated cause, and the distinction matters.
Why the clearance rate is not a solve rate
The published clearance rate divides clearances recorded during a year by offenses reported during that same year. Those are not the same cohort. A 2026 clearance may resolve a 2019 homicide; a 2026 report may not clear until 2029, if ever. Asher flags this explicitly — clearances counted in a year may involve crimes from prior years. In a period of falling crime the denominator shrinks faster than the numerator can respond, which mechanically inflates the ratio even if investigative performance is unchanged.
If you want the number most people think they are getting — of the crimes reported in year Y, what share were ever resolved? — you need cohort tracking: follow each incident forward and record whether a disposition ever attaches. Almost no public dataset supports this, because almost no public dataset republishes an incident record after the first write. Where researchers have done the work, conviction rates for reported murders land somewhere in the 30–35% range, and property crime convictions fall into the low single digits. The gap between “cleared” and “convicted” is not a rounding error.
Three different questions
“Was an offender identified?” (clearance), “was someone arrested?” (arrest clearance only), and “was someone convicted?” (court disposition) produce three different numbers from the same set of incidents. Any product that displays one while implying another is misinforming its users.
The engineering problem: feeds are write-once
Here is the part that matters most if you build on this data. A crime incident feed is, in practice, an append-only log of first impressions. An incident is written when the report is taken. The clearance happens later — days, months, occasionally years — and in most jurisdictions that later event does not flow back into the public feed as an update to the original record.
Practice varies more than most consumers realize. Some municipal open-data feeds do carry a status field: Chicago's long-running incident dataset includes an arrest boolean, and Los Angeles publishes a case status code alongside each record. Others publish incidents and arrests as entirely separate datasets with no join key exposed, which makes linking them a matching problem rather than a lookup. And a large share of the roughly 18,000 US law enforcement agencies publish incident-level detail with no disposition field in any form. There is no national convention here, and no field you can count on being present.
Even where a status field exists, there is a subtler failure. Feeds that do update records in place will silently correct history underneath you — an incident you ingested last March as open may now read cleared, and if your pipeline caches on first ingest and never re-reads, your local copy is a photograph of the first 24 hours of a case that has since moved on. The practical implications:
- Do not treat absence of a clearance flag as evidence of an unsolved case. In most feeds it is evidence of nothing at all — the field simply is not published.
- Re-poll a trailing window, not just the leading edge. If a source updates records in place, a pipeline that only fetches new incidents will never see a status change. A rolling re-read of the past 90–180 days catches most of them.
- Store the ingest timestamp separately from the incident timestamp. Without both you cannot reconstruct what your system believed at any past moment, which makes backtesting a score or auditing an alert effectively impossible.
- Never join incidents to arrests on time-and-place heuristics. Without an explicit case identifier, proximity matching produces false links at a rate that will not survive scrutiny — and if the output is user-facing, those false links attach an arrest to a person or address that had nothing to do with it.
- Version your status semantics per source.“Closed,” “cleared,” “adult arrest,” “investigation continued,” and “inactive” are not interchangeable, and the same string can mean different things in two departments a county apart. This is the same normalization problem that governs incident taxonomy, applied to a field most pipelines never look at.
For teams building the pipeline itself, the practical tooling for this kind of longitudinal work — joining incident and arrest tables, tracking record changes over time, generating recurring reports — is well covered in Crime De-Coder's guide to Python data science for crime analysts. The hard part is rarely the code; it is deciding what a status field is allowed to claim.
What this means for downstream products
Different consumers of crime data are exposed to the disposition gap in different ways.
Safety scores and neighborhood ratings. A block with ten reported burglaries and a block with ten reported burglaries where nine were cleared are not equivalent, but almost every scoring methodology in production treats them identically — including, to be direct about it, the incident-weighted approach behind most block-level scores. That is a defensible choice given data availability, and it is one worth stating explicitly rather than papering over. We have written up how SpotScore™ is calculated for exactly this reason: a score should be auditable on what it excludes as much as what it includes.
Anything user-facing about a specific address. Displaying an incident record next to language implying an unresolved threat, when the case may have been cleared eighteen months ago, is a correctness problem with real consequences for the people who live there. The safe presentation is temporal and factual — a report was filed on this date — with no implied claim about current status.
AI and automated risk assessment.This is where the gap gets dangerous fastest. A language model asked to assess an address will readily produce a confident narrative from incident records alone, filling the disposition silence with plausible inference. Gio Circo's work on AI classifier calibration using NEISS injury data documents the underlying failure mode: LLM confidence scores are not well-calibrated, and token probabilities run systematically overconfident. A model that cannot calibrate its confidence on a labeled classification task will not calibrate it on a question where the label is structurally absent. The reliability failure documented in the CrimeRadar false school-shooting alert in April 2026 came from the same family of problem — a system built for speed asserting more than its input supported. As that account put it: systems like this are built to be fast, and safety requires being right.
Transparency and accountability work. Clearance data is one of the few published metrics that describes police performance rather than public behavior, which is precisely why its quality deserves scrutiny. The exceptional-clearance findings show what happens when a performance metric is self-reported by the party it evaluates. An agency that publishes clearance data broken out by arrest versus exceptional is telling you something real. An agency that publishes only the combined figure — or none at all — is telling you something too.
What to ask for
If you are evaluating a crime data source and disposition matters to your use case, three questions separate a usable feed from an unusable one. Does the source expose a case status field, and for what share of records is it populated? Does it distinguish arrest clearance from exceptional clearance? And are records mutable — does a cleared case update in place, and if so, is there a modification timestamp you can poll on? Our seven-dimension framework for evaluating a crime data API treats mutability and field completeness as first-class criteria for this reason.
The honest summary is that the United States has a good national picture of crimes reported and a poor national picture of crimes resolved. The clearance rate is the best aggregate signal available, and it is a fairly weak one: it merges two dissimilar categories, uses a mismatched denominator, is self-reported by the evaluated agency, and largely does not exist at the record level where operational decisions actually get made. None of that makes it useless. It makes it a number that has to be handled with its qualifications attached — which is, in the end, true of every number in this field.
Build for the gap. Log what you knew and when you knew it, re-read your sources, keep status semantics per-source rather than global, and resist the temptation to let a model narrate over the silence. The record ends when the report is filed. Most of what happens afterward is not in your data, and the first step to handling that well is not pretending otherwise.
Access Address-Level Crime Data
Real-time incidents · SpotScore™ safety ratings · 36-month trends · 22,000+ US cities. Normalized and verified — because raw data isn't enough.