The year 2019 marked the 30th anniversary of the fall of the Berlin Wall and the opening of the inner-German border. Millions of people have since left the east for western Germany in hopes of a better life, thus triggering a demographic crisis. We’ve evaluated data on every single move that has taken place ever since. For the first time, it is now possible to tell one of the least-documented stories of German post-war history.
The key visual is an animated map where each dot corresponds to a single move illustrating the historic movement in a very personal manner.
The story shows the force with which migration has hit most of the regions in the former East Germany and what consequences it still has in these districts today. We were able to show that areas that have experienced the greatest population loss are more susceptible to right-wing populist parties.
However, the data evaluation also shows a surprising historical watershed moment for the year 2017: For the first time, more people moved from west to east than in the other direction. For the time being, decades of outward migration has been halted – and it shows that there’s cause for hope.
Our data story was covered by media around the world, such as Voice of America in the USA or the daily Dagens Nyheter in Sweden. The German public TV station MDR reported about the data and even hosted a talk show on the topic. German local media printed reports based on our data on migration in their respective regions.
In the meantime, we have also made the data set available to scientists from Harvard and Stanford for research purposes. For example, the data gives the researchers an opportunity to examine the extent to which the expansion of the German long-term care sector in the mid-90s – after the introduction of the social long-term care insurance in reunified Germany – was made possible due to the willingness of people arriving from the former GDR to take up these jobs. This historical episode allows them to shed light on the challenges and possible solutions relating to the shortages of labour and the quality of jobs in the long-term care sector today.
We cleaned the data in Python and Pandas and double-checked it in R using absolute numbers of relocations per town from a second source. We then built a database in Postgres. We analysed the data in iPython Jupyter Notebooks, R, Excel and QGIS. We also used our good old-fashioned printer to have a look at a lot of small multiples of the migrations flows to inspect the data physically.
We used React to build the interactive visualisations in the article. The flow map used react-three-fibre and custom shaders to render one moving dot for every move in Germany along pre-computed paths. We calculated those paths using Force-directed edge bundling. The population change visualisation was done with d3’s force simulation to lay out the points. Line charts made use of d3’s scales and path drawing code. We also used Adobe Illustrator to finalise our static graphics.
What was the hardest part of this project?
We obtained the data in their raw form as unstructured Excel files by year and state. In total, the raw data compromised 288 Excel tables in different formats and without uniform columns. There were separate entries for moves from and to one town. However, these two entries were not symmetrical. We consulted with the Statistical Offices, resulting in several data corrections and the discovery of missing entries. Some of the places, that stood out most in our analysis, were in fact transit centres for the resettlement of German-Polish repatriates.
The data were also not directly comparable because district borders in Germany have changed over time. As a workaround, we used the most recent demarcations from 2017 provided by the Federal Institute for Research on Building, Urban Affairs and Spatial Development. Using the institute’s conversion keys, past moves are counted as a proportion of the population of the new district. This may result in deviations due to rounding. To show relative migration flows, we used census-adjusted population figures from the Federal Institute.
Visualising the migration flows on the animated map proved to be challenging, too. Several visualisation ideas didn’t work. So, we summarised them by Force-directed edge bundling. But we weren’t able to calculate these maps on our computers. We had to use the VR machine from the video department with a powerful graphics chip.
What can others learn from this project?
We introduced a two-eyes principle in the data cleaning and analysis process: Two team members used different sources, programming languages and approaches to compare and verify their results in the end.
www.zeit.de/politik/deutschland/2019-05/ost-west-wanderung-abwanderung-ostdeutschland-umzug (Original publication May 2nd, Translation: May 30th)