Skip to main content
Back to cohort dashboard

Concurrent vs Consecutive Sentencing — Methodology

This page explains how the cohort displayed on /concurrent-consecutive is computed. The estimate is a snapshot derived from public OSCN/ODOC records, projected through the earned-credit rates of 57 O.S. § 138 and the 85% Truth-in-Sentencing (TIS) floor of 21 O.S. § 12.1, which applies to the offenses enumerated in 21 O.S. § 13.1.

1. Source data + filter scope

Each row is a single sentenced person with at least two consecutive Oklahoma felony judgments. Filters: post-1950 first sentencing date, valid OK statute, valid DOB, age 0–120, and a custody status indicating the person is in custody. Out-of-state and non-felony cases are excluded. The 25,294-row population reflects this filter — it does not match ODOC's official active-inmate count, which uses different inclusion criteria.

2. Sub-class assignment (our classification, not a statutory scheme)

Each conviction is assigned a sub-class from our own 15-key taxonomy: Y, A1, A2, A3, B1–B6, C1, C2, D1–D3. The sub-class drives the earned-credit-per-month rate. The rates themselves are statutory (57 O.S. § 138, keyed there to ODOC behavioral class levels), but the mapping from felony sub-class to rate is ours — we do not hold the behavioral level, so we estimate it from the offense. No statute prescribes that mapping. When the analyzer cannot confidently assign a class (offense text ambiguous), the rate is set conservatively to 0 — biasing eligible-for-relief downward. The class_unknown_rate badge surfaces this as a percentage.

3. 85% Truth-in-Sentencing floor (21 O.S. § 12.1; offenses listed at § 13.1)

Convictions for the listed violent offenses must serve at least 85% of the imposed term before earned credits apply. The eligible-time computation enforces this floor. Solem v. Helm proportionality serves as the lower bound: even when statutory math would 'free' a person, the rendered figure does not net below time already served.

4. Binding-required + concurrent-vs-consecutive logic

For each consecutive chain we compute the binding-required time (the maximum effective_required across the chain). The cohort 'over-served' figure is years_served minus the longest single binding-required term — i.e., what the offender would have served had the chain been concurrent rather than consecutive.

5. Privacy: k-floor anonymization

Any breakdown row whose freed-eligible count is below 30 is rendered as the opaque <30 band rather than a precise number. This prevents re-identification of small county/race/gender intersections. The total population count is published unbanded since it's already a public aggregate.

Known limitations

Back to cohort dashboard