The primary data source for all STLCA analysis is the SDCI complaint and citation export file CITYWIDE_ALL_20251231_ENRICHED_01272025.csv. This file was obtained from SDCI public data exports covering records through December 31, 2025. The file contains 233,543 complaint and citation records spanning 2003 through 2025.
For property-level case studies, supplemental data was obtained from the SDCI public portal record list export (RecordList20260207.csv). This export provides record-level text fields including complaint descriptions, resolution notes, and status details.
The file Rental_Property_Registration_20251110.csv contains 28,273 RRIO registration records as of November 2025. Used for cross-reference analysis only; does not affect LLT complaint counts.
King County assessor parcel data was used to enrich address-level analysis with ownership and parcel information where applicable.
| Category | Count | Notes |
|---|---|---|
| Total records in primary dataset | 233,543 | All complaint and citation types, all years |
| Records with district assigned | 230,872 | Districts 1 through 7 |
| Records with NO district assigned | 2,671 | No geocode in SDCI source data; 1.1% of total |
| LLT records (all years) | 58,761 | Using LLT filter defined in Section 3 |
| LLT records (2015-2025) | 46,108 | Open date 2015-01-01 through 2025-12-31 |
| District | All Records | LLT (All Years) | LLT (2015-2025) |
|---|---|---|---|
| District 1 | 41,466 | 8,015 | 6,125 |
| District 2 | 38,165 | 9,353 | 6,906 |
| District 3 | 36,759 | 11,351 | 8,901 |
| District 4 | 27,498 | 7,033 | 5,461 |
| District 5 | 29,573 | 7,595 | 5,970 |
| District 6 | 31,829 | 6,634 | 5,272 |
| District 7 | 25,583 | 8,094 | 6,874 |
| No district assigned | 2,671 | included in citywide | - |
A record is classified as a Landlord/Tenant (LLT) complaint if its RecordTypeDesc field meets any of the following three conditions:
This three-condition rule was developed through iterative review of the SDCI dataset structure. The blank RecordTypeDesc condition is included because a substantial share of LLT complaints carry no record type designation but share complaint description patterns, inspector assignment patterns, and resolution patterns with explicitly labeled LandLord/Tenant records.
A narrower rule using only records where RecordTypeDesc contains "LandLord" produces approximately 3,299 records for District 7 instead of the correct 8,094, an undercount of approximately 60%. This narrow rule is not used in any current STLCA analysis.
The LLT filter excludes commercial property complaints, construction and permit violations unrelated to residential occupancy, zoning complaints, and records with explicit non-residential record type designations.
The following metrics are computed directly from the primary dataset using the LLT filter defined in Section 3.
| Metric | Value | Basis |
|---|---|---|
| LLT cases with no inspection date and no documented result | 62.3% | 36,633 records have neither field populated. An additional 9 records have a date but no result. Combined: 62.4% (36,642) have no documented outcome. |
| Closed LLT cases with no inspection result | 59.8% | Status = closed/completed AND inspection result blank |
| Still-open LLT cases | 5,936 | Status field indicates open/active |
| Oldest open case | 8,133 days | 2411 24th Ave E, opened November 2003 |
| Median open case age | 852 days | Among currently open LLT cases |
| District | Rate |
|---|---|
| District 1 | 56.6% |
| District 2 | 52.3% |
| District 3 | 62.9% |
| District 4 | 57.0% |
| District 5 | 58.8% |
| District 6 | 62.0% |
| District 7 | 67.2% |
| Citywide | 59.8% |
The keyword analysis tags each LLT complaint record with one or more of 19 issue categories based on the text of the complaint description field. Each description is processed using spaCy lemmatization (normalizing word forms to root form) combined with rapidfuzz fuzzy matching at a similarity threshold of 85, capturing misspellings and OCR artifacts.
| Tag | Description |
|---|---|
| No_Heat | Absence of adequate heating |
| No_Hot_Water | Absence of hot water supply |
| Gas_Shutoff | Gas service interruption or shutoff |
| HAB | General habitability conditions |
| EVIC | Eviction notices, pay-or-vacate, unlawful detainer |
| DISP | Displacement, relocation, loss of housing |
| RENT | Rent increases, overcharges, deposit withholding |
| PERMIT | Permit violations, unlicensed work |
| LEGAL | Legal process, court orders, rights violations |
| Plumbing | Plumbing failures, leaks, drain blockages |
| Mold | Mold, moisture, dampness |
| Pests | Insect or rodent infestation |
| Appliances | Appliance failure or non-provision |
| Electrical | Electrical hazards, outages, wiring deficiencies |
| Fire_Safety | Fire alarms, sprinklers, egress, fire hazards |
| Structural | Structural deficiencies (ceiling, floor, wall, foundation) |
| Trash_Site | Refuse accumulation, site maintenance failures |
| Tenant_Rights | Notice requirements, access, discrimination, retaliation |
| Security_Retaliation | Security failures, locks, lighting; landlord retaliation |
All unique complaint addresses were extracted, normalized, and matched against the RRIO registration database using address string comparison.
| Metric | Value |
|---|---|
| Unique complaint addresses | 69,002 |
| Addresses found in RRIO | 12,059 (17.5%) |
| Addresses not found in RRIO | 56,943 (82.5%) |
| Active registrations (of matches) | 9,293 |
| Expired registrations (of matches) | 2,658 |
The SDCI complaint database records the filing and administrative disposition of complaints. It does not record: whether an inspection physically occurred if no inspection date was entered; whether conditions were resolved informally; the outcome of administrative closures (including "Voluntary Compliance"); tenant complaints not filed with SDCI; or the current physical condition of any property.
When this analysis states that a record has "no inspection result" or "no inspection date," this refers to the absence of that field in the dataset. The record does not establish with certainty whether no inspection occurred; it establishes that no inspection was documented. STLCA does not distinguish between undocumented inspections and inspections that did not occur.
2,671 records (1.1%) carry no district assignment in the source data and are excluded from all per-district calculations but included in citywide totals. This exclusion is noted in every report presenting district-level data.
| File | Description |
|---|---|
| CITYWIDE_ALL_20251231_ENRICHED_01272025.csv | Primary SDCI complaint database - 233,543 records |
| CITYWIDE_ALL_20251231_ENRICHED_01272025__PLUS_RECORDLIST_TEXT.csv | Same 233,543 rows with supplemental text columns (all-caps headers) |
| Rental_Property_Registration_20251110.csv | RRIO registration database - 28,273 rows |
| SCRIPTS/d7_keyword_analysis.py | District 7 keyword analysis |
| SCRIPTS/all_districts_keyword_analysis.py | All 7 districts + unassigned in one pass |
| PROPERTY_RRIO_CROSSREF.csv | RRIO cross-reference output - 69,002 rows |