Skip to main content
The calving front of Gyldenlove Glacier in southeast Greenland, photographed during Operation IceBridge in 2011
Climate Change Data Stories

CLIM-01 / SPM.A.1 / Observations and attribution

What does a cooler year say about warming?

2025 was cooler than 2024. The latest complete decade was substantially warmer than the one before it. A frozen global temperature record shows why both statements can be true.

NASA/GSFC/Michael Studinger. The calving front of Gyldenlove Glacier in southeast Greenland, photographed during Operation IceBridge in 2011. Contextual image; not used to estimate a trend. Image credits.

2025 minus 2024
−0.12°C
2016-2025 minus 2006-2015
+0.32°C
Reference baseline
1850–1900
Evidence vintage
IGCC 2025 / June 2026

Michael Schymura / September 8, 2026

The decade is warmer even when the year cools.

The global mean surface temperature estimate fell by 0.12 degrees Celsius between 2024 and 2025 in the Indicators of Global Climate Change 2025 dataset. That is a real annual decrease in this observational product. Yet the average for 2016-2025 was 1.256 degrees above 1850-1900, compared with 0.9338 degrees for 2006-2015: an increase of 0.3222 degrees between two complete, non-overlapping decades.

The apparent contradiction disappears once the unit of comparison is explicit. One statistic compares two annual observations. The other compares two groups of ten years. Neither should be renamed to make an argument easier, and neither is, by itself, a new estimate of human influence. The question is what each measure can establish.

01 / The annual observation

Keep the year. Change the window.

A global annual temperature estimate combines a long-run change in the climate system with natural forcing, internal variability, and observational uncertainty. A relatively cool year can occur within a warmer sequence, just as an unusually warm year can sit above it. The 2026 indicator assessment discusses the influence of internal ocean variability and natural drivers alongside human-caused warming.

The comparison below carries one year through different averaging windows. The default keeps 2025 fixed and compares its annual estimate, 1.391 degrees, with the ten-year mean ending in that year, 1.256 degrees. The averaging window includes its end year. A twenty- or thirty-year mean looks farther back and therefore answers a different question about the same record. It does not produce an alternative causal model.

Longer trailing means can lag a changing climate, because older observations retain weight. They reduce the prominence of an individual year but do not remove every source of variability. These windows are descriptive tools, not interchangeable definitions of the present warming level. The series and every comparison retain the original 1850-1900 baseline.

FIG. 01

The year fluctuates; the longer record accumulates

°C relative to 1850-1900. Annual observational estimates, 1850-2025; means include the selected end year.

Averaging window
Annual estimate10-year trailing mean
Annual global temperature estimates and complete trailing means176 annual estimates, 1850-2025, in °C relative to 1850-1900. Annual values fluctuate around a rising longer record. Left and right arrows select years; Home and End select endpoints. Exact values follow.-0.50.00.51.01.51850190019502000
2025: +1.391°C2016-2025 mean: +1.256°C

Source: IGCC 2025 / Forster et al. (2026), release v2026.06.02; retrieved September 8, 2026. No rebasing. Descriptive means are not attribution estimates or a test of a sustained warming threshold.

