Home

Awesome

COVID-19 vaccination doses administered in Germany, per state

Archived; see https://github.com/robert-koch-institut/COVID-19-Impfungen_in_Deutschland instead.


The year is 2021. The RKI is sharing vaccination statistics through an Excel spreadsheet. The spreadsheet only contains detailed data for a single day at a time — meaning historical data is lost every time the sheet gets updated.

This repository aims to…

  1. extract the data into CSV for easier machine-readability
  2. pull in hourly, automated updates
  3. preserve the historical data for each German state
  4. visualize the data with charts

As of 2021-02-11, this repository also provides data on vaccine orders being delivered into Germany.

CSV details

pubDate vs. date

The CSV contains two date columns:

Usually, the spreadsheets containing the statistics for day X are published on day X + 1, but there have been exceptions where the stats got published on the same day. In case multiple spreadsheets are released containing data for the same date, we only consider the latest version.

Partially vs. fully vaccinated

There’s been some confusion about what “partial” vaccination means. Given that there are multiple potentially interesting metrics that RKI does not report directly, we derive and expose the following additional columns:

Anomalies in the data

Cumulative vaccination metrics cannot decrease over time, yet sometimes the reported data contains such a “drop” (as reflected in the charts). These anomalies match the data reported by the RKI, which sometimes overreports statistics and then corrects the numbers for the next day, or vice versa. (Sadly, the RKI doesn’t publish corrected numbers for the previous day, else we could retroactively correct our data.)

