In September 2021, one Target store in San Francisco reported 154 shoplifting incidents to the police. That was ten times its count for August. The jump was big enough to make it look as if shoplifting had doubled across the entire city that month.
Nobody had discovered a new appetite for stealing from Target. The store had a new reporting system, one that made it easier to file incidents with the police. The episode is recounted in a March 2024 review by Ames Grawert and Ram Subramanian of the Brennan Center for Justice, drawing on reporting by the San Francisco Chronicle. They call it a particularly dramatic case and suggest cases that dramatic are probably rare. Smaller swings of the same kind, they add, may be more common.
We think the smaller swings are the whole story. Shoplifting is the one high-volume crime whose victim is usually a company, and companies have policies. When the policy changes, the count changes. A shoplifting series is part crime data and part a record of how many forms a loss-prevention department decided to fill out.
A victim with a procedures manual
Most crime data depends on a victim deciding to call. We have written about that dark figure before: a large share of violent and property victimizations never reach the police at all. With a burglary, though, the decision belongs to one household, and households are scattered and roughly independent. Their choices average out.
A retail chain decides once, for hundreds of stores. It can tell staff to report every theft, or only thefts above a dollar line, or only thefts where someone was caught. It can buy software that files reports in bulk. It can stop reporting at a location where officers never come. Each of those is a reasonable business choice. Each one also moves a crime series, in a single step, on a date nobody publishes.
The Council on Criminal Justice says this plainly in its own work. Its November 2023 shoplifting report (Ernesto Lopez, Robert Boxerman, and Kelsey Cundiff) warns that if retailers in some cities began reporting more, shoplifting counts would rise with no real increase in theft. The year-end 2025 update adds that because reporting practices vary across the retail industry, police figures almost certainly undercount shoplifting by a wide margin. That is the most careful group publishing these numbers, telling you what the numbers are.
It is also, if you squint, the enforcement confound wearing a different uniform. With drug arrests, the count tracks how hard police look. With shoplifting, it tracks how hard the store looks, and then how much of what it finds it hands over.
Two instruments, one year
This is what that produces when two careful-sounding sources measure the same period.
The first number is from The Impact of Retail Theft & Violence 2024, published by the National Retail Federation with the Loss Prevention Research Council in December 2024. It surveyed senior loss-prevention and security executives from 164 retail brands between June and July of that year. It's a survey of the people whose job is stopping theft, asking them how theft is going. That doesn't make it wrong. It makes it a different instrument, and not a random sample of anything.
The second and third numbers come from the CCJ's 2023 report, and the gap between them is one city. New York accounted for 46% of all shoplifting incidents across the twenty-four cities in the first half of 2023, and its count was up 64% from 2019. Take it out and the other twenty-three cities, together, had 2,552 fewer reported incidents than in the first half of 2019.
So the national shoplifting surge of 2023, as police data recorded it, was mostly a New York story. Whether it was a story about theft in New York or about reporting in New York, the data alone can't say. The column doesn't hold that information.
The sentence that got deleted
Industry figures fill the space police data leaves, and some of them turn out to be hollow. The best documented case is a single sentence.
In April 2023, the NRF published an organized retail crime report stating that retail shrink was $94.5 billion in 2021, nearly half of it attributable to organized retail crime. The support for “nearly half” traced back to November 2021 Senate testimony by Brendan Dugan, president of the Coalition of Law Enforcement and Retail, who put organized retail crime at $45 billion a year. When Retail Dive asked where that came from, Dugan said it came from the NRF's own 2016 estimate of total shrink.
Total shrink is every piece of inventory a retailer can't account for. It includes theft, but also clerical mistakes, damaged goods, and vendor fraud. So the NRF had cited, as outside confirmation, a figure derived from its own number for something much broader. The trade group removed the sentence in early December 2023, and the report no longer puts a dollar figure on organized retail crime at all.
The Brennan review adds one more detail worth keeping. Respondents to a widely cited industry survey attributed, on average, about 36% of their losses to theft by customers. The rest was employees, process errors, and everything else.
The Walgreens footnote.In a January 2023 earnings call, Walgreens CFO James Kehoe told investors that theft had stabilized and that “maybe we cried too much last year” about it (as reported by CNN). The company had closed San Francisco stores in 2021 and cited theft. A victim that can talk to shareholders has reasons to describe its losses one way in one room and another way in the next.
When the law moves the line
Retailers aren't the only ones who can shift a shoplifting series. Legislatures can too, and in California they have done it twice.
Proposition 47, in 2014, set a $950 line: below it, most shoplifting became a misdemeanor. Proposition 36, which passed with about 68% of the vote in November 2024 and took effect on December 18, 2024, pushed partway back. Petty theft and shoplifting can now be charged as a felony when the person has two or more prior theft convictions, with no washout period for old priors. Prosecutors can also add up the value of several separate thefts to reach the felony threshold.
For a data pipeline, the grading matters less than you might think. In NIBRS, shoplifting is offense code 23C whether it is charged as a felony, a misdemeanor, or nothing. An incident feed shouldn't show a step on December 18. Arrest and charging data is a different matter, because California's arrest tables split felonies from misdemeanors. Expect a break there, and expect somebody to read that break as a crime wave or a crime drop.
There is a second, softer effect. In our view, a retailer is more likely to file a report when the report might lead somewhere, and a felony that can aggregate several small thefts is a report that might lead somewhere. We would not be surprised to see California's reported shoplifting move after December 2024 for reasons that have little to do with how much merchandise walked out the door. That is a guess, and we are labeling it one. Nobody has published the store-level reporting data that would test it.
A change like this is a structural break, the same species as a records-system migration. It arrives on a known date. Most dashboards don't mark it.
What the latest numbers can hold
With all of that in mind, the police-reported series currently stands like this. The CCJ's year-end 2025 update covers twenty-one cities with usable shoplifting data. The average reported rate peaked in 2024 at 615 per 100,000. In 2025 it was 552.2, down 10%, and about 4% below 2019. The decline sped up during the year: 5% below 2024 in the first half, 15% below in the second.
The broader theft category is falling too. The Real-Time Crime Index shows theft down 6.3% for January through July 2026 against the same months of 2025, among the 565 agencies (113.2 million people) in its current sample. Shoplifting is only a slice of that category, so the two numbers don't measure the same thing. Our RTCI explainer covers what the index can and can't be compared against.
A 10% drop in reported shoplifting is consistent with less shoplifting. It is also consistent with stores reporting less, maybe because more goods are behind plexiglass and fewer thefts get noticed, or because staff stopped filing reports that went nowhere. We think the decline is probably at least partly real, since it lines up with falling property crime nearly everywhere. The shoplifting column alone can't prove it.
What to do if shoplifting is in your feed
If you build on incident data, shoplifting is probably one of your highest-volume categories and almost certainly your most concentrated. A handful of addresses carries most of it. Six things we would do:
- Keep 23C separate.Don't let shoplifting disappear into a generic “theft” bucket. It behaves differently from theft from a car or a porch, and its reporting mechanics are different. Our post on taxonomy and normalization covers the mapping.
- Measure address concentration every month.If one address supplies a large share of a city's shoplifting in a month, flag it before it reaches a trend line. The San Francisco Target would have tripped this check on the first day of October.
- Test for single-address step changes. A store whose count jumps tenfold and stays there has probably changed a process, not a neighborhood. Annotate the date.
- Mark legal breaks on the timeline. December 18, 2024 belongs on every California chart that shows theft arrests or charges.
- Keep big-box stores out of residential safety scores. A block with a Target on it will look like a high-theft block. Its residents are not the victims. This is the same trap as the hospital ZIP code: the incidents are real and they belong to a place, not to the people who live there.
- Don't rank cities on shoplifting.A city's rate reflects its retailers' policies as much as its thieves. Within one city over time, with the breaks marked, the series is usable. Across cities it is mostly a comparison of procedures manuals.
Here is the concentration check we mean in item two. It is a few lines of pandas and assumes an incident table with an offense code, a normalized address, and a date:
sl = df[df.offense_code == "23C"].copy()
sl["month"] = sl.occurred_at.dt.to_period("M")
by_addr = sl.groupby(["city", "month", "address_norm"]).size().rename("n")
by_city = by_addr.groupby(level=["city", "month"]).transform("sum")
share = (by_addr / by_city).rename("share")
# one address carrying a third of a city's monthly shoplifting
flags = share[(share > 0.33) & (by_city >= 50)]The thresholds are ours and arbitrary. Pick your own and write down why. The by_city >= 50 floor is there because small counts are noise, and a town with six shoplifting reports will trip any share test you write.
In September 2021 the most important shoplifting location in San Francisco, as far as the data could tell, was a new form. The store was the same size it had been in August.
Access Address-Level Crime Data
Real-time incidents · free A–F Crime Grade · rolling 90-day window · 22,000+ US cities. Normalized and verified — because raw data isn't enough.