Exact values
Annual and selected 10-year mean, °C relative to 1850-1900
YearAnnual °C10-year mean °C
20251.3911.256
20241.5111.231
20231.4391.180
20221.1391.129
20211.0961.105
20201.2491.082
20191.2141.056
20181.0941.026
20171.1660.995
20161.2610.970
20151.1440.934
20140.9940.914
20130.9290.895
20120.8990.889
20110.8660.887
20100.9890.881
20090.9190.847
20080.7860.820
20070.9110.831
20060.9010.815
20050.9460.785
20040.7990.763
20030.8710.740
20020.8790.703
20010.8040.662
20000.6540.648
19990.6510.652
19980.8940.637
19970.7490.609
19960.6040.591
19950.7210.575
19940.5690.541
19930.5090.524
19920.4660.529
19910.6660.521
19900.6890.513
19890.5010.497
19880.6190.489
19870.5690.461
19860.4440.449
19850.3810.419
19840.3940.404
19830.5640.381
19820.3810.365
19810.5840.353
19800.5360.309
19790.4210.282
19780.3360.271
19770.4490.254
19760.1410.231
19750.2290.237
19740.1690.228
19730.3990.215
19720.2610.205
19710.1490.205
19700.2640.222
19690.3090.218
19680.1690.216
19670.2240.230
19660.1940.237
19650.1410.224
19640.0390.222
19630.2990.236
19620.2660.245
19610.3110.251
19600.2260.243
19590.2890.229
19580.3090.216
19570.2940.203
19560.0660.197
19550.1240.210
19540.1810.232
19530.3860.260
19520.3190.255
19510.2310.253
19500.0860.265
19490.1610.296
19480.1790.308
19470.2410.319
19460.1910.325
19450.3460.321
19440.4640.298
19430.3360.266
19420.2990.232
19410.3510.218
19400.3910.202
19390.2840.178
19380.2910.143
19370.3010.123
19360.1510.101
19350.1110.104
19340.1460.099
1933-0.0010.086
19320.1510.087
19310.1990.071
19300.1510.059
1929-0.0710.047
19280.0890.054
19270.0840.037
19260.1860.008
19250.054-0.019
19240.014-0.012
19230.014-0.006
1922-0.009-0.019
19210.076-0.031
19200.036-0.059
1919-0.001-0.081
1918-0.081-0.103
1917-0.209-0.114
1916-0.089-0.109
19150.131-0.097
19140.076-0.118
1913-0.119-0.150
1912-0.129-0.158
1911-0.206-0.151
1910-0.186-0.124
1909-0.219-0.093
1908-0.191-0.068
1907-0.154-0.060
19060.026-0.035
1905-0.074-0.029
1904-0.251-0.028
1903-0.191-0.016
1902-0.069-0.011
19010.071-0.017
19000.121-0.028
18990.029-0.056
1898-0.106-0.046
18970.094-0.035
18960.084-0.060
1895-0.059-0.079
1894-0.136-0.084
1893-0.134-0.082
1892-0.131-0.067
1891-0.044-0.048
1890-0.154-0.030
18890.124-0.010
18880.006-0.014
1887-0.1590.021
1886-0.1010.068
1885-0.1090.074
1884-0.1160.084
18830.0160.090
18820.0610.090
18810.1340.087
18800.0390.074
18790.0840.072
18780.3640.071
18770.3060.040
1876-0.0410.008
1875-0.0060.014
1874-0.0560.018
18730.0160.016
18720.0340.011
1871-0.004-0.011
18700.026-0.022
18690.066-0.031
18680.059-0.033
1867-0.011-0.043
18660.014-0.054
18650.034-0.057
1864-0.074-0.053
1863-0.039-0.041
1862-0.184-0.031
1861-0.116-0.003
1860-0.0590.013
18590.0510.014
1858-0.049Unavailable
1857-0.114Unavailable
1856-0.021Unavailable
18550.076Unavailable
18540.049Unavailable
18530.054Unavailable
18520.099Unavailable
18510.041Unavailable
1850-0.046Unavailable

Selected evidence: 2025, 10-year window. Annual +1.391°C; mean +1.256°C.

02 / The distribution

The shift is larger than one exceptional year.

An average can hide how its observations are distributed. The second view therefore keeps each annual estimate visible within a complete calendar decade. Ten points mean ten years, not ten independent experiments or ten climate models. The short mark identifies their arithmetic mean; it is not an uncertainty interval.

The groups move toward warmer conditions across the later part of the record, while variation remains within each decade. The question is not only which year holds a record, but where ordinary years lie relative to earlier groups. This is why selecting the two most recent observations can be an inadequate description of a longer change.

Calendar decades here run from 1850-1859 through 2010-2019. The incomplete 2020-2029 group is excluded rather than compared as though it contained ten observations. The headline comparison uses the complete rolling decades 2006-2015 and 2016-2025 instead. Those two windows do not overlap. The distinction between the figure's calendar groups and the headline's complete recent windows is deliberate.

FIG. 02

Whole groups of years move toward warmer conditions

°C relative to 1850-1900. Complete calendar decades, 1850-2019; ten observed years per row.

