-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
554 lines (518 loc) · 28.8 KB
/
Copy pathindex.html
File metadata and controls
554 lines (518 loc) · 28.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Instrument+Serif:ital@0;1&display=swap"
rel="stylesheet"
/>
<title>Is Europe Falling Behind?</title>
</head>
<body>
<div id="app">
<header class="page-header">
<p class="eyebrow">COM·480 · Data Visualization</p>
<h1>
Is Europe <em>really</em> falling behind?
</h1>
<p class="lede">
Europe was long seen as one of the world’s economic powerhouses. As
other regions accelerate and the narrative of European decline grows
louder, understanding its trajectory matters for citizens,
policymakers, and entrepreneurs trying to anticipate where economic
power will lie if nothing changes.
</p>
<p class="story-cue">
Follow the argument from the real economy to market proxies, from
regional averages to country variation, and finally to the industries
behind global index concentration.
</p>
</header>
<section class="findings-panel" aria-labelledby="findings-title">
<div class="section-kicker">
<p class="eyebrow">Key findings</p>
<h2 id="findings-title">Europe kept growing, but listed-equity gains and index weight shifted toward the US.</h2>
</div>
<div class="finding-grid">
<article class="finding-card">
<span class="finding-card__label">1. Growth</span>
<strong>1.38x</strong>
<p>European regional GDP in 2023, compounded from the 2000 baseline in the current dataset.</p>
</article>
<article class="finding-card">
<span class="finding-card__label">2. Benchmark</span>
<strong>US vs EU</strong>
<p>The comparison is useful because both start as rich-market anchors in a global investor portfolio.</p>
</article>
<article class="finding-card">
<span class="finding-card__label">3. Within Europe</span>
<strong>Not one block</strong>
<p>European countries do not move together. The average hides a wide spread of national outcomes.</p>
</article>
<article class="finding-card">
<span class="finding-card__label">4. Sectors</span>
<strong>63.7%</strong>
<p>The US share of MSCI ACWI in May 2026, helped by technology-heavy listed-company growth.</p>
</article>
</div>
</section>
<main class="mvp-layout">
<section class="guided-story" aria-label="Guided data story">
<div class="story-scroll">
<div class="scroll-hint" aria-hidden="true">
<span>Scroll</span>
<i class="scroll-hint__arrow"></i>
</div>
<article class="story-step" data-story-preset="real-economy">
<p class="eyebrow">Act 1 · Real economy</p>
<h2>Europe did not stop growing.</h2>
<p>
Start with GDP in regional mode. By 2023, Europe is around
1.38x its 2000 GDP baseline, and GDP per capita is around
1.21x. Any claim that Europe is "falling behind" has to explain
why this compounded growth is not enough.
</p>
<div class="story-stat-row">
<span><strong>1.38x</strong> Europe GDP</span>
<span><strong>1.21x</strong> Europe GDP per capita</span>
</div>
<button class="story-preset-button" type="button" data-story-action="real-economy">
Show compounded GDP view
</button>
</article>
<article class="story-step" data-story-preset="us-eu-frame">
<p class="eyebrow">Act 2 · Why US and Europe?</p>
<h2>The benchmark is not arbitrary.</h2>
<p>
The United States and Europe are both high-income, institutionally
mature markets that matter in global portfolios. From here on,
we keep the comparison anchored on these rich-market blocs so
later gaps are not driven by emerging-market catch-up. The
question is whether output growth diverged, or whether listed
equity gains accumulated much more strongly in the US.
</p>
<div class="story-stat-row">
<span><strong>Rich-market</strong> baseline</span>
<span><strong>Different</strong> market composition</span>
</div>
<button class="story-preset-button" type="button" data-story-action="us-eu-frame">
Show benchmark view
</button>
</article>
<article class="story-step" data-story-preset="divergence-hypothesis">
<p class="eyebrow">Act 3 · Divergence hypothesis</p>
<h2>The gap opens when we change the measure.</h2>
<p>
This leads to a narrower hypothesis: Europe did not stop
producing output, but market-linked indicators pulled away
after the crisis. To check that, we fit the log US/Europe gap
with the same piecewise trend at each candidate break year from
2005 to 2015 and rank those fits by BIC. The best-ranked years
cluster around the 2008 crisis window. The normalization view
then lets you stress-test the split across base years and
lenses: it is widest for ETF and market-cap proxies, narrower
for GDP, and narrower still after PPP adjustment.
</p>
<div class="story-stat-row">
<span><strong>2.51x</strong> US ETF</span>
<span><strong>0.90x</strong> Germany ETF</span>
<span><strong>0.62x</strong> UK ETF</span>
</div>
<button class="story-preset-button" type="button" data-story-action="divergence-hypothesis">
Show divergence view
</button>
</article>
<article class="story-step" data-story-preset="europe-dispersion">
<p class="eyebrow">Act 4 · Inside Europe</p>
<h2>Europe is not one datapoint.</h2>
<p>
The European average hides national variation, but the selected
country scatter gives a sharper read: the US remains above the
European cluster on the market proxy, while Switzerland is the
main European exception rather than proof that Europe moves as
one block.
</p>
<div class="story-stat-row">
<span><strong>0.43x-1.15x</strong> Europe ETF range</span>
<span><strong>1.52x</strong> US ETF</span>
<span><strong>Switzerland</strong> main exception</span>
</div>
<button class="story-preset-button" type="button" data-story-action="europe-dispersion">
Show Europe spread
</button>
</article>
<article class="story-step" data-story-preset="sector-drivers">
<p class="eyebrow">Act 5 · Industry drivers</p>
<h2>The sectors driving divergence.</h2>
<p>
The ACWI snapshots translate the country story into sector
exposure. From 2015 to 2026, global index weight becomes more
concentrated in the United States, and information technology
becomes the dominant sector block.
</p>
<p>
The US begins with a strong weight for tech, and as the sector
inflates in value over the decade outpacing all others, the US
share of the ACWI outpaces the rest of the world.
</p>
<div class="story-stat-row">
<span><strong>63.7%</strong> US ACWI weight</span>
<span><strong>30.7%</strong> information technology</span>
</div>
<div class="story-button-row">
<button class="story-preset-button" type="button" data-story-action="acwi-first">
Show 2015 ACWI
</button>
<button class="story-preset-button" type="button" data-story-action="sector-drivers">
Show latest ACWI
</button>
</div>
</article>
<article class="story-step story-step--explore" data-story-preset="wrap-up">
<p class="eyebrow">Conclusion · What falling behind means</p>
<h2>Europe kept growing. Market-linked gains pulled away.</h2>
<p>
The final scatter keeps the comparison narrow: selected Europe
versus the US. Output per person remains in the same broad
neighborhood, but market proxies do not. The claim is not that
Europe stopped producing; it is that listed-equity gains and
benchmark index weight accumulated much more strongly in the US.
</p>
<div class="story-stat-row">
<span><strong>1.18x-1.26x</strong> Europe GDP/person</span>
<span><strong>0.43x-1.15x</strong> Europe ETF</span>
<span><strong>1.52x</strong> US ETF</span>
</div>
<button class="story-preset-button" type="button" data-story-action="wrap-up">
Show final comparison
</button>
</article>
</div>
<section class="map-panel story-stage" aria-label="Interactive story stage">
<section id="stage-map" class="evidence-step evidence-step--map" data-stage-step="stage-map" aria-label="Map and scatter evidence">
<div class="control-bar">
<div class="control-group control-group--inputs">
<label class="control-field">
<span class="control-label">Indicator</span>
<select id="indicator-select"></select>
</label>
<label class="control-field control-field--year">
<span class="control-label">
Year <span id="year-label" class="control-value">2023</span>
</span>
<input id="year-slider" type="range" min="2000" max="2023" value="2023" step="1" />
</label>
<button id="play-button" class="play-button" type="button" aria-label="Play timeline">
<span class="play-button__icon" aria-hidden="true"></span>
<span class="play-button__label">Play</span>
</button>
<div class="selection-control">
<p id="selected-summary"></p>
<button id="reset-selection" class="ghost-button reset-selection-button" type="button">Reset selection</button>
</div>
</div>
<div class="control-group control-group--toggles">
<div class="segmented-control" aria-label="Visualization mode">
<button id="map-mode" type="button" data-active="true">Map</button>
<button id="scatter-mode" type="button">Scatter</button>
</div>
<div class="segmented-control" aria-label="Selection mode">
<button id="country-mode" type="button" data-active="true">Countries</button>
<button id="region-mode" type="button">Regions</button>
</div>
<div class="segmented-control" aria-label="Value mode">
<button id="growth-mode" type="button" data-active="true">Compounded</button>
<button id="absolute-mode" type="button">Absolute</button>
</div>
<div class="segmented-control" aria-label="Scatter scope">
<button id="scatter-selected-scope" type="button" data-active="true">Selected set</button>
<button id="scatter-all-scope" type="button">All countries</button>
</div>
<button id="toggle-spider" class="ghost-button" type="button" aria-pressed="false">Show spider</button>
</div>
</div>
<div class="map-viewport">
<div id="map-chart" class="map-chart"></div>
<aside id="story-evidence-callout" class="story-evidence-callout" aria-live="polite"></aside>
</div>
<p class="chart-note">
Map mode shows compounded values relative to the 2000 baseline. A
value of 1.38x means the indicator is 38% above its 2000 level. In
Regions mode, every country is colored by its regional compounded
aggregate; in Countries mode, each country uses its own compounded
value. In scatter mode, use the scope toggle to switch between only
the selected comparison set and every country in the dataset.
</p>
<aside id="spider-panel" class="spider-overlay" aria-label="Spider comparison" hidden>
<div class="spider-heading">
<div>
<p class="eyebrow">Spider graph</p>
<h2>Profile comparison</h2>
</div>
<button id="close-spider" type="button" aria-label="Close spider graph">Close</button>
</div>
<p id="spider-caption">Click countries on the map to compare their full normalized profiles.</p>
<div id="spider-chart" class="chart"></div>
</aside>
</section>
<section id="stage-evolution" class="evidence-step story-break-panel" data-stage-step="stage-evolution" aria-label="2008 market divergence chart">
<aside id="story-evidence-callout-inline" class="story-evidence-callout story-evidence-callout--plot" aria-live="polite"></aside>
<div>
<p class="eyebrow">2008 break</p>
<h2>The break-year test points to the crisis window.</h2>
<p>
The break-year finder and normalization explorer let you inspect
when the split appears and how much it depends on the base year,
metric, and price adjustment.
</p>
</div>
<section class="story-break-subpanel" aria-label="Interactive normalization explorer">
<h3>Interactive divergence explorer</h3>
<p>
Choose the base year and switch between GDP lenses, ETF, and
market-cap proxies.
</p>
<div id="normalization-explorer" class="normalization-explorer"></div>
</section>
<div id="analysis-break-finder" class="story-breaks"></div>
<!--
Static 2008 = 1 market snapshot retained but hidden. The restored
interactive normalization explorer above is the canonical Act 3 plot.
<div id="analysis-market-chart" class="analysis-chart analysis-chart--wide"></div>
<p id="analysis-market-note" class="analysis-card__note"></p>
<p class="analysis-card__source">Source: country and regional ETF and market-cap proxies, indexed to 2008 = 1 on the project’s real/PPP preprocessing basis.</p>
-->
</section>
<section id="stage-trajectory" class="evidence-step evolution-panel" data-stage-step="stage-trajectory" aria-label="Evolution chart">
<div>
<p class="eyebrow">Evolution</p>
<h2 id="evolution-title">Indicator trajectory</h2>
<p class="panel-copy">
The line chart turns the selected year into a trajectory. Look
for whether the gap appears gradually, after shocks, or only in
the latest period.
</p>
</div>
<div id="evolution-chart" class="chart"></div>
</section>
<section id="stage-acwi" class="evidence-step treemap-panel" data-stage-step="stage-acwi" aria-label="Country / sector treemap">
<div class="treemap-panel__heading">
<div>
<p class="eyebrow">Industry lens</p>
<h2 id="treemap-title">Where global equity weight moved</h2>
<p class="panel-copy">
The
<span class="definition-term" tabindex="0">
ACWI
<span class="definition-popover" role="tooltip">
MSCI ACWI stands for MSCI All Country World Index. It tracks large- and mid-cap equities across developed and emerging markets.
</span>
</span>
snapshots show why the market gap matters: global
equity exposure became more concentrated in the US and in
technology-heavy sectors.
</p>
</div>
<label class="control-field control-field--treemap-time">
<span class="control-label">
Snapshot <span id="treemap-date-label" class="control-value">2025</span>
</span>
<input id="treemap-slider" type="range" min="0" max="0" value="0" step="1" />
</label>
</div>
<div id="treemap-dominance-summary" class="treemap-dominance" aria-live="polite"></div>
<div class="treemap-grid">
<section class="treemap-card" aria-label="Country treemap">
<div class="treemap-card__heading">
<h3>MSCI ACWI Countries</h3>
<p>Hover for sector breakdowns. Watch the US tile expand over time.</p>
</div>
<div id="treemap-chart" class="chart"></div>
</section>
<section class="treemap-card" aria-label="MSCI ACWI sector capitalization treemap">
<div class="treemap-card__heading">
<h3>MSCI ACWI sectors</h3>
</div>
<div id="sector-treemap-chart" class="chart"></div>
</section>
</div>
</section>
</section>
</section>
<section class="story-close-panel" aria-label="Conclusion and limitations">
<div class="section-kicker">
<p class="eyebrow">Wrap up</p>
<h2>Europe kept growing, but listed-equity gains and global index weight shifted toward the US.</h2>
</div>
<div class="story-verdict-panel story-verdict-panel--close" aria-label="Final read">
<strong>Final read</strong>
<p>
The evidence does not support a simple European collapse story.
GDP and GDP per capita reject that reading. The sharper divergence
appears in ETF, market-cap, and ACWI views, where listed-equity
rewards and global benchmark weight shift much more strongly toward
the United States.
</p>
<p>
The break-year check compares the same piecewise fit of the log
US/Europe gap across candidate years. Those rankings repeatedly land
near the 2008 crisis window, which makes the crisis period a
plausible turning point for the market story even though the
PPP-adjusted output split is milder.
</p>
<p>
The limitation is equally important: these charts measure output
and listed capital, not the full well-being of households. The
next question is how far market gains track lived economic welfare
rather than asset concentration.
</p>
</div>
</section>
<!--
Previous broader analysis panel retained for reference. It is commented
out for the final narrative so the page foregrounds the whiteboard story:
growth -> US/EU benchmark -> divergence -> European dispersion ->
sector drivers -> conclusion and limitations.
<section class="analysis-panel" aria-label="Narrative analysis">
<div class="analysis-panel__intro">
<p class="eyebrow">2008: tipping point?</p>
<h2>After 2008, Europe’s market proxies diverged more than its output.</h2>
<p>
Rebuilt on a constant-PPP basis, the story is more precise: Europe does lag
in real GDP per person, but the much larger post-2008 split is in valuation
proxies and household capital gains.
</p>
</div>
<div class="analysis-grid">
<article class="analysis-card">
<h3>1. Market verdict</h3>
<p>
Post-2008, market-linked proxies tell the sharpest version of the story.
Europe’s ETF proxy remains weak while the US proxy rebounds strongly.
</p>
<div id="analysis-market-chart" class="analysis-chart"></div>
<p id="analysis-market-note" class="analysis-card__note"></p>
<p class="analysis-card__source">Source: country and regional ETF and market-cap proxies, converted to a constant-2021 PPP-equivalent basis, 2008-2023.</p>
</article>
<article class="analysis-card">
<h3>2. Fundamentals held up better</h3>
<p>
Macro growth slows after 2008, but it does not collapse. On a real/PPP basis,
Europe still grows in GDP and GDP per capita; the market-proxy gap is larger.
</p>
<div id="analysis-fundamentals-chart" class="analysis-chart"></div>
<p id="analysis-fundamentals-note" class="analysis-card__note"></p>
<p class="analysis-card__source">Source: processed World Bank GDP and GDP per capita series, compared with ETF-price growth.</p>
</article>
<article class="analysis-card analysis-card--question">
<h3>3. Growth for whom?</h3>
<p>
Distribution question starts with assets. If US households with financial
wealth captured much larger valuation gains than euro-area households, faster
growth may have favored capital owners first.
</p>
<div id="analysis-distribution-chart" class="analysis-chart"></div>
<p class="analysis-card__note">
ECB comparison uses average annual capital gains on household financial assets
since 2000, expressed as share of annual gross disposable income.
</p>
<p class="analysis-card__source">Source: ECB, <a href="https://www.ecb.europa.eu/press/key/date/2025/html/ecb.sp251009~49b985af53.en.pdf" target="_blank" rel="noreferrer">The Asset Holdings of Euro Area Households</a>, latest observations Q2 2025.</p>
</article>
<article class="analysis-card analysis-card--wide">
<h3>Read so far</h3>
<p>
Current read after rebuilding the data: Europe’s real-output gap is present but
moderate; the sharper divergence is in valuation proxies and capital-gains capture.
</p>
<p class="analysis-card__note">
Next data pass should test whether stronger US market growth translated into broader
household welfare, or mainly into asset-owner gains.
</p>
</article>
<article class="analysis-card analysis-card--wide analysis-card--addon">
<h3>ECB add-on: household balance sheets around 2008</h3>
<p>
Separate from the core story, this ECB-only panel tracks how euro-area household
assets evolved across the crisis break. Both lines are rebased to late 2008 so the
pre- and post-crisis shapes are directly comparable.
</p>
<div id="analysis-ecb-chart" class="analysis-chart analysis-chart--wide"></div>
<p id="analysis-ecb-note" class="analysis-card__note"></p>
<p class="analysis-card__source">
Source: ECB Data Portal quarterly sector accounts, series for
<a href="https://data.ecb.europa.eu/data/datasets/QSA/QSA.Q.N.I9.W0.S1M.S1.N.A.LE.F._Z._Z.XDC._T.S.V.N._T" target="_blank" rel="noreferrer">household financial asset stock</a>
and
<a href="https://data.ecb.europa.eu/data/datasets/QSA/QSA.Q.N.I9.W0.S1M.S1._Z.B.B90._Z._Z._Z.XDC_R_B6G_CY._T.S.V.N._T" target="_blank" rel="noreferrer">household net worth relative to disposable income</a>.
</p>
</article>
<article class="analysis-card analysis-card--wide analysis-card--addon analysis-card--inequality">
<h3>US vs Europe: rebound, gains, people</h3>
<p>
This add-on keeps the comparison symmetric where the data allows it: how much each region
rebounded, how much of the rebound showed up as financial gains, and whether labour shared
in the upside.
</p>
<div id="analysis-inequality-addon"></div>
<p class="analysis-card__source">
Sources:
<a href="https://www.federalreserve.gov/releases/z1/dataviz/dfa/" target="_blank" rel="noreferrer">Federal Reserve DFA</a>,
<a href="https://data.ecb.europa.eu/data/datasets/DWA/data-information" target="_blank" rel="noreferrer">ECB DWA</a>,
<a href="https://rplumber.ilo.org/data/indicator?id=LAP_2GDP_NOC_RT_A&format=.csv" target="_blank" rel="noreferrer">ILO labour-share estimates</a>,
and
<a href="https://www.ecb.europa.eu/press/key/date/2025/html/ecb.sp251009~49b985af53.en.pdf" target="_blank" rel="noreferrer">ECB asset-holdings comparison</a>.
</p>
</article>
<article class="analysis-card analysis-card--wide analysis-card--addon analysis-card--people">
<h3>2008 and the two recoveries</h3>
<p>
Three-part story frame: where the US and Europe looked similar before the break,
why 2008 is a measurable inflection, why headline current-dollar figures can
overstate the lived-output split, and where the post-crisis gains showed up.
</p>
<div id="three-part-story" class="three-part-story"></div>
<p class="analysis-card__source">Source: processed project data, World Bank, OECD average wages and housing indexes, ILO labour share, ECB asset-holdings comparison, and OWID life satisfaction.</p>
</article>
<article class="analysis-card analysis-card--wide analysis-card--addon">
<h3>Normalization explorer</h3>
<p>
Choose a base year and compare the headline current-dollar GDP lens against
PPP GDP, ETF, and market-cap proxies.
</p>
<div id="normalization-explorer" class="normalization-explorer"></div>
<p class="analysis-card__source">Source: World Bank current-USD and PPP GDP, plus processed project ETF and market-cap series.</p>
</article>
<article class="analysis-card analysis-card--wide analysis-card--addon">
<h3>Backup analysis</h3>
<p>
Parked candidate views: useful for checking the claim, but not currently strong enough
to carry the main story.
</p>
<div id="analysis-lab" class="analysis-lab"></div>
<p class="analysis-card__source">Source: processed project data, World Bank API, Fed DFA, ECB DWA, ILO, and OWID happiness series.</p>
</article>
</div>
</section>
-->
</main>
<footer>
<p>
Methodology: the main comparison covers 20 countries with comparable
country ETF histories from 2000 to 2023. Compounded mode normalizes
each country or region to its year-2000 baseline. Absolute mode is
shown only where units are comparable; ETF prices remain a real/PPP-adjusted investable-market
proxy.
</p>
<p>
Market capitalization comes from World Bank listed-company market cap
data where reliable. Recent gaps are filled with the matching iShares
MSCI country ETF price as a proxy; Russia, China, India, and Sweden
are excluded from the market-cap comparison because of spotty data.
</p>
</footer>
</div>
<script type="module" src="./src/main.js"></script>
</body>
</html>