leftymagazine

Uncompromising journalism for a just planet.

A column by Harrison Lockwood

Checking my city's racial profiling data: what I learned

200 million traffic and pedestrian stops. That is the size of the dataset compiled by the Stanford Open Policing Project — 21 state patrol agencies, 35 municipal police departments, and a decade-plus…

Harrison Lockwood, Lead Columnist on Systemic Justice & Climate Action·Updated: June 23, 2026·14 min read

Checking my city's racial profiling data: what I learned

200 million traffic and pedestrian stops. That is the size of the dataset compiled by the Stanford Open Policing Project — 21 state patrol agencies, 35 municipal police departments, and a decade-plus of recorded interactions between armed state actors and the civilians they have sworn to serve. It is the most comprehensive standardized archive of police stop behavior in the United States, and the overwhelming majority of residents in those very jurisdictions have never been told it exists. I have spent the last several months working through my own city's data with the same rigor I would apply to a corporate financial filing, and what I learned about how to check a city's racial profiling data changed how I understand the relationship between my municipality and the people I am told it protects.

The work is not glamorous. It is not even particularly difficult, technically. What it requires is the willingness to look directly at the spreadsheet your city has been producing for years and to ask the only question that matters: who is being stopped, who is being searched, and who is walking away.

The data is not the absence of accountability. It is the precondition for it.

The infrastructure of an audit

Before any of the statistical tests make sense, you need the underlying records. The good news is that the infrastructure is more accessible than at any previous point in the history of American policing. The bad news is that the accessibility is uneven, and the unevenness is not accidental. Departments and city councils that benefit from opacity have a vested interest in keeping stop data buried in legacy PDF reports filed once every two years, formatted in ways that resist aggregation, and pushed to web corners no one visits. Knowing where to look is half the work.

The core repositories a serious auditor should know:

  • Stanford Open Policing Project — the national benchmark. Over 200 million stops, cleaned and standardized across dozens of agencies. Free to download, accompanied by code, and run out of Stanford since 2017. This is the dataset that allows cross-jurisdictional comparison without doing your own harmonization.
  • Municipal Open Data portals — New York, Chicago, Seattle, Los Angeles, San Francisco, Austin, and a growing list of mid-sized cities publish raw "Stop, Question, and Frisk" or officer-initiated stop data through their civic data portals. The schemas vary, which is itself a finding: there is no national standard, and the variance is a feature, not a bug.
  • California's Racial and Identity Profiling Act (RIPA) — a 2015 state mandate requiring every California law enforcement agency to report stops by perceived race, ethnicity, gender, and age. The full-coverage deadline for all agencies, regardless of size, was 2023. This is what mandated transparency looks like when an organized movement actually wins a legislative fight.
  • Center for Policing Equity — National Justice Database — a smaller, curated set of cities that have voluntarily submitted data for standardized race-stratified analysis. Less comprehensive, more analytically rigorous. The CPE is one of the few institutions that publishes diagnostic reports rather than just raw tables.
  • FBI NIBRS — the federal incident-based reporting system that became the official national standard on January 1, 2021. The promise is full demographic context for every reported interaction. The reality, as of the most recent reporting, is that thousands of agencies still do not submit complete demographic data, and several of the largest departments — including the NYPD and LAPD — have had well-documented delays in transitioning. Anyone citing NIBRS as a definitive national picture is selling a clean story that the data does not support.
SourceCoverageWhat it actually gives you
Stanford Open Policing Project21 state patrols, 35 municipal PDs, 200M+ stopsStandardized, downloadable, free
Municipal Open Data portalsVaries by city; major metros includedRaw stop records; schemas are not harmonized
California RIPAAll CA agencies since 2023Demographics of every stop, mandated
Center for Policing Equity (NJD)Participating cities onlyStandardized race-stratified analysis
FBI NIBRSFederal standard since 2021Incomplete demographic reporting at scale

The first thing I learned is that the friction is the politics. Every portal that does not exist, every CSV that is published without a data dictionary, every department that requires a formal records request to produce numbers they are already legally required to publish — that is the extraction layer. The state extracts labor from the people it stops and, when the data comes back, the same state extracts accountability from the public by making the records hard to use.

What makes this especially insidious is the normalization of the gap. Cities that publish stop data treat it as a transparency triumph, even when the data is months old, incompletely coded, or stripped of the geographic detail that would allow block-level analysis. Cities that do not publish stop data face no consequences for the omission, because there is no federal mandate requiring them to. The result is a patchwork where the cities with the worst records are, by design, the hardest to audit.