Annual observations within complete calendar decadesTen dots per decade represent annual estimates, not independent experiments. Short vertical marks show decade means. All groups share the same Celsius scale. The incomplete 2020s are excluded. Arrow keys inspect years.-0.50.00.51.01.51850s1850: −0.046°C1851: +0.041°C1852: +0.099°C1853: +0.054°C1854: +0.049°C1855: +0.076°C1856: −0.021°C1857: −0.114°C1858: −0.049°C1859: +0.051°C1860s1860: −0.059°C1861: −0.116°C1862: −0.184°C1863: −0.039°C1864: −0.074°C1865: +0.034°C1866: +0.014°C1867: −0.011°C1868: +0.059°C1869: +0.066°C1870s1870: +0.026°C1871: −0.004°C1872: +0.034°C1873: +0.016°C1874: −0.056°C1875: −0.006°C1876: −0.041°C1877: +0.306°C1878: +0.364°C1879: +0.084°C1880s1880: +0.039°C1881: +0.134°C1882: +0.061°C1883: +0.016°C1884: −0.116°C1885: −0.109°C1886: −0.101°C1887: −0.159°C1888: +0.006°C1889: +0.124°C1890s1890: −0.154°C1891: −0.044°C1892: −0.131°C1893: −0.134°C1894: −0.136°C1895: −0.059°C1896: +0.084°C1897: +0.094°C1898: −0.106°C1899: +0.029°C1900s1900: +0.121°C1901: +0.071°C1902: −0.069°C1903: −0.191°C1904: −0.251°C1905: −0.074°C1906: +0.026°C1907: −0.154°C1908: −0.191°C1909: −0.219°C1910s1910: −0.186°C1911: −0.206°C1912: −0.129°C1913: −0.119°C1914: +0.076°C1915: +0.131°C1916: −0.089°C1917: −0.209°C1918: −0.081°C1919: −0.001°C1920s1920: +0.036°C1921: +0.076°C1922: −0.009°C1923: +0.014°C1924: +0.014°C1925: +0.054°C1926: +0.186°C1927: +0.084°C1928: +0.089°C1929: −0.071°C1930s1930: +0.151°C1931: +0.199°C1932: +0.151°C1933: −0.001°C1934: +0.146°C1935: +0.111°C1936: +0.151°C1937: +0.301°C1938: +0.291°C1939: +0.284°C1940s1940: +0.391°C1941: +0.351°C1942: +0.299°C1943: +0.336°C1944: +0.464°C1945: +0.346°C1946: +0.191°C1947: +0.241°C1948: +0.179°C1949: +0.161°C1950s1950: +0.086°C1951: +0.231°C1952: +0.319°C1953: +0.386°C1954: +0.181°C1955: +0.124°C1956: +0.066°C1957: +0.294°C1958: +0.309°C1959: +0.289°C1960s1960: +0.226°C1961: +0.311°C1962: +0.266°C1963: +0.299°C1964: +0.039°C1965: +0.141°C1966: +0.194°C1967: +0.224°C1968: +0.169°C1969: +0.309°C1970s1970: +0.264°C1971: +0.149°C1972: +0.261°C1973: +0.399°C1974: +0.169°C1975: +0.229°C1976: +0.141°C1977: +0.449°C1978: +0.336°C1979: +0.421°C1980s1980: +0.536°C1981: +0.584°C1982: +0.381°C1983: +0.564°C1984: +0.394°C1985: +0.381°C1986: +0.444°C1987: +0.569°C1988: +0.619°C1989: +0.501°C1990s1990: +0.689°C1991: +0.666°C1992: +0.466°C1993: +0.509°C1994: +0.569°C1995: +0.721°C1996: +0.604°C1997: +0.749°C1998: +0.894°C1999: +0.651°C2000s2000: +0.654°C2001: +0.804°C2002: +0.879°C2003: +0.871°C2004: +0.799°C2005: +0.946°C2006: +0.901°C2007: +0.911°C2008: +0.786°C2009: +0.919°C2010s2010: +0.989°C2011: +0.866°C2012: +0.899°C2013: +0.929°C2014: +0.994°C2015: +1.144°C2016: +1.261°C2017: +1.166°C2018: +1.094°C2019: +1.214°C
2025: +1.391°CSelected year is outside the complete calendar decades.

Source: IGCC 2025 / Forster et al. (2026), release v2026.06.02; retrieved September 8, 2026. Dots are observed years; vertical ticks are means, not intervals. The incomplete 2020s are excluded.

