CASE STUDY · DATA PRODUCT

The Arrivals Board

I was asked for a heat map of where six diaspora communities live in Germany. The data to draw one doesn't exist at that resolution, so I built a departures board that shows exactly what the registers can prove, and says so out loud when they can't.

ROLE
Researcher & Product Designer
CONTEXT
Internal route marketing tool
SCOPE
Research audit, data design, interactive prototype
VERSIONS
V1 → V3 · 2026
SOFSofiaBulgarian community▼ −2.4%
OTPBucharestRomanian community▼ −0.7%
TIA/PRNTirana & PristinaAlbanian & Kosovar community▲ +3.1%
BEGBelgradeSerbian community▼ −0.5%
ZADZadarCroatian community▼ −2.9%
THE ASK

Where does VFR demand actually live?

VFR, or visiting friends and relatives, is travel driven by community, not campaigns. For six routes, the question was simple: which German cities are home to the Bulgarian, Romanian, Albanian, Kosovar, Serbian and Croatian communities behind them?

I'd already mapped each catchment area in Miro using research assisted by AI. My manager's next request was to turn it into a heat map that pinpoints exact cities, down to the neighbourhood.

  • SOFSofiaBulgarian
  • OTPBucharestRomanian
  • TIATiranaAlbanian
  • PRNPristinaKosovar
  • BEGBelgradeSerbian
  • ZADZadarCroatian
THE REALITY CHECK

A heat map is a promise about resolution

Before drawing anything I walked down the ladder of geography to see where the data stops. Pick a rung.

Published, free

Federal level

Source
Destatis, Ausländerzentralregister (AZR)
What exists
National totals by citizenship, every 31 December, as a series from 2010 to 2025.
In practice
Bulgaria 421,895 · Romania 903,770 · Croatia 413,480 · Serbia 271,285 · Kosovo 323,260 (31.12.2025)

So the honest answer to “draw me a heat map” was no. It would have implied a precision the data can't back. The better answer was to design something that shows the resolution it actually has.

THE AUDIT

Treating AI research as a draft, not a source

The Miro boards leaned on research generated by AI. If the board was going to be quoted in official documents, every number needed a primary source behind it. I checked each claim against Destatis, IT.NRW, the Baden-Württemberg statistics office and the cities' own reports.

  • Confirmed at 121,995. The claim was right, it just had no source. Now it does.

    Checked against: Statistisches Landesamt Baden-Württemberg, 31.12.2024

PLAY WITH IT

The board, live

This is the working prototype, rebuilt for this page. Click a route to open it, switch between state and city level, and hover a bar to read its source. Then give it a new skin.

  • GOV
  • PRESS
  • EST

The original dark and amber look

2022281k2023300k2024314k2025323k

Kosovo citizens, 2022 to 2025

Up 3.1% in the last year and up 15.1% since 2022. Destatis AZR, each 31 December. The axis is zoomed and doesn't start at zero.

NRW, Kosovo · 72,655 · State · as of 2025

GOV: Straight from Destatis, IT.NRW, a state statistics office or a city's own report

IT.NRW / Statistik.NRW: Ausländische Bevölkerung nach ausgewählten Staatsangehörigkeiten (Top 15), 31.12.2025

Hidden diaspora: naturalisations

Citizens who naturalise leave the foreigner count but still travel home to visit family, so a flat or shrinking total can hide a stable market. The June 2024 citizenship reform (StARModG) allows dual nationality.

  • 6,100Albanian naturalisations, Germany, 2025 (+97% vs 2024) source
  • +111%Albanian naturalisations, Baden-Württemberg, 2025 vs 2024 source
  • 1,735Kosovar naturalisations, NRW, 2025 source
  • +12%Kosovar naturalisations, Baden-Württemberg, 2025 vs 2024 source

What's missing: Kosovo has a clean Destatis national figure and an official NRW one. Albania has no standalone entry in NRW's Top 15, so Baden-Württemberg's 19,145 is the only official Albanian number here.

A palette with two hues can't give five routes five colours, so routes are separated by shade and each keeps its airport code chip. Source tiers are shapes, not colours, so they read in any skin.

PROCESS