The Veil of Darkness: a test the department cannot argue with

Once you have the data, the question is methodology. Critics of racial profiling research have a familiar toolkit: dismiss individual incidents, point to crime rates by neighborhood, argue that officers are simply responding to community conditions. The "Veil of Darkness" test cuts through most of that, which is why it is the workhorse of modern profiling analysis and the first thing any serious auditor should run.

The logic is straightforward. At twilight, when ambient light is low, officers are less able to identify the race of a driver before initiating a stop. If the racial composition of stops changes significantly between, say, the hour before sunset and the hour after — with stops of one group falling and another rising as visibility drops — that shift is a strong signal that officer perception of race is driving the decision. It is not a perfect test. Nothing is. But it isolates the officer's discretion from the deployment pattern in a way that other methods cannot.

The test controls for the confounds that departments routinely hide behind. If officers are deployed more heavily in neighborhoods with larger minority populations, that deployment pattern holds regardless of lighting conditions. The Veil of Darkness does not ask whether more Black drivers are stopped in total — it asks whether the ratio of Black-to-white stops shifts when the officer can no longer see the driver's face. That differential is the signal. Everything else is noise the department would prefer you focus on.

When I ran the test on my city's data, the result was not ambiguous. Stops of Black drivers were concentrated in the late afternoon, when daylight made identification easy, and dropped sharply after sunset. Stops of white drivers did the opposite. The pattern held across weekdays and weekends, in high-crime and low-crime districts. The department's response, when it came, was a press statement about the limits of statistical inference — which is a tell, because a department whose stops are not racially patterned does not need to invoke the limits of inference. It just shows you the data.

A department whose stops are not racially patterned does not need to invoke the limits of statistical inference.

Hit rates and the math that indicts

The second test, and in many ways the more damning one, is the hit rate. The hit rate is the percentage of searches that actually turn up contraband. It is a number that has no political constituency and no plausible alternative explanation. If officers are searching people based on legitimate suspicion of criminal activity, the contraband hit rate should be roughly comparable across racial groups, because actual contraband is not racially distributed. If one group is being searched at a much lower hit rate than another, it means the searches are not being driven by contraband — they are being driven by something else, and that something else is bias.

In most cities where the data has been analyzed, including my own, the hit rate for searches of white drivers runs well above the hit rate for searches of Black and Latino drivers. Officers are finding less of what they claim to be looking for in the cars and pockets of the people they search most often. That is not a finding one can explain with deployment patterns or neighborhood crime rates. It is a finding about the threshold at which an officer decides a person is worth searching, and the threshold is being applied unevenly.

The math here is unforgiving. If your city's hit rate for contraband in searches of Black drivers is, say, 18%, and the hit rate for white drivers is 32%, then officers are almost twice as likely to find something when they search a white driver. That means the suspicion threshold applied to Black drivers is substantially lower — officers are searching people they have less reason to search, and the contraband statistics prove it. The gap is not an artifact of sampling or small numbers; in departments that conduct tens of thousands of searches a year, it is a stable, reproducible feature of how discretion operates on the street.

A second-order analysis is the disparity index: the ratio of a group's share of stops to their share of the local driving-age population. If Black residents make up 15% of a city but 40% of its stops, the disparity index is 2.7. A disparity index above 1.5 sustained over years is not noise. It is a structural feature of how the department allocates its discretionary time, and it requires a structural response, not a training memo.

California RIPA: a partial lever, not a solution

California's RIPA is worth dwelling on, both because it is the most aggressive transparency law on the books and because it illustrates the difference between data and power. The act, AB 953, was passed in 2015 in the wake of organizing after Ferguson. It mandates that every California agency collect and report data on every stop — perceived race, ethnicity, gender, age, location, duration, outcome, and whether force was used. By 2023, even small-town departments were required to comply. That is not a small thing. It is the result of a movement that understood a basic political lesson: you cannot win an argument you cannot measure.

But the law is a lever, not a solution. RIPA produces the data; it does not produce a remedy. The California Department of Justice publishes an annual report, the most recent of which shows persistent racial disparities in stops, searches, and use of force across hundreds of agencies, including some of the state's largest. Departments continue to deploy in ways that produce those disparities. Officers continue to search at differential rates. The data is there, the disparity is there, and the corrective mechanism is, in most jurisdictions, voluntary. That is the trap of transparency legislation without enforcement teeth: it generates evidence that the system then ignores at its leisure.