Exact values
Complete calendar decades; °C relative to 1850-1900
PeriodYearsMean °CMinMax
1850-1859100.014-0.1140.099
1860-186910-0.031-0.1840.066
1870-1879100.072-0.0560.364
1880-188910-0.011-0.1590.134
1890-189910-0.056-0.1540.094
1900-190910-0.093-0.2510.121
1910-191910-0.081-0.2090.131
1920-1929100.047-0.0710.186
1930-1939100.178-0.0010.301
1940-1949100.2960.1610.464
1950-1959100.2290.0660.386
1960-1969100.2180.0390.311
1970-1979100.2820.1410.449
1980-1989100.4970.3810.619
1990-1999100.6520.4660.894
2000-2009100.8470.6540.946
2010-2019101.0560.8661.261

03 / The counter-evidence

Annual decreases do not disappear from a warming record.

The strongest version of the annual-cooling claim starts with a correct observation: the latest annual estimate fell. The error would be to treat the sign of that one change as the sign of the underlying long-run process. A first-difference view makes the test explicit.

From 1970 through 2025, 22 of the 56 annual changes in this frozen series were negative. The 1970 change uses 1969 as its comparison. Each value measures the difference from the immediately preceding year; it is not the anomaly level shown in the first figure. Positive and negative changes both remain visible around zero.

This count describes the record. It is not the probability that the next year will cool, a test of independence, or an estimate of an acceleration parameter. The selected start year is stated rather than hidden, and the full annual dataset is available for another window. The evidence supports a narrower conclusion: repeated annual decreases can coexist with a much warmer later period.

FIG. 03

A cooling year is part of the record

Annual change in °C, 1970-2025; zero means unchanged from the preceding year.

Annual temperature changes, 1970-202522 of 56 annual changes were negative. The 2025 change was minus 0.12 degrees Celsius. Values below zero mean a cooler year than the previous year, not cooling relative to pre-industrial conditions. Arrow keys inspect years.-0.30.0+0.31970198019902000201020201970 minus 1969: −0.045°C1971 minus 1970: −0.115°C1972 minus 1971: +0.112°C1973 minus 1972: +0.138°C1974 minus 1973: −0.230°C1975 minus 1974: +0.060°C1976 minus 1975: −0.088°C1977 minus 1976: +0.308°C1978 minus 1977: −0.113°C1979 minus 1978: +0.085°C1980 minus 1979: +0.115°C1981 minus 1980: +0.048°C1982 minus 1981: −0.203°C1983 minus 1982: +0.183°C1984 minus 1983: −0.170°C1985 minus 1984: −0.013°C1986 minus 1985: +0.063°C1987 minus 1986: +0.125°C1988 minus 1987: +0.050°C1989 minus 1988: −0.118°C1990 minus 1989: +0.188°C1991 minus 1990: −0.023°C1992 minus 1991: −0.200°C1993 minus 1992: +0.043°C1994 minus 1993: +0.060°C1995 minus 1994: +0.152°C1996 minus 1995: −0.117°C1997 minus 1996: +0.145°C1998 minus 1997: +0.145°C1999 minus 1998: −0.243°C2000 minus 1999: +0.003°C2001 minus 2000: +0.150°C2002 minus 2001: +0.075°C2003 minus 2002: −0.008°C2004 minus 2003: −0.072°C2005 minus 2004: +0.147°C2006 minus 2005: −0.045°C2007 minus 2006: +0.010°C2008 minus 2007: −0.125°C2009 minus 2008: +0.133°C2010 minus 2009: +0.070°C2011 minus 2010: −0.123°C2012 minus 2011: +0.033°C2013 minus 2012: +0.030°C2014 minus 2013: +0.065°C2015 minus 2014: +0.150°C2016 minus 2015: +0.117°C2017 minus 2016: −0.095°C2018 minus 2017: −0.072°C2019 minus 2018: +0.120°C2020 minus 2019: +0.035°C2021 minus 2020: −0.153°C2022 minus 2021: +0.043°C2023 minus 2022: +0.300°C2024 minus 2023: +0.072°C2025 minus 2024: −0.120°C
2025 minus 2024: −0.120°C

Source: IGCC 2025 / Forster et al. (2026), release v2026.06.02; retrieved September 8, 2026. Negative changes do not mean temperatures below the pre-industrial baseline. This count is not a probability forecast.

