```dv
dv.paragraph(("https://jimr.fyi/" + dv.currentFilePath.replace(/\.md$/, "").replace(/ /g, "+")))
```
| Decade | IGE (Lower = Better) | Absolute Mobility | Chance Bottom → Top | Chance Top → Bottom | Poverty Rate (%) | Consumer Debt (% of GDP) | Mobility Index | Notes |
| ------ | -------------------- | ----------------- | ------------------- | ------------------- | ---------------- | ------------------------ | -------------- | ------------------------- |
| 1940s | ~0.30 | ~90% | ~40% | ~10% | ~30% (est.) | ~20% (est.) | ~0.75 | High growth post-war |
| 1950s | ~0.32 | ~80–85% | ~35% | ~9% | ~22% | ~25% | ~0.72 | Expanding middle class |
| 1960s | ~0.33 | ~70–75% | ~33% | ~9% | 19% → 12% | ~30% | ~0.70 | War on Poverty gains |
| 1970s | ~0.40 | ~60–65% | ~30% | ~8% | ~11–13% | ~35–40% | ~0.68 | Stagflation era |
| 1980s | ~0.45 | ~50% | ~27% | ~8% | ~13–15% | ~50% | ~0.66 | Inequality rising |
| 1990s | ~0.45 | ~45–50% | ~25% | ~8% | ~13% | ~60% | ~0.66 | Tech boom, mixed mobility |
| 2000s | ~0.50 | ~40% | ~20–25% | ~8% | ~12–14% | ~80%+ | ~0.65 | Housing bubble era |
| 2010s | ~0.50 | ~40% | ~20–25% | ~8% | ~12–15% | ~80–85% | ~0.68 (Pew) | Regional gaps widening |
##### IGE vs. Absolute Mobility
| Metric | Answers... | Best for... |
| ----------------- | ------------------------------------- | -------------------------------------------- |
| Absolute Mobility | _"Did I earn more than my parents?"_ | Tracking material improvement (progess) |
| IGE (Relative) | _"Did I move up or down in society?"_ | Measuring equality of opportunity (fairness) |
##### Mobility Index
```dv
/*
// us 2010s
const data = [
[43, 24, 19, 10, 4],
[24, 27, 23, 17, 9],
[14, 22, 23, 23, 19],
[9, 17, 23, 27, 24],
[8, 11, 17, 24, 40]
];
*/
// optimum
const data = [
[5, 10, 25, 30, 30],
[10, 10, 25, 30, 25],
[15, 20, 20, 25, 20],
[20, 25, 20, 20, 15],
[30, 25, 20, 15, 10]
];
const quintiles = ["Bottom 20%", "Second 20%", "Middle 20%", "Fourth 20%", "Top 20%"];
function getColor(value) {
// Blue color scheme - darker blue for higher values
const intensity = Math.floor(value * 2.5);
return `rgba(50, 100, 250, ${intensity/100})`;
}
function createHeatmapTable() {
let table = '| |Bottom 20%|Second 20%|Middle 20%|Fourth 20%|Top 20%|\n';
table += '|---|---|---|---|---|---|\n';
for (let i = 0; i < 5; i++) {
let row = `|**${quintiles[i]}**|`;
for (let j = 0; j < 5; j++) {
const value = data[i][j];
const color = getColor(value);
row += `<span style="display:block; background-color: ${color}; color: grey; padding: 5px; text-align: center;">${value}%</span>|`;
}
table += row + '\n';
}
return table;
}
dv.paragraph(createHeatmapTable());
```
- We sum all the values _not_ on the diagonal (i.e., where children end up in a different quintile than their parents) and divide by 5
- (43+27+23+27+40) / 5 = 32% = 1-.32 = .68 (mobility index)
- 68% of people end up in a different income quintile than their parents.
- worse off: (24+19+23+10+17+23+4+9+19+24) / 5= 34.4
- same: (43+27+23+27+40) / 5 = 31.8
- better off: (8+11+17+24+9+17+23+14+22+24) / 5= 33.8