PanelCensus

Methodology & data

Dataset updated . Dataset timestamp — drives every JSON-LD dateModified and sitemap lastmod on this site.

Source

LBNL Tracking the Sun

The installation spine is Lawrence Berkeley National Laboratory's Tracking the Sun public dataset — the most comprehensive research dataset of US distributed solar, compiled from state agencies, utilities and incentive-program administrators. PanelCensus currently carries 3,426,466 installation records ingested from the OEDI parquet mirror of the 2024 release, covering 27 states. Records include system size, installed price, install date, ZIP/city/state, customer segment, third-party ownership, equipment manufacturers and battery attachment. Missing-value sentinels (-1, -9999, noMatch) are nulled at ingest.

Coverage caveat: Tracking the Sun includes only jurisdictions with installation-level reporting programs. States without a program do not appear, and covered states differ in how completely and how recently they report. All counts on this site are "recorded installations," not market totals.

Entity resolution

How installers are resolved

Installer names in the source are messy free text ("SolarCity", "Solar City Corp", "SOLARCITY CORP #4"). We resolve 3,426,466 records into 14,133 canonical installers by conservative, deterministic normalization: unwrap provider wrappers, fold to ASCII uppercase, strip punctuation and trailing branch numbers, iteratively strip corporate suffixes (INC/LLC/CORP/…), and group on the exact normalized key — no fuzzy matching. Near-miss clusters (e.g. SOLARCITY vs SOLAR CITY) are left unmerged pending human review, so a company may appear under more than one profile. Sentinels, self-installs and the literal "redacted" anonymization used by some programs are excluded from resolution.

Profiles with fewer than 5 recorded installs are published but marked noindex and excluded from sitemaps (completeness gate).

Geography

County derivation

The OEDI mirror carries ZIP-level geography only. County pages are derived by mapping each installation ZIP to its primary county — the county with the largest land-area overlap in the Census 2020 ZCTA↔county relationship file. ZIP codes that straddle county lines are attributed entirely to the primary county, so county figures are approximate at boundaries. About 3,150,832 of 3,426,466 records map to a county this way.

Statistics

Sanity bounds & medians

Medians are used throughout (never means — program price fields are heavy-tailed). Price-per-watt medians are computed within a 0.3–25 $/W band; total prices within $100–$10M; system sizes within 0–100 MW; install dates within 1990–2026 (the source contains 1899/9999 placeholder dates). Prices are nominal, pre-incentive, as reported to programs; third-party-owned systems sometimes report appraised rather than transaction values.

Freshness

Update cadence

LBNL releases Tracking the Sun roughly annually; each release is re-ingested in full (upserts are id-stable on the source natural key, so URLs never orphan). The dataset timestamp above is the MAX ingest time across all tables and drives every dateModified and sitemap lastmod on the site.

Licensing

Use & attribution

PanelCensus pages and aggregates are free to cite with attribution to "PanelCensus (panelcensus.com)". The underlying Tracking the Sun data is public, produced by LBNL with DOE funding — cite LBNL for the raw dataset itself. Figures here are screening estimates derived from public data; verify independently before relying on them for underwriting or contractual decisions. Contact: kenny@hyder.me.