The structural lesson of RIPA for the rest of the country is not complicated. It demonstrates that the cost argument is fraudulent — California's smallest agencies, with budgets a fraction of any major-city department, now collect and report this data as a matter of routine. It demonstrates that the technical-complexity argument is fraudulent — the data schema is published, the reporting infrastructure is built, and the training is available. What RIPA does not demonstrate is that transparency alone changes outcomes. That requires a second political act: binding the data to consequences. Until the numbers trigger automatic review, budget adjustments, or consent decrees, they are evidence without a verdict.

For auditors outside California, RIPA is still relevant. It is a benchmark. When your city's council member says "we don't have the data," the response is: California has it, every agency in the state has it, and the cost is not the obstacle they are pretending it is. Other states have followed with partial mandates, but no other state has built a system this complete. The argument that the data is too expensive to collect, or too complicated to standardize, has been empirically retired.

Translating numbers into material pressure

Data that does not change a deployment pattern is data that is being collected for show. The point of an audit is not to produce a spreadsheet. The point is to convert a spreadsheet into a political instrument.

A few steps a coalition can take once the analysis is in hand:

1. Publish the findings in plain language, not as an academic paper. Most council members will not read a methodology section. They will read a one-page memo that says "Black drivers in our city are stopped at 2.4 times their share of the population, and when they are searched, officers find contraband 30% less often than in searches of white drivers." That is a paragraph. It is legible to a journalist. It is legible to a voter.

2. Demand a written response from the chief and the city council within a defined window. A refusal to respond is itself a story. A response that disputes the methodology is an invitation to a public hearing, which is where you want this.

3. File parallel public records requests for deployment data. Stops are the symptom; deployment is the cause. If 70% of patrol hours are concentrated in three districts that happen to be the city's historically redlined neighborhoods, the disparity index is partially explained — and partially indicted. The "where they patrol" question is at least as important as the "who they stop" question.

4. Bring the data to the police commission, the civilian oversight board, and the city budget hearing. A disparity index is a budget story. Patrol hours are an allocation. The audit is most useful when it lands in the room where the line items are decided.

5. Build a coalition that includes defense attorneys, local journalists, and academics. The Stanford dataset is free because researchers wanted it used. The methodology has been litigated. The hardest part is not the math; it is the politics, and politics is collective work.

For readers who want a broader set of practical guides on community engagement and local policy navigation — beyond policing specifically — organizations like Common Cause maintain extensive civic literacy resources on holding local government accountable. The auditing work described here is a single slice of a much larger practice of making local government legible to the people it governs.

What the data forces us to confront

The lesson I keep returning to is not methodological. It is structural. The data is available. The methodology is mature. The benchmarks are decades old. The only thing missing, in city after city, is the political will to act on what the numbers show, and that absence is itself the story.

When a department deploys in ways that produce a disparity index of 2.7, it is not making a mistake. It is operating as designed. Policing in the United States was built on the material conditions of racial control — slave patrols, labor discipline, suppression of organized labor, the policing of migration. The data we are auditing today is the descendant of that infrastructure, and the same extraction logic still organizes who gets stopped, who gets searched, and who is treated as a person versus a target.

Auditing the data is not a substitute for abolitionist politics, and it is not a substitute for organizing. It is, however, a precondition for both. You cannot build a campaign against a system you have not measured. You cannot legislate a remedy for a disparity you have not documented. You cannot win a public argument with a city council that has a competent legal team unless you have a number it cannot explain away.

So the work is open. The data is on the server. The methodology is published. The question is whether the residents of any given city will treat the records their own government is producing as material evidence of structural extraction, or as an interesting footnote. The difference between those two responses is the difference between a spreadsheet and a movement. I know which one I am betting on.

FAQ

What is the Veil of Darkness test?
It is a statistical method that compares stop patterns during twilight hours to see if racial disparities change when visibility is low, helping to isolate officer bias from other factors like neighborhood deployment.
Why is the contraband hit rate a significant metric?
The hit rate measures the percentage of searches that actually result in finding contraband. If one group is searched more frequently but has a lower hit rate, it suggests that officers are applying a lower threshold of suspicion to that group.
What is the Stanford Open Policing Project?
It is a comprehensive, standardized archive containing over 200 million records of traffic and pedestrian stops from dozens of state and municipal agencies, available for free public use.
Does California's RIPA law solve racial profiling?
No, while it mandates the collection and reporting of detailed stop data, it does not provide a corrective mechanism or enforcement, meaning it generates evidence without automatically triggering policy changes.
What should I do if my city claims they do not have the data?
You can point to the success of California's RIPA, which proves that even small agencies can collect and report this data, showing that the cost and complexity arguments are not valid obstacles.