Methodology · Schemas · Open
How this dashboard is built
Every metric on this site is normalized, sourced, and stored in one of three schemas. They’re reproducible: hand them to anyone with a CSV, SQLite, Airtable, or Excel skillset, and they can recreate the dashboard.
Geography & time window
- Anchor county: Jackson County, IN.
- Surrounding (Phase 1): Scott, Jennings, Brown, Lawrence, Monroe, Decatur, Bartholomew, Washington, Clark, Floyd, Orange.
- Phase 2 expansion: all southern Indiana counties (Dubois, Daviess, Martin, Crawford, Perry, Spencer, Warrick, Gibson, Posey, Vanderburgh, etc.).
- Time window: 2020–2025 (six calendar years).
- Normalization: all counts converted to per-1,000 or per-100,000 residents using U.S. Census or STATS Indiana population estimates.
Schema 1 — County×Year base
Parent table; all others join on county_id and year.
county_id, county_name, state, region, year, population_estimate
Example rows:
18071, Jackson County, IN, Southern Indiana, 2020, 46428
18159, Scott County, IN, Southern Indiana, 2020, 24180
IND, Indiana, IN, , 2024, 6800000
Schema 2 — Incarceration / IDOC
county_id, county_name, year,
idoc_releases_from_county, idoc_releases_per_1k,
idoc_releases_types_ctp_probation_parole_discharge,
avg_daily_jail_pop, avg_daily_jail_pop_per_1k,
total_bookings, total_bookings_drug, total_bookings_violent,
total_bookings_low_level, total_releases_from_local_jail
Schema 3 — Arrest types
county_id, county_name, year,
total_arrests, total_arrests_per_1k,
arrests_drug, arrests_drug_per_1k,
arrests_violent, arrests_violent_per_1k,
arrests_low_level, arrests_low_level_per_1k,
arrests_property, arrests_property_per_1k,
arrests_other, arrests_other_per_1k
Schema 4 — Overdose / EMS / 911
county_id, county_name, year,
overdose_deaths_count, overdose_deaths_per_100k,
overdose_deaths_unknown_intent, overdose_deaths_intentional,
ems_overdose_incidents, ems_overdose_incidents_per_100k,
naloxone_administrations, naloxone_administrations_per_100k,
911_calls_total, 911_calls_overdose_related,
911_calls_overdose_per_100k,
fentanyl_involved_overdose_deaths, fentanyl_involved_share,
suspected_fentanyl_overdose_incidents,
heroin_overdose_incidents, meth_overdose_incidents,
alcohol_overdose_incidents
Schema 5 — Reentry / rehab / outreach programs
county_id, county_name, year,
program_id, program_name, program_type (reentry / rehab / MAT / outreach),
start_year, end_year,
approx_beds_or_slots, annual_clients_served,
hours_of_service_per_year,
housing_type (transitional / permanent / sober),
supervision_linkage (probation / parole / IDOC),
partnerships (sheriff / treatment / peer / faith)
Schema 6 — Facility×Year (jails & prisons)
facility_id, facility_name, county, type (state_prison / county_jail / federal),
year, quarter, report_source (IDOC / county_study / news_summarized),
inmates_total,
suicide_attempts, suicide_deaths, self_harm_incidents,
suicide_rate_per_100k,
drug_overdose_incidents, drug_overdose_deaths,
drug_overdose_rate_per_100k,
substance_use_prevalence, mental_health_prevalence,
drug_trafficking_incidents_reported, smuggling_attempts,
reentry_deaths_suspected_30d, reentry_deaths_90d, reentry_deaths_1y,
suicide_among_released_30d_90d_1y,
overdose_among_released_30d_90d_1y,
new_out_of_facility_charges_90d, 180d, 1y, 2y, 3y,
reincarceration_events_90d_1y_3y
Schema 7 — News-headline log
headline_id, facility_id, facility_name, county,
year, date_published,
incident_type (drug_trafficking | suicide | overdose | escape_attempt
| abuse | poor_conditions | assault | riot | fire | staff_misconduct),
summary_short,
url, source_name,
has_legal_outcome (Y/N),
conviction_result (if any)
Normalization rules
- All count columns get a parallel
per_1korper_100kcolumn using the same year’s population estimate. - Per-1,000: arrests, jail bookings, IDOC releases, total 911 calls, homelessness PIT counts.
- Per-100,000: overdose deaths, suicide deaths, naloxone administrations, EMS overdose incidents (these are typically rare-event metrics where 1k denominators look noisy).
- For multi-year averages, use a 3-year moving window for small-county metrics (Brown, Orange) to dampen single-year volatility.
How “pending” cells get filled
This dashboard is built schema-first. Cells marked (pending) aren’t guesses — they’re slots in the schema waiting for the next data pull. The order of fill, by load-to-effort ratio:
- State-level totals (Indiana statewide overdose, IDOC operational pop) — one PDF, fills several cells.
- IDOC Adult Releases tables — one PDF per year, fills the IDOC schema for every county.
- Indiana Drug Overdose Dashboard — web-portal export by county-year for OD deaths, EMS, naloxone.
- Jackson County Sheriff roster + 48-hr-release page — aggregate by year for booking volume + charge mix.
- Scott County Jail Study — published 2022 PDF; transcribe the substance-use, mental-health, and recidivism numbers as anchors for surrounding counties.
- Police Scorecard county pages — arrest mix per county.
- Per-program annual reports — request directly from IRACS, HIRE, Goodwill, Rural Works for client-served counts.
- News-headline harvest — one search query per facility per year (semi-automated).
Trend-fitting (predictions)
See Predictions for the linear, exponential, and logistic formulas, plus a starter Python implementation. Default rule of thumb:
- Stable metrics → linear regression (least squares).
- Fast-rising metrics → exponential, log-transformed.
- Bounded metrics (shares, percentages) → logistic with capped asymptote.
What this dashboard does not do
- Live-scrape protected sources. Some county clerk and sheriff systems require login or rate-limit aggressively. Where data are behind a wall, we cite the source and leave the cell pending.
- Name individual returning citizens. Aggregate, anonymized statistics only. Individual identification is reserved for court records and licensed journalism.
- Predict individual recidivism risk. The projections are county-aggregate. Individual risk-prediction has well-known fairness pitfalls and is out of scope.
- Replace county-level reporting. The dashboard is a normalization layer over public sources, not a replacement for primary records.