UNILEGAL
Get started

Open methodology · CC-BY-4.0

The TrafficTicket Risk Score

Open methodology behind the TrafficTicket Risk Score (TRS), a 10-point composite metric of the risk attached to a Florida traffic citation. Documents the formula (FC + PC + SE), every component weight, every statutory enhancer, the confidence model, and the published fee-schedule provenance. CC-BY-4.0; no hidden math, no manipulated outputs.

Model
v1.0.0
Revision
2026.05.31
Source date
2026-05-31

The formula

TRS is the bounded sum of three components. Each one is measured against a Florida statute, FLHSMV's published point schedule, or a county clerk's fee schedule — never a subjective input.

TRS = min(10.0, FC + PC + SE)

  FC = min(4.0, total_cost_cents / 10_000.0)
  PC = points_assessed × 1.0
  SE = sum of weighted enhancers (see below)

Money is integer cents end-to-end. The final score is rounded to two decimals for stable JSON output and predictable diffs.

Components

Financial Component (FC)

min(4.0, total_cost_cents / 10_000.0)

Reflects the immediate out-of-pocket exposure — base fine plus mandatory court costs. Money is integer cents end-to-end to avoid floating-point precision loss. At $400 total cost, FC reaches its 4.0 ceiling.

Cap: Capped at 4.0 (so the most expensive citations don't crowd out the rest of the score)

Statutory sources: Fla. Stat. §316.183 · Fla. Stat. §318.18 · Fla. Stat. §28.241 · Fla. Stat. §938.05

Point Component (PC)

points_assessed × 1.0

Reflects the risk to driving privileges. Under Fla. Stat. §322.27(3)(d), 12 points in 12 months triggers a 30-day license suspension; 18 in 18 months triggers 3 months; 24 in 36 months triggers 12 months. Florida assesses 0, 3, 4, or 6 points per moving infraction.

Cap: Uncapped individually; floor is 0, observed maximum is 6

Statutory sources: Fla. Stat. §322.27(3)(d)

Statutory enhancers

Six toggles capture structural, longer-term legal consequences beyond fines and points. Each fires per-citation; the response's breakdown field lists exactly which enhancers contributed.

  1. is_criminal_misdemeanor+3.0

    The underlying offense is classified as a criminal traffic offense — reckless driving (§316.192), dangerous excessive speeding (HB 351 / Ch. 2025-77), or other non-civil reckless variants. Criminal traffic offenses are subject to the sealing and expungement provisions of Fla. Stat. §943.0585 and §943.059.

    Statutory sources: Fla. Stat. §316.192 · Fla. Stat. §316.1922 · Ch. 2025-77 (HB 351)

  2. is_mandatory_court_appearance+1.5

    30+ MPH over the posted speed limit, or any criminal traffic offense, requires a court appearance under Fla. Stat. §318.19. Administrative resolution at the clerk window is unavailable in these cases.

    Statutory sources: Fla. Stat. §318.19

  3. is_minor_driver+1.5

    Drivers under 18 face accelerated suspension. Under Fla. Stat. §322.161, a Class E licensee aged 15–17 hits a 'Business Purposes Only' restriction at just 6 points in 12 months — half the normal adult threshold.

    Statutory sources: Fla. Stat. §322.161

  4. is_cdl_consequence+1.5

    Commercial driver license (CDL) holders face 'serious traffic violation' stacking under 49 CFR 383.51 — two within 3 years triggers 60-day disqualification; three triggers 120 days. CDL holders are also BDI-ineligible and must report to their employer.

    Statutory sources: 49 CFR §383.51

  5. is_crash_involved+1.0

    A crash escalates point assessment under Fla. Stat. §322.27(3)(d) and exposes the driver to civil liability and the 'Three Crashes in Three Years' remediation requirement under §322.0261(1)(c).

    Statutory sources: Fla. Stat. §322.27(3)(d) · Fla. Stat. §322.0261(1)(c)

  6. is_school_or_construction_zone+1.0

    Speeding in an active school zone doubles the base fine under Fla. Stat. §316.1895 and removes BDI eligibility at 30+ MPH over. Construction-zone enhancements under §316.0815 require workers or signage to be present.

    Statutory sources: Fla. Stat. §316.1895 · Fla. Stat. §316.0815

The bounded sum is capped at 10.0. The pre_cap_total field in every response exposes the raw sum (FC + PC + SE) before the cap — useful when raw input forces the score over the ceiling.

Confidence + provenance

Every TRS response carries a confidence float in [0, 1] and a confidence_reason string. Confidence shrinks linearly from 1.0 toward 0.5 as the proportion of source rows flagged is_estimate increases. Source rows are flagged as estimates in two cases:

  • The county has no clerk-published court-cost override and falls back to the statewide default (no_clerk_published_override_for_this_county).
  • The statute provides a fine range and judicial discretion sets the exact amount (fine_within_statutory_range_judicial_discretion_applies).

When any source row is an estimate, the response includes a source_breakdownarray enumerating each row's kind, statute_refs, is_estimate, and estimate_reason. When all sources are concrete, the field returns null to keep the payload tight.

Public API

The TRS is computed by an unauthenticated public API designed for AI-agent consumption. The OpenAPI specification is discoverable at https://api.unilegal.app/api/public/v1/openapi.json.

Two calculator endpoints and three reference endpoints:

  • GET https://api.unilegal.app/api/public/v1/calculator/speeding?county=&mph_over=
  • GET https://api.unilegal.app/api/public/v1/calculator/violation?type=&county=
  • GET https://api.unilegal.app/api/public/v1/reference/counties
  • GET https://api.unilegal.app/api/public/v1/reference/speeding-tiers
  • GET https://api.unilegal.app/api/public/v1/reference/violations

Example request

A 15 MPH-over citation in Miami-Dade County (a county with a clerk-published court-cost override, so confidence is 1.0):

GET https://api.unilegal.app/api/public/v1/calculator/speeding?county=miami-dade&mph_over=15

Example response

{
  "inputs": { "county": "miami-dade", "mph_over": 15 },
  "trs_score": 5.83,
  "trs_model_version": "1.0.0",
  "confidence": 1.0,
  "confidence_reason": "all_sources_concrete",
  "statute_refs": [
    "Fla. Stat. §316.183",
    "§318.18(3)(c)",
    "§322.27(3)(d)",
    "Fla. Stat. §28.241",
    "Fla. Stat. §938.05"
  ],
  "source_date": "2026-05-31",
  "revision": "2026.05.31",
  "tier_label": "15-19_over",
  "classification": "Civil moving infraction",
  "points_assessed": 3,
  "base_fine_min_cents": 17500,
  "base_fine_max_cents": 17500,
  "court_costs_cents": 10800,
  "total_cost_min_cents": 28300,
  "total_cost_max_cents": 28300,
  "trs_cost_basis_cents": 28300,
  "cost_note": null,
  "requires_court_appearance": false,
  "bdi_eligible": true,
  "is_estimate": false,
  "breakdown": {
    "financial_component": 2.83,
    "point_component": 3.0,
    "statutory_enhancer_total": 0.0,
    "statutory_enhancer_components": {},
    "pre_cap_total": 5.83
  },
  "source_breakdown": null,
  "legal": {
    "disclaimer": "This data is generated by the TrafficTicket methodology model for educational purposes and does not constitute legal advice. Florida Statutes ch. 316, 318, and 322 and the FLHSMV point schedule are the authoritative sources. Actual fines and court costs vary by county clerk surcharge and judicial discretion.",
    "not_legal_advice": true,
    "consultation_url": "https://unilegal.app/consult",
    "consultation_note": "Consult a Florida-licensed attorney for any citation that may carry license points, criminal exposure, or court appearance."
  }
}

Rate limited per-IP (60 requests per minute). CORS is open to any origin. Every response carries revision, source_date, statute_refs, and a legal disclaimer block. No persuasion fields, no UTM-tagged links, no fear copy — just data with full provenance.

FAQ

What is the TrafficTicket Risk Score (TRS)?
TRS is a 10-point composite metric of the risk attached to a Florida traffic citation. It combines the immediate financial exposure, the license-point impact, and any structural statutory enhancers (criminal misdemeanor, mandatory court appearance, school zone, etc.) into a single 0.0–10.0 score that is reproducible from open statute data.
How is TRS calculated?
TRS = min(10.0, FC + PC + SE). FC = min(4.0, total_cost_cents / 10000.0). PC = points_assessed × 1.0. SE = sum of weighted enhancers (criminal misdemeanor +3.0; mandatory court +1.5; minor driver +1.5; CDL +1.5; crash +1.0; school/construction zone +1.0). The final score is rounded to two decimals.
Is the formula public?
Yes. The formula, every weight, every cap, and the underlying fee-schedule data are published under CC-BY-4.0. The reference implementation is open source; the methodology page mirrors what the API returns.
What does the confidence field mean?
Confidence shrinks linearly from 1.0 toward 0.5 as the proportion of source rows flagged is_estimate increases. A score of 1.0 means every source row used in the calculation is anchored in a published statute or clerk schedule; lower scores mean some rows are statewide estimates (e.g. a county without a clerk-published court-cost override).
Where does the fee data come from?
Florida Statutes ch. 316, 318, and 322; the FLHSMV point assessment schedule; and county clerk-of-court fee schedules where published. Every API response carries `revision`, `source_date`, and a flattened `statute_refs` list so consumers can attribute and audit any number.
Is the TRS legal advice?
No. The TRS is educational. Florida traffic-citation outcomes depend on case-specific facts, court discretion, and procedural defenses that no formula can capture. Every response includes a `not_legal_advice: true` flag and a `consultation_url` pointing to a Florida-licensed attorney.
How do I call the API?
Issue an HTTP GET to https://api.unilegal.app/api/public/v1/calculator/speeding?county=<slug>&mph_over=<int> or https://api.unilegal.app/api/public/v1/calculator/violation?type=<slug>&county=<slug>. The full OpenAPI specification is published at https://api.unilegal.app/api/public/v1/openapi.json. No authentication is required.
What is excluded from TRS v1.0.0?
v1.0.0 does not model individualized actuarial insurance impact (rates vary too widely by carrier and prior history to surface a single number honestly), prior-record interactions beyond the SE matrix, or hardship-license eligibility. These remain on the published methodology roadmap.

Model: v1.0.0 · Revision: 2026.05.31 · Source date: 2026-05-31

Source data: Florida Statutes chapters 316, 318, 322; FLHSMV point assessment schedule; Florida Clerks of Court fee schedules. Republished under a Creative Commons Attribution 4.0 International license.

This page describes an educational model. The TRS is not legal advice. Citation outcomes depend on case-specific facts, judicial discretion, and procedural defenses. Consult a Florida-licensed attorney about your specific citation.

Fight your ticket — $99 flat fee