STLCA STLCAThe accountability layer between complaint and policy.

STLCA Dashboard - City Records

Complaints vs NOVs (RecordNum ends with -CP and -VI), missing inspection dates, blanks, and status integrity. Filters update everything in real time.

Total Records
0
All record types (complaints, NOVs, citations, etc.)
Complaints (CP)
0
RecordNum ends with -CP
Notices of Violation (VI)
0
RecordNum ends with -VI
% NOV per Complaint
0%
Higher means more enforcement relative to complaints
Missing Inspection Date
0
No LastInspDate (or flagged “No Inspection Date”)
Closed/Completed with No Inspection Date
0
Cannot verify response time or whether a site visit occurred
Blank RecordTypeDesc
0
Uncategorized: RecordTypeDesc is empty
Emergency (Unqualified)
0
Included inside Landlord/Tenant totals

Complaints vs NOVs over time (counts)

All Years · Citywide

NOV conversion rate by year (% VI per CP)

All Years · Citywide

NOV rate by district (highest to lowest)

All Years · Citywide

Top categories: Complaints vs NOVs

All Years · Citywide

The Verification Gap

If a record is marked “Closed” or “Completed” but has no inspection date, the public cannot verify if SDCI responded, how long it took, or whether a site visit happened at all. This is an evidence integrity problem, not a paperwork problem.

Missing inspection rate by district (% records)

All Years · Citywide

Missing inspection dates by status (present vs missing)

All Years · Citywide

Records missing an inspection date (by Open Year)

All Years · Citywide

Oldest “Open / Under Investigation” records (top 25)

All Years · Citywide
Open DateRecordStatusCategoryAddress
If a record has no Open Date, it is excluded from this table. Click a record number to open that complaint in the SDCI portal search.

Calculation rules used in this dashboard

  • Complaint = RecordNum ends with -CP.
  • NOV = RecordNum ends with -VI.
  • % NOV per Complaint = NOVs ÷ Complaints.
  • Missing inspection date = No LastInspDate (or “No Inspection Date” flag).
  • Closed/Completed with no inspection date = StatusCurrent is exactly Closed or Completed, and inspection date is missing.
  • Blank RecordTypeDesc = RecordTypeDesc is empty.
  • Emergency = RecordTypeDesc equals Emergency.

How to read the top KPIs

Complaints are demand. NOVs are enforcement. The gap between them is where tenant protection either happens or it doesn’t. Use the filters to compare Citywide vs your district and to isolate 2025.

Why the inspection gap matters evidence integrity

A closure without an inspection date is functionally unverifiable. It may still be legitimate, but the record as published cannot prove it. That is exactly the kind of ambiguity that allows repeat noncompliance to survive.

Closed/Completed with no inspection date

0
These are the “trust me” closures.

Blank RecordTypeDesc

0
Work that can’t be traced to a department or type.

NOV rate by district (quick view)