Exact values
Annual first differences, °C; 1970 uses 1969 as comparison
YearAnnual change °C
1970-0.045
1971-0.115
19720.112
19730.138
1974-0.230
19750.060
1976-0.088
19770.308
1978-0.113
19790.085
19800.115
19810.048
1982-0.203
19830.183
1984-0.170
1985-0.013
19860.063
19870.125
19880.050
1989-0.118
19900.188
1991-0.023
1992-0.200
19930.043
19940.060
19950.152
1996-0.117
19970.145
19980.145
1999-0.243
20000.003
20010.150
20020.075
2003-0.008
2004-0.072
20050.147
2006-0.045
20070.010
2008-0.125
20090.133
20100.070
2011-0.123
20120.033
20130.030
20140.065
20150.150
20160.117
2017-0.095
2018-0.072
20190.120
20200.035
2021-0.153
20220.043
20230.300
20240.072
2025-0.120

04 / The attribution boundary

A moving average cannot identify the cause.

The AR6 Synthesis Report assessed that human activities have unequivocally caused global warming, with global surface temperature reaching about 1.1 degrees Celsius above 1850-1900 in 2011-2020. That assessment is a scientific finding, not a conclusion newly inferred from the controls on this page.

Forster and colleagues' post-AR6 update reports observed warming of 1.26 degrees for 2016-2025, with a very-likely range of 1.13-1.36 degrees. Its separately assessed human-induced warming is 1.24 degrees, with a likely range of 1.0-1.5 degrees. For 2025 alone, the corresponding reported estimates are 1.39 and 1.37 degrees. The figure preserves the source's different interval definitions and reference periods.

Observed and human-induced estimates are not two independent datasets to subtract mechanically, and overlap between their intervals is not a significance test. Attribution draws on assessed methods, forcings, and climate-model information that the annual CSV does not contain. The interactive averages above perform none of that work. The rounded observed decade assessment reconciles with the 1.256-degree mean of the source's annual values, but that numerical agreement does not convert a mean into attribution.

FIG. 04

Attribution is an assessment, not a moving average

°C relative to 1850-1900. Published 2016-2025 and 2025 assessments, with original likelihood labels.

Published observed and human-induced warming assessmentsFour point-and-whisker rows show 2016-2025 and 2025 estimates relative to 1850-1900. Observed intervals are very likely, while human-induced intervals are likely; this is not a comparison of like-for-like precision.0.81.01.21.41.61.82016-2025: Observed warming, very likely range 1.13-1.36 degrees Celsius2016-2025 / Observed+1.26°Cvery likely range: 1.13-1.36 °C2016-2025: Human-induced warming, likely range 1-1.5 degrees Celsius2016-2025 / Human-induced+1.24°Clikely range: 1.00-1.50 °C2025: Observed warming, very likely range 1.26-1.52 degrees Celsius2025 / Observed+1.39°Cvery likely range: 1.26-1.52 °C2025: Human-induced warming, likely range 1.1-1.7 degrees Celsius2025 / Human-induced+1.37°Clikely range: 1.10-1.70 °C
2016-2025 / Observed warming: +1.26°C. very likely range 1.131.36 °C.

Source: IGCC 2025 / Forster et al. (2026), sections 7 and 8.1, Tables 5 and 6; reviewed assessment extract. Solid circles: observed, very likely ranges. Dashed squares: human-induced, likely ranges. Interval overlap is not a significance test.

Exact values
Published assessment intervals, °C relative to 1850-1900
Period / quantityEstimateLowerUpperRange
2016-2025 / Observed warming1.261.131.36very likely
2016-2025 / Human-induced warming1.241.001.50likely
2025 / Observed warming1.391.261.52very likely
2025 / Human-induced warming1.371.101.70likely

The comparison determines the answer.

For a reader assessing a temperature headline, the first question is which period it compares and against which baseline. A cooler 2025 describes an annual movement. A warmer 2016-2025 describes a complete-period change. The assessment of human influence is a third, separately supported statement.

The same care applies to 1.5 degrees. An annual observation above that level is not, on its own, a finding that a sustained global warming threshold has been crossed. Nor does a later annual decline establish that the longer-run risk has receded. The evidence needs its time scale, its uncertainty, and the method that gives the claim its meaning.

