Technical Reference

Data Methodology

1. Primary Data Sources

SDCI Complaint and Citation Database (Primary)

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.

This file is 112MB. The raw line count of the source CSV is 235,216 because some complaint description fields contain embedded newline characters. The true record count, validated by parsing with proper CSV quoting rules, is 233,543.

SDCI Record Portal Export (Supplemental)

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.

RRIO Registration Database

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 Parcel Data

King County assessor parcel data was used to enrich address-level analysis with ownership and parcel information where applicable.

2. Record Counts and District Assignment

CategoryCountNotes
Total records in primary dataset233,543All complaint and citation types, all years
Records with district assigned230,872Districts 1 through 7
Records with NO district assigned2,671No geocode in SDCI source data; 1.1% of total
LLT records (all years)58,761Using LLT filter defined in Section 3
LLT records (2015-2025)46,108Open date 2015-01-01 through 2025-12-31

District Breakdown

DistrictAll RecordsLLT (All Years)LLT (2015-2025)
District 141,4668,0156,125
District 238,1659,3536,906
District 336,75911,3518,901
District 427,4987,0335,461
District 529,5737,5955,970
District 631,8296,6345,272
District 725,5838,0946,874
No district assigned2,671included in citywide-
The 2,671 unassigned records are included in citywide totals but excluded from all per-district calculations. This limitation is present in the SDCI source data.
Data quality note: The dataset contains records that appear to be miscoded or misclassified—including a 2004 relocation payment to the Seattle Public Library (2411 24th Ave E) that appears in the enforcement database as an open case. This is not an isolated error. It confirms that the raw data requires independent verification before it can be treated as authoritative. STLCA's analysis reports what the dataset contains; we do not assume the dataset is error-free. This further underscores the need for the independent audit recommended in our briefing.

3. Landlord/Tenant (LLT) Filter Definition

Filter Rule

A record is classified as a Landlord/Tenant (LLT) complaint if its RecordTypeDesc field meets any of the following three conditions:

RecordTypeDesc IS NULL (empty or blank) OR RecordTypeDesc contains "Emergency" OR RecordTypeDesc contains "LandLord/Tenant"

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.

Why Not "Contains LandLord" Only

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.

What LLT Does Not Include

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.

4. Verified Accountability Metrics

The following metrics are computed directly from the primary dataset using the LLT filter defined in Section 3.

MetricValueBasis
LLT cases with no inspection date and no documented result62.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 result59.8%Status = closed/completed AND inspection result blank
Still-open LLT cases5,936Status field indicates open/active
Oldest open case8,133 days2411 24th Ave E, opened November 2003
Median open case age852 daysAmong currently open LLT cases

District-Level Closed/No Inspection Result Rates

DistrictRate
District 156.6%
District 252.3%
District 362.9%
District 457.0%
District 558.8%
District 662.0%
District 767.2%
Citywide59.8%

5. Keyword Analysis Methodology

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.

TagDescription
No_HeatAbsence of adequate heating
No_Hot_WaterAbsence of hot water supply
Gas_ShutoffGas service interruption or shutoff
HABGeneral habitability conditions
EVICEviction notices, pay-or-vacate, unlawful detainer
DISPDisplacement, relocation, loss of housing
RENTRent increases, overcharges, deposit withholding
PERMITPermit violations, unlicensed work
LEGALLegal process, court orders, rights violations
PlumbingPlumbing failures, leaks, drain blockages
MoldMold, moisture, dampness
PestsInsect or rodent infestation
AppliancesAppliance failure or non-provision
ElectricalElectrical hazards, outages, wiring deficiencies
Fire_SafetyFire alarms, sprinklers, egress, fire hazards
StructuralStructural deficiencies (ceiling, floor, wall, foundation)
Trash_SiteRefuse accumulation, site maintenance failures
Tenant_RightsNotice requirements, access, discrimination, retaliation
Security_RetaliationSecurity failures, locks, lighting; landlord retaliation

6. RRIO Cross-Reference Methodology

All unique complaint addresses were extracted, normalized, and matched against the RRIO registration database using address string comparison.

MetricValue
Unique complaint addresses69,002
Addresses found in RRIO12,059 (17.5%)
Addresses not found in RRIO56,943 (82.5%)
Active registrations (of matches)9,293
Expired registrations (of matches)2,658
The 82.5% non-match rate is expected. The SDCI complaint database includes single-family homes (largely exempt from RRIO), commercial properties, Seattle Housing Authority properties (HUD-exempt), condominiums, and owner-occupied units. The RRIO program applies primarily to rental properties in buildings of two or more units. Cross-reference results should be interpreted in this context.

7. Limitations and Exclusions

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.

8. Reproducibility and File References

FileDescription
CITYWIDE_ALL_20251231_ENRICHED_01272025.csvPrimary SDCI complaint database - 233,543 records
CITYWIDE_ALL_20251231_ENRICHED_01272025__PLUS_RECORDLIST_TEXT.csvSame 233,543 rows with supplemental text columns (all-caps headers)
Rental_Property_Registration_20251110.csvRRIO registration database - 28,273 rows
SCRIPTS/d7_keyword_analysis.pyDistrict 7 keyword analysis
SCRIPTS/all_districts_keyword_analysis.pyAll 7 districts + unassigned in one pass
PROPERTY_RRIO_CROSSREF.csvRRIO cross-reference output - 69,002 rows
All STLCA reports citing "58,761 LLT cases" or "233,543 total records" derive these numbers from direct computation against CITYWIDE_ALL_20251231_ENRICHED_01272025.csv using the LLT filter defined in Section 3. Pre-built or snapshot files on external drives are not used as authoritative sources for published counts.