Five passes, one idea getting honest

  1. V0

    The bubble map

    My first answer to “heat map” was a schematic Germany with proportional bubbles. It looked wrong and wasn't interactive. Worse, an outline of the country implied a precision the data didn't have.

  2. V1

    The arrivals board

    I dropped the map and borrowed the metaphor of the thing the work is about: a departures board. One row per route, numbers that flip like a split flap display, ranked bars that open on click, and a comparison across routes.

  3. V2

    The sourcing pass

    The numbers had to survive being quoted in official documents. Wikipedia went. Every national and state figure now comes from Destatis, IT.NRW or a state statistics office, and every bar carries a GOV, PRESS or EST tier.

  4. V2+

    Trend and the hidden diaspora

    Each route gained a 2024→2025 arrow and a trend line from 2022 to 2025, plus a naturalisation note: citizens who naturalise leave the foreigner count but still fly home to visit family, so a flat total can hide a stable market.

  5. V3

    The brand skin

    A new skin in the organisation's palette to test whether the board could carry a real brand. It could, because colour, shape and type were tokens from the start.

DESIGN DECISIONS

Four choices that make the board trustworthy

01

Show the gap, don't fill it

Where no verified figure exists, the board says so, “No figure at this level clears the bar”, instead of backfilling with an estimate. Croatia has no city rows. That is the finding, not a bug.

02

Tier every number

Each bar carries GOV, PRESS or EST, as a shape rather than a colour so it survives any skin. A reader can tell a register figure from a relayed one at a glance, and quote accordingly.

03

Disclose the axis

The trend lines are zoomed to show movement and don't start at zero, because 0.5% on a zero axis is invisible. The chart says so beside the data rather than hoping nobody notices.

04

Count who the register can't

The naturalisation note exists because a foreigner count only ever shrinks as people become citizens. For a VFR question that's the wrong direction to be blind in.

REFLECTIONS

What I took from it

Say no with a better artefact

“That data doesn't exist” is a dead end on its own. Paired with a board that shows exactly what does exist, it became a more useful answer than the heat map would have been.

AI research is a draft

Of seven claims I checked, two held, one was wrong by more than half, one was softened, two couldn't be sourced at all and one rested on Wikipedia. The checking was the work.

A caveat is a feature

Every route has a “what's missing” note beside its data. It's the part of the board I'd defend first.

What I'd do next

  • Ask Dortmund, Duisburg and Cologne's statistics offices directly for nationality counts by Stadtteil, the only route to the resolution the original ask wanted.
  • Pull the EST rows straight from the Landesdatenbank NRW and GENESIS tables so every bar is GOV.
  • Add Bavaria and Hesse, which the state view still lacks.
  • Lay actual route bookings over the diaspora counts to see where demand and community line up, and where they don't.
Sources (12)
  1. GOVStatistisches Bundesamt (Destatis): Ausländische Bevölkerung nach ausgewählten Staatsangehörigkeiten, AZR 2010 bis 2025
  2. GOVIT.NRW / Statistik.NRW: Ausländische Bevölkerung nach ausgewählten Staatsangehörigkeiten (Top 15), 31.12.2025
  3. GOVStatistisches Landesamt Baden-Württemberg: 2,05 Millionen Ausländerinnen und Ausländer leben in Baden-Württemberg (31.12.2024)
  4. GOVStadt Duisburg: Einwohnerentwicklung Duisburg 2013
  5. PRESSNZZ: Armutsmigration aus Osteuropa, Dortmunder Nordstadt
  6. PRESSStuttgarter Zeitung: Einwohnerentwicklung in Stuttgart, mehr Kroaten und Italiener zugezogen
  7. ESTdua.com: Albanians in Stuttgart (relaying AZR 31.12.2024)
  8. ESTdua.com: Albaner in Deutschland
  9. ESTStatista: Ausländer aus Rumänien in Deutschland (city figures, vintage unconfirmed)
  10. GOVDestatis: 332 500 Einbürgerungen im Jahr 2025 (3.6.2026)
  11. GOVStatistisches Landesamt Baden-Württemberg: Fast 40.000 Einbürgerungen im Jahr 2025 (18.5.2026)
  12. GOVIT.NRW: Einbürgerungen in NRW auf höchstem Stand seit 25 Jahren (22.5.2026)

Figures are citizenship counts from the Ausländerzentralregister, not ethnicity. Naturalised citizens aren't captured, so every total understates the real diaspora.

Got a question the data can't answer yet? Let's design around it.

Let's Talk?