City of Boston public payroll explorer

Methodology

This site ingests annual CSV and XLSX files from the Analyze Boston Employee Earnings Report, normalizes the public fields into a consistent schema, and generates summary pages for names, departments, titles, and years.

The import pipeline pulls annual CSV resources from the Analyze Boston Employee Earnings Report dataset when available. Each row is normalized into a single `payroll_records` table with cleaned text fields, cents-based money columns, SEO-safe slugs, and a stable row hash for idempotent re-imports.

Summary tables for employees, departments, titles, and years are regenerated from the raw payroll records so public pages can render quickly with indexed lookups. Search is intentionally simple and server-side. The site favors plain SQL aggregates, server-rendered HTML, and light caching over heavier search or frontend infrastructure.

Important limitation: employee pages represent records grouped by the same reported name and do not claim perfect person-level identity resolution. This is deliberate. It keeps the site factual and avoids overstating what the source data can prove.