What these data do not show

  • This is a global observational-estimate series. It does not locate regional hazards, exposure, vulnerability, damages, or adaptation effectiveness.
  • The frozen annual CSV contains no row-level uncertainty ensemble. The page does not invent annual error bars or infer them from the spread of years.
  • Trailing means share observations and are not independent estimates. Longer windows are not automatically better estimates of current warming.
  • Published attribution intervals use different likelihood language from observed intervals. Their overlap is not a test, and this page fits no new attribution model.
  • The IGCC update is not an IPCC report. Source revisions can change historical values; this release preserves v2026.06.02 rather than mixing vintages.
  • No 2026 annual estimate is included. The source ends with the complete year 2025. NASA GISTEMP is a separate candidate product and is not used or rebased here.

Methods and provenance

The processing script reads the versioned IGCC annual_averages.csv file, validates its exact four-column schema and consecutive time bounds, and preserves all 176 GMST values for 1850-2025. The year is timebound_lower; no anomaly rebasing or missing-value imputation is performed. Trailing means require every year in the selected window. Calendar decades require ten observations. Annual changes subtract the preceding year's published value. Rankings use competition ranks, retaining ties.

Calculations retain source precision and are rounded only for display; generated means are retained to six decimal places. The observational assessment and human-induced estimates are a reviewed transcription of sections 7 and 8.1, Tables 5 and 6 of Forster et al. (2026). Their source wording and interval types are retained separately from the annual calculations.

The dataset was retrieved on September 8, 2026, from the publisher's v2026.06.02 release. The source and derivative receipts retain SHA-256 hashes. Data and assessment material are credited under CC BY 4.0. A later refresh requires its own version record and reconciliation; it must not overwrite this snapshot.

The original research brief

The question

2025 was 0.12 degrees Celsius cooler than 2024, while 2016-2025 was about 0.32 degrees warmer than 2006-2015. A frozen IGCC record separates annual changes, period averages, and published attribution.

Why it matters

Readers need a defensible way to interpret temperature headlines without confusing short-run variability with a sustained warming level.

The AR6 anchor

AR6 assesses human-caused warming, with global surface temperature about 1.1 degC above 1850-1900 in 2011-2020.

AR6 Synthesis Report (2023) / A.1; B.1.

Evidence and comparison

Unit of analysis
World-year; derived complete ten-year windows within one product.
Baseline and denominator
IGCC retains 1850-1900. NASA remains a separate companion on its native 1951-1980 baseline: no merging, rebasing, or assumed offset.
First descriptive test
Compare adjacent annual changes with 2006-2015 and 2016-2025 means, retaining exact annual observations and identifying the distinction between overlapping and non-overlapping windows.
Deeper analysis
Compare annual, ten-, twenty-, and thirty-year trailing means with complete calendar-decade distributions and first differences. These windows do not define Paris Agreement compliance or reproduce attributed warming.
Attribution status
descriptive observation
Uncertainty
Preserve source uncertainty where supplied; a rolling average does not create an attribution interval. Do not manufacture row-level bounds from rounded assessment ranges.

Principal sources

  • Indicators of Global Climate Change

    Year; Observed global mean surface temperature anomaly (degC); Published observed and human-induced warming estimates and interval bounds.

    1850-2025; annual_averages.csv, v2026.06.02; retrieved 2026-09-08. Published assessment periods: 2016-2025 and 2025. Verified pilot import.
  • NASA GISTEMP v4

    Year; Annual land-ocean temperature anomaly (degC).

    Candidate operational companion, not imported: initial CSV request failed. Native 1951-1980 baseline retained in the source description. Not used in the implemented analysis.

Alternative explanations

  • Internal ocean variability
  • Volcanic and aerosol influences
  • Observational revisions

The visual argument

Validated annual line chart with a selected year and complete averaging-window control; exact readout, keyboard and tap selection, and restorable evidence URL.

  • Strip plot of complete calendar decades
  • Zero-centered annual-change run chart
  • Published observed and attributed point-and-whisker assessments
  • Exact tables and downloadable CSVs

What these data do not show

  • One year cannot establish a sustained warming level.
  • Shared underlying observations limit independence between products.

Reproducibility and next release

Run node scripts/climate-change/fetch.mjs to verify or acquire the immutable source, then node scripts/climate-change/generate.mjs and its --check mode. Frozen data/raw/v2026.06.02 inputs, processed CSV and provenance/qa-data.json retain source identity, coverage, calculations and hashes.

  • After approval: web study and methods
  • Responsive charts and exact values
  • 16:9 hero
  • LinkedIn launch; optional PDF carousel
  • Light/dark exports
  • Processed CSV and provenance