Interactive report Source dataset ↗

After an SF arrest, what actually happens?

A compact public-data report on the charging gate, the “guilty” string trap, and the hearing machine inside San Francisco criminal court records.

Snapshot

The case funnel is less automatic than it looks.

Exact counts stay attached to their denominator. Crime rows open the outcome mix behind each category.

Just over half of DA arrest-intake rows lead to charges filed. Nearly a third are discharged before prosecution begins.

Once cases enter court records, the process becomes a high-volume machine: hundreds of thousands of calendar rows and docket entries, most of which measure workload rather than legal outcomes.

Charging gate

What the DA does after arrest intake.

All percentages in this section use DA arrest-intake rows as the denominator. A discharged row is not a finding about guilt; it is a process outcome at intake.

DA action distribution

n = 176,130 intake rows

Booked case type

Felony vs misdemeanor

Charging rate by arresting agency

agencies with 1,000+ rows

How to read this

  • Bars compare rows, not individual people.
  • Agency mix changes the path into the court system.
  • Calendar and docket volume are workload signals, not conviction signals.

Crime type explorer

Every crime category has a different path.

Search, sort, and select a row. Charging columns use arrest-intake rows; outcome columns use DA-prosecuted rows.

Crime type Arrest rows Charged Discharged Prosecuted rows Conviction Diversion Pending

Charge outcomes

The “guilty” string trap.

Not every disposition containing “Guilty” is a conviction for that charge. “Dismissed — Guilty Plea to Other Charges” is counted here as a dismissal of the specific charge.

Charge-level disposition categories

n = 44,029 charge rows

Charge leaderboards

specific charge descriptions

Court load

The hearing machine keeps spinning.

Calendar rows are scheduled court events, not proof every hearing occurred. Docket rows are process records, not unique legal outcomes.

Most common hearing labels

calendar rows

Docket signals

phrase counts in ROA text

Phrase counts are useful signals, not counts of unique legal events.

Pending cases distort recent-year comparisons

DA-prosecuted rows by arrest year

Takeaways

Six clean reads from the data.

Each takeaway keeps its denominator attached, because that is the difference between a useful statistic and a misleading one.

Notes

How to read the numbers.

A short interpretive guide for the sharp edges that matter most.

Rows are not people

One person can appear in multiple rows. Treat these as process counts, not population counts.

Denominators change

Arrest-intake, prosecuted cases, charge dispositions, calendar events, and docket entries are different units.

Recent cohorts are immature

High pending rates in 2025–2026 make simple year-to-year outcome comparisons misleading.

Filing dates are incomplete

Most case filing dates are missing or unparseable, so filing-date trend charts are intentionally avoided.

Judge fields are limited

Published judge fields mostly reflect department assignments, not actual sitting judges; this report does not rank judges.