Data Source: Meeting transcripts from 438 cities in the Hamlet transcript database, analyzed using natural language processing. We processed transcript segments to identify adversarial language patterns, opposition statements, and discussion intensity.
Selection Criteria: Cities were included if they had 9+ transcribed meetings in Hamlet’s database with sufficient audio quality for analysis. This creates selection bias: we over-represent cities with active civic engagement infrastructure and accessible meeting recordings. Cities without transcribed meetings are not represented.
Contention Rate: Percentage of discussion blocks containing adversarial language. This includes direct opposition (“I oppose this”), criticism of process (“This wasn’t properly noticed”), challenges to claims (“That’s not accurate”), and interpersonal conflict. Measured on a 0-100 scale.
Opposition Frequency: Percentage of meetings where at least one speaker explicitly opposed a proposal. Also 0-100 scale.
Overall Friction Score: Weighted combination of contention rate (60%) and opposition frequency (40%), normalized to 0-100.
Minimum Coverage: Only cities with 9+ meetings analyzed were included to ensure statistical reliability.
Limitations: Transcript quality varies by city. Some municipalities don’t transcribe all meetings or may edit transcripts. Our NLP models may misclassify some language as adversarial. Friction scores should be interpreted as indicators, not definitive measures. The external sources cited validate city demographics; the friction scores themselves are derived from Hamlet’s proprietary NLP analysis of meeting transcripts.
Date Range: Transcripts analyzed span 2023 through January 2025.