<!-- START AUTO-UPDATED ANOMALIES SECTION -->
datestatemetricprevious valuecurrent valuedelta
2021-01-17Mecklenburg-Vorpommerninitial doses37,57037,564-6
2021-01-17Mecklenburg-Vorpommerntotal doses37,57037,564-6
2021-01-17Sachsen-Anhaltinitial doses33,18233,148-34
2021-01-19Bremeninitial doses12,86612,799-67
2021-01-19Mecklenburg-Vorpommernfinal doses1,157379-778
2021-01-21Saarlandinitial doses18,61216,773-1,839
2021-01-26Bayernfinal doses93,62886,350-7,278
2021-01-26Bayerninitial doses290,683278,653-12,030
2021-01-26Bayerntotal doses384,311365,003-19,308
2021-02-11Mecklenburg-Vorpommerninitial doses64,30860,805-3,503
2021-02-11Mecklenburg-Vorpommerntotal doses93,20092,448-752
2021-02-28Mecklenburg-Vorpommerninitial doses79,50279,501-1
2021-02-28Mecklenburg-Vorpommerntotal doses128,499128,498-1
2021-03-12Nordrhein-Westfalenfinal doses558,007514,244-43,763
2021-03-12Nordrhein-Westfaleninitial doses1,240,9271,201,981-38,946
2021-03-12Nordrhein-Westfalentotal doses1,798,9341,716,225-82,709
2021-03-30Hamburgfinal doses91,01089,410-1,600
2021-03-30Hamburginitial doses219,143209,069-10,074
2021-03-30Hamburgtotal doses310,153298,479-11,674
2021-03-30Mecklenburg-Vorpommerninitial doses166,043165,242-801
2021-03-30Rheinland-Pfalzfinal doses182,576177,288-5,288
2021-03-30Rheinland-Pfalzinitial doses493,446485,363-8,083
2021-03-30Rheinland-Pfalztotal doses676,022662,651-13,371
2021-04-09Brandenburginitial doses427,850404,970-22,880
2021-04-09Brandenburgtotal doses554,574536,065-18,509
2021-04-28Brandenburgfinal doses180,753174,796-5,957
2021-06-09Sachsen-Anhaltinitial doses956,099936,310-19,789
2021-06-15Bayerninitial doses5,953,0055,860,235-92,770
2021-06-15Bayerntotal doses9,460,4199,459,403-1,016
2021-07-01Sachseninitial doses1,910,5061,880,100-30,406
2021-07-01Sachsentotal doses3,382,3613,370,828-11,533
2021-08-20Baden-Württembergavailable doses14,243,06214,137,462-105,600
2021-08-20Bayernavailable doses17,042,18716,303,837-738,350
2021-08-20Berlinavailable doses5,007,4404,953,840-53,600
2021-08-20Brandenburgavailable doses3,210,8483,182,248-28,600
2021-08-20Bremenavailable doses930,333911,133-19,200
2021-08-20Hamburgavailable doses2,569,7362,512,736-57,000
2021-08-20Hessenavailable doses8,567,6328,497,032-70,600
2021-08-20Mecklenburg-Vorpommernavailable doses2,155,4442,122,644-32,800
2021-08-20Niedersachsenavailable doses10,909,19210,788,792-120,400
2021-08-20Nordrhein-Westfalenavailable doses24,421,45523,484,505-936,950
2021-08-20Rheinland-Pfalzavailable doses5,180,2235,079,323-100,900
2021-08-20Sachsen-Anhaltavailable doses2,758,0252,736,025-22,000
2021-08-20Sachsenavailable doses4,741,5004,590,300-151,200
2021-08-20Schleswig-Holsteinavailable doses3,879,6563,836,656-43,000
2021-08-20Thüringenavailable doses2,711,3572,680,557-30,800
2021-09-03Baden-Württembergavailable doses14,252,10213,935,602-316,500
2021-09-03Bayernavailable doses16,757,71316,711,213-46,500
2021-09-03Berlinavailable doses5,137,0205,063,120-73,900
2021-09-03Brandenburgavailable doses3,239,8393,236,039-3,800
2021-09-03Bremenavailable doses929,979927,279-2,700
2021-09-03Hamburgavailable doses2,590,1782,549,178-41,000
2021-09-03Hessenavailable doses8,620,3128,618,012-2,300
2021-09-03Mecklenburg-Vorpommernavailable doses2,152,4872,140,787-11,700
2021-09-03Niedersachsenavailable doses10,977,06610,785,966-191,100
2021-09-03Rheinland-Pfalzavailable doses5,169,9215,146,721-23,200
2021-09-03Sachsen-Anhaltavailable doses2,777,2212,735,521-41,700
2021-09-03Sachsenavailable doses4,671,5064,671,006-500
2021-09-26Niedersachsenavailable doses11,049,13011,039,530-9,600
2021-10-25Baden-Württembergavailable doses14,739,72214,248,422-491,300
2021-10-25Bayernavailable doses18,055,99717,738,697-317,300
2021-10-25Brandenburgavailable doses3,413,9433,222,943-191,000
2021-10-25Bremenavailable doses1,035,4841,005,484-30,000
2021-10-25Hamburgavailable doses2,746,3802,665,280-81,100
2021-10-25Hessenavailable doses9,205,5018,857,501-348,000
2021-10-25Mecklenburg-Vorpommernavailable doses2,241,7182,162,418-79,300
2021-10-25Niedersachsenavailable doses11,396,31310,985,913-410,400
2021-10-25Nordrhein-Westfalenavailable doses25,555,07925,201,179-353,900
2021-10-25Rheinland-Pfalzavailable doses5,491,2175,413,417-77,800
2021-10-25Saarlandavailable doses1,528,5561,483,456-45,100
2021-10-25Sachsen-Anhaltavailable doses2,909,2482,861,048-48,200
2021-10-25Sachsenavailable doses4,983,6504,912,850-70,800
2021-10-25Schleswig-Holsteinavailable doses4,202,1334,142,133-60,000
2021-10-25Thüringenavailable doses2,942,8252,794,025-148,800
2021-12-19Berlinfinal doses2,633,1692,590,531-42,638
2021-12-19Berlininitial doses2,597,8092,592,364-5,445
2022-02-27Hesseninitial doses4,561,2334,558,716-2,517
2022-04-12Rheinland-Pfalzavailable doses8,649,1248,438,314-210,810
2022-04-19Thüringeninitial doses1,392,7421,392,721-21
2022-04-20Nordrhein-Westfalenavailable doses45,016,66444,887,814-128,850
<!-- END AUTO-UPDATED ANOMALIES SECTION -->

These are not issues in our scripts!

Related projects

You can preview the raw data provided by this repository in GitHub’s Flat Viewer.

To view historical snapshots of the source Excel files from the RKI, consult evilpie/Impfquotenmonitoring or ard-data/2020-rki-impf-archive.

To view similar data for the city of Munich specifically, refer to mathiasbynens/covid-19-vaccinations-munich.

This repository complements the incredible owid/covid-19-data project, which includes vaccination data for Germany as a whole, but not for individual German states. The sociepy/covid19-vaccination-subnational project offers a global collection of regional vaccination data, and relies on our data (❤️).