Static CSV analyzer

Contribution Dataset Analyzer

Compare any number of same-format CSV datasets by contributor profile fields, numeric distributions, and state-level count heat maps.

Load status Not loaded Upload CSVs, or host files named dataset_a.csv, dataset_b.csv, etc. beside this page.
Data setup Upload any number of CSVs, or load same-folder CSV paths.

Data setup

Upload as many CSV files as you want. Static-hosting mode can also fetch comma-separated paths from the same folder. Dataset names are inferred from the most frequent committee_name value.

Hosting note

For automatic same-folder CSV loading, deploy the folder through Cloudflare Pages, GitHub Pages, Netlify, or a local static server. Opening index.html directly from disk can block fetch(), but the file picker still works.

State heat maps by filtered count

This tile heat map uses contributor_state. Hover a state for raw count, percent of that filtered dataset, top cities, and top ZIP codes.

Contributor profile data

Each vertical chart shows the top N values by filtered row count. The final bar groups all remaining values, including blanks. Hover the Other bar to see the next five most frequent values grouped into it.

Numeric filters and distributions Collapsed by default. Amount/YTD filters and bucket settings update maps, profile charts, distributions, and tables.

Numeric filters and distributions

Min/max filters default to no limit. Buckets are recomputed after filtering. Aggregate YTD can hint at repeat/unique contributor behavior, but it is not a unique-person identifier by itself.

Summary

All filtered dataCollapsed by default. Sort by clicking headers. Use column controls to show more fields.