Methodology

Tax Rates is a static rebuild, not a live database. A Python script reads the normalised JSON in data/tax/, computes a handful of summary statistics, and writes HTML, JSON and a sitemap. There are no pip dependencies.

Series and units

What we do not do

We do not change a published value, fill a gap with an interpolation, or substitute a national source for an OECD value. A missing rate stays missing.

Charts and tables

Charts are annual. The all-countries chart opens with the twelve highest latest rates; the legend and the table let you add or remove economies. Range buttons (10, 20, 30 years, or all history) filter the view only; they do not recompute a value. Country-filtered views chart that country plus a related set.

Reproducibility

A rebuild reads the same source files, so two runs produce the same pages. Hashing of CSS and JavaScript normalises line endings, so asset names do not change between Windows and Linux builds.

Ads

Pages load Google AdSense (publisher id ca-pub-6557770900386479, listed in ads.txt). There are no reserved layout boxes on the page; ads may still appear through the network script.