Every complexity tool on this site treats the probability that a country starts exporting a product as a function of where it stands in the product space now, with no term for what it used to make. At matched product-space density, having once held a comparative advantage multiplies the chance of regaining it by 3.8 to 4.7, and the advantage is still measurable eleven to fifteen years after the loss. It is gone by twenty-one.
Instrument
Density-matched relearning contrast, plus a power-law versus exponential retention race
Borrowed from
Memory science (Ebbinghaus savings in relearning; the Wixted and Ebbesen retention-form test; the Anderson and Schooler critique of aggregate forgetting curves)
Sunk-cost export hysteresis is one of the most established results in the field. Roberts and Tybout (1997), Das, Roberts and Tybout (2007) and Besedes and Prusa (2006) showed that prior experience raises the probability of exporting again and that the advantage decays with time out of the market. Nothing here overturns that, and the finding that a lapsed capability re-enters more often than a virgin one is their result, not ours.
Two things the hysteresis literature does not provide are on this page. The first is a density-matched contrast on the full panel: 233 BACI country codes by 4,615 HS6 products present in every year, 29 year-to-year transitions, 2,762,318 presence cells, with the comparison held inside product-space density bins so that the lapsed cells are compared against virgin cells the country is equally close to. The second is a fitted functional form for the decay, tested against the alternative and then broken apart to see whether it is an artefact of pooling.
What the precompute killed
Four claims in the original design did not survive their own run and are corrected here rather than quietly dropped.
The multiplier is not five. Two defensible standardisations disagree: density deciles with years pooled gives 3.78, year by density strata gives 4.68. Neither reaches five. Five is reachable only in the single latest transition (5.01 for 2023 to 2024) or crudely with no density control at all (5.56). The headline is published as a range.
The functional-form verdict flips on the strict savings measure. On the raw re-entry hazard the power law wins decisively. Subtract the never-held baseline of 0.0125, which is exactly what an Ebbinghaus savings measure is, and the exponential wins. A constant plus an exponential mimics a power law in logs, which is a form of the Anderson and Schooler critique this instrument is borrowed from. Both races are published.
The advantage dies at 21 years, not later. Density-standardised, the lift is 1.78 at an eleven-year gap and 1.38 at fifteen, both with confidence intervals excluding 1. At 21 years the interval first contains 1 (0.988 to 1.115). Anything stronger than "more than a decade" is not supported.
The balanced-core restriction is not load-bearing. Dropping it entirely, so that all 5,022 catalog codes sit in the grid every year, moves the crude lift from 5.5562 to 5.4623 (1.7%), the year-by-density lift from 4.6814 to 4.5964 (1.8%) and the density-only lift from 3.7788 to 3.6635 (3.1%). The restriction is right on principle, since a globally extinct code otherwise reads as every country exiting at once, but it does not carry the result and the page does not claim it does.
The contrast
A cell is one country and one HS6 product in one year. It is present when its revealed comparative advantage is at least 1.0, lapsed when it is absent now but was present in some earlier year, and virgin when the country has never held it. Pooled over 29 transitions, 4,880,148 lapsed cells produced 340,188 re-entries, a rate of 6.97%, against 23,628,298 virgin cells producing 296,445 first entries, a rate of 1.25%. That is a crude ratio of 5.5562 MEASURED. Crude is the wrong number, because lapsed cells sit closer to what a country already makes. Holding product-space density fixed the contrast falls to 3.7788 with years pooled (3.7598 to 3.7979) and 4.6814 with year by density strata (4.6554 to 4.7076) MODELED. Both are defensible, so the page publishes the range and not a point estimate.
Confound control 1
Lapsed beats virgin in all ten product-space density deciles
The ratio never inverts and never approaches 1. It is lowest in the least connected decile (2.15), peaks in decile 3 (4.03), and stays between 3.56 and 3.94 across deciles 4 to 10. Whatever the lapsed advantage is, it is not density in disguise.
Density is the Hidalgo et al. (2007) proximity-weighted share of the country's current basket adjacent to the absent product, computed from product_proximity with the upper triangle mirrored and censored at 0.2, the same definition the site's /api/product-space/opportunities endpoint uses. Deciles are equal-count over all pooled country-product-year cells, so decile 1 is the least connected. The bars are entry rates per cell-year, not counts; cell counts run from 235,913 lapsed against 2,120,041 virgin in decile 1 to 1,035,477 against 1,815,382 in decile 10. Ten is a free choice; the sweep over it is the next figure.
CEPII BACI 202501 (retrieved 2026-04-28, HS92 revision; instrument tables pre-date the V202601 rebase), built from the then-live data/parquet/rca_matrix (country_code, product_code, rca, year), product_proximity (upper triangle, censored at 0.2), products.parquet, pci_rankings.parquet, countries.parquet; 1995-2024. Figure reads data/parquet/instruments_savings_density.parquet (spec, density_decile, n_lapsed, entries_lapsed, rate_lapsed, n_virgin, entries_virgin, rate_virgin, lift_within_decile).Query
SELECT density_decile, n_lapsed, entries_lapsed, rate_lapsed,
n_virgin, entries_virgin, rate_virgin, lift_within_decile
FROM read_parquet('data/parquet/instruments_savings_density.parquet')
WHERE spec = 'S1_full_grid'
ORDER BY density_decile
Sweep over a free parameter: strata design
The density-standardised lift, at every number of density strata
The two defensible designs disagree and both are published: 3.78 (3.76 to 3.80) standardising on density alone, 4.74 (4.71 to 4.76) standardising on year and density jointly. The headline range on this page is that gap, not a point estimate.
Mantel-Haenszel common risk ratio across strata, with 95% intervals from the Greenland and Robins variance. The estimate is stable past ten density bins: going from 10 to 50 bins moves it by 1.34% with years pooled and 1.48% with year strata added. Note the year-only row (7.06) sits above the crude figure because the early strata are badly unbalanced, a few lapsed cells against an enormous virgin pool; it is shown for completeness and is not quoted anywhere on this page.
CEPII BACI 202501 (retrieved 2026-04-28, HS92 revision; instrument tables pre-date the V202601 rebase), built from the then-live data/parquet/rca_matrix (country_code, product_code, rca, year), product_proximity (upper triangle, censored at 0.2), products.parquet, pci_rankings.parquet, countries.parquet; 1995-2024. Figure reads data/parquet/instruments_savings_nbins_sweep.parquet (spec, strata_design, n_density_bins, n_strata, mh_lift, mh_lift_lo, mh_lift_hi, direct_std_lift).Query
SELECT strata_design, n_density_bins, n_strata, mh_lift, mh_lift_lo, mh_lift_hi, direct_std_lift
FROM read_parquet('data/parquet/instruments_savings_nbins_sweep.parquet')
WHERE spec = 'S1_full_grid'
ORDER BY CASE strata_design
WHEN 'crude, no strata' THEN 0
WHEN 'density bins only' THEN 1
WHEN 'year only' THEN 2
ELSE 3 END, n_density_bins
Sweep over a free parameter: the presence cutoff
Every RCA cutoff strengthens the result; 1.0 is close to the most conservative
The lift rises monotonically with the cutoff, from 3.98 at RCA 0.5 to 5.45 at RCA 2.0. Choosing a stricter definition of "makes this product" makes the memory look stronger, so the reported figure at RCA 1.0 (4.68) is not cutoff-shopped.
Presence is RCA at or above the cutoff; everything downstream (lapsed, virgin, gap length) is recomputed at each cutoff, not reweighted. mh_lift here is the year by density decile standardisation. The Balassa convention of 1.0 is the most conservative common choice at or above 0.75, and the page quotes it throughout.
CEPII BACI 202501 (retrieved 2026-04-28, HS92 revision; instrument tables pre-date the V202601 rebase), built from the then-live data/parquet/rca_matrix (country_code, product_code, rca, year), product_proximity (upper triangle, censored at 0.2), products.parquet, pci_rankings.parquet, countries.parquet; 1995-2024. Figure reads data/parquet/instruments_savings_threshold_sweep.parquet (spec, rca_threshold, n_lapsed, n_virgin, rate_lapsed, rate_virgin, raw_lift, mh_lift, mh_lift_lo, mh_lift_hi).Query
SELECT rca_threshold, n_lapsed, n_virgin, rate_lapsed, rate_virgin, raw_lift,
mh_lift, mh_lift_lo, mh_lift_hi
FROM read_parquet('data/parquet/instruments_savings_threshold_sweep.parquet')
WHERE spec = 'S1_full_grid'
ORDER BY rca_threshold
Confound control 2a
The robustness ladder: the effect survives even for cells sitting just below the cutoff
From the 0.01 to 0.10 band onward the lift falls at every step as the band rises toward 1.0, exactly as the objection predicts it should if jitter were driving it: from 3.79 down to 1.26 for cells sitting between 0.90 and 1.00 (1.236 to 1.274). But it never reaches 1, and cells with no measurable exports at all still read 3.16, which is higher than every band above 0.10 and is where jitter cannot operate. Jitter inflates the pooled figure; it does not create it.
The threshold-jitter objection says a "lapsed" cell is just a present cell that wobbled below 1.0, so the lift is measurement noise. This splits absent cells by their stored RCA in the year of the comparison. rca_matrix stores a row only where RCA is at least 0.01 (the ingest floor, verified: the minimum stored value is exactly 0.01), so the first band means an RCA below 0.01 including no exports at all, and is labelled that way rather than "zero". Bars are density-standardised over ten deciles.
CEPII BACI 202501 (retrieved 2026-04-28, HS92 revision; instrument tables pre-date the V202601 rebase), built from the then-live data/parquet/rca_matrix (country_code, product_code, rca, year), product_proximity (upper triangle, censored at 0.2), products.parquet, pci_rankings.parquet, countries.parquet; 1995-2024. Figure reads data/parquet/instruments_savings_rca_bands.parquet (spec, rca_band, band_index, n_lapsed, entries_lapsed, rate_lapsed, n_virgin, entries_virgin, rate_virgin, raw_lift, mh_lift_density, mh_lift_lo, mh_lift_hi).Query
SELECT rca_band, band_index, n_lapsed, n_virgin, rate_lapsed, rate_virgin,
raw_lift, mh_lift_density, mh_lift_lo, mh_lift_hi
FROM read_parquet('data/parquet/instruments_savings_rca_bands.parquet')
WHERE spec = 'S1_full_grid'
ORDER BY band_index
Sweep over a free parameter: the cell universe
Four ways to build the grid, at the same RCA cutoff of 1.0
Specification
Lapsed cells
Rate
Virgin cells
Rate
Crude
Year x density
Density only
S1 Balanced core, full 233-code country grid every year
4,880,148
6.97%
23,628,298
1.25%
5.556
4.681
3.779
S2 Balanced core, country-years that report in both y and y+1
4,714,800
7.22%
22,366,399
1.30%
5.567
4.703
3.783
S3 Products traded somewhere that year, no balanced-core restriction
5,181,280
6.86%
25,213,652
1.25%
5.500
4.598
3.704
S4 All 5,022 catalog codes every year, no restriction at all
5,344,458
6.65%
25,821,238
1.22%
5.462
4.596
3.664
No specification sits more than 3.1% away from the published S1 on any of the three estimators (1.7% crude, 1.8% year by density, 3.1% density only). The choice of universe is not what produces the result.
S1 is the published specification. S2 keeps only country-years that report in both y and y+1, which removes the reporting-gap artefact. S3 drops the balanced-core restriction and keeps any product traded somewhere that year. S4 drops every restriction, putting all 5,022 catalog codes in the grid in all 30 years. Within the catalog, traded codes fall from 5,017 in 1995 to 4,637 in 2024; the raw rca_matrix code count rises over the same window because later BACI years carry HS codes this site's product catalog does not, which is why the core is defined by intersecting the two.
CEPII BACI 202501 (retrieved 2026-04-28, HS92 revision; instrument tables pre-date the V202601 rebase), built from the then-live data/parquet/rca_matrix (country_code, product_code, rca, year), product_proximity (upper triangle, censored at 0.2), products.parquet, pci_rankings.parquet, countries.parquet; 1995-2024. Figure reads data/parquet/instruments_savings_overview.parquet (spec, spec_label, n_lapsed, entries_lapsed, rate_lapsed, n_virgin, entries_virgin, rate_virgin, raw_lift, mh_lift (year x density), mh_lift_density_only).Query
SELECT spec, spec_label, n_lapsed, entries_lapsed, rate_lapsed, n_virgin, entries_virgin,
rate_virgin, raw_lift, mh_lift, mh_lift_lo, mh_lift_hi,
mh_lift_density_only, mh_lift_density_only_lo, mh_lift_density_only_hi
FROM read_parquet('data/parquet/instruments_savings_overview.parquet')
WHERE rca_threshold = 1.0
ORDER BY spec
Every transition with lapsed cells, 1996-97 to 2023-24
The lift is not a period effect
Scroll horizontally to view the full chart.
The crude lift runs 5.65 to 10.47 and the within-year density-standardised lift runs 4.01 to 5.63 across 28 transitions, with no trend that would let one period carry the pooled result. The latest transition, 2023 to 2024, is the high end at 5.01 MODELED, which is the only place a multiplier of five is defensible.
One point per year-to-year transition. The panel's first year, 1995, opens no transition of its own because no cell can be lapsed in the first year by construction. Entry rates fall steadily over the panel on both sides (the lapsed rate goes from 19.60% in 1997 to 4.68% in 2024) because the stock of lapsed cells grows as the panel lengthens; the ratio is the stable quantity, not the levels.
CEPII BACI 202501 (retrieved 2026-04-28, HS92 revision; instrument tables pre-date the V202601 rebase), built from the then-live data/parquet/rca_matrix (country_code, product_code, rca, year), product_proximity (upper triangle, censored at 0.2), products.parquet, pci_rankings.parquet, countries.parquet; 1995-2024. Figure reads data/parquet/instruments_savings_by_year.parquet (spec, year_from, year_to, n_lapsed, rate_lapsed, n_virgin, rate_virgin, raw_lift, mh_lift (density deciles within that year)).Query
SELECT year_from, year_to, n_lapsed, rate_lapsed, n_virgin, rate_virgin, raw_lift, mh_lift
FROM read_parquet('data/parquet/instruments_savings_by_year.parquet')
WHERE spec = 'S1_full_grid' AND n_lapsed > 0
ORDER BY year_from
How long the memory lasts
Decay of the advantage
Density-standardised lift by years since the product was last held
The advantage is 1.78 at eleven years (1.735 to 1.827) and 1.38 at fifteen (1.328 to 1.428), both clearly above 1. The last gap whose interval excludes 1 is 20 years; at 21 the interval first contains it. "Still measurable more than a decade after a deep loss" is supported MODELED. Two decades is not.
Each point compares cells with exactly this gap against virgin cells in the same density decile, pooled over all transitions, with a 95% Mantel-Haenszel interval. Filled markers are gaps whose interval excludes 1. The longest gap observable in a panel that starts in 1995 is 28 years, and the thinnest bins are thin: gap 28 rests on 6,079 cells and 69 re-entries.
CEPII BACI 202501 (retrieved 2026-04-28, HS92 revision; instrument tables pre-date the V202601 rebase), built from the then-live data/parquet/rca_matrix (country_code, product_code, rca, year), product_proximity (upper triangle, censored at 0.2), products.parquet, pci_rankings.parquet, countries.parquet; 1995-2024. Figure reads data/parquet/instruments_savings_curve.parquet (spec, gap_years, n_cells, entries, hazard, hazard_se, lift_vs_virgin_density_std, lift_lo, lift_hi).Query
SELECT gap_years, n_cells, entries, hazard, hazard_se, virgin_baseline_hazard,
fitted_power, fitted_exponential, fitted_power_excess, fitted_exponential_excess,
lift_vs_virgin_density_std, lift_lo, lift_hi
FROM read_parquet('data/parquet/instruments_savings_curve.parquet')
WHERE spec = 'S1_full_grid'
ORDER BY gap_years
Confound control 2b, and a sweep over the long-gap requirement
Require a longer absence and the advantage decays to nothing
At k=5 the lift is 1.99, at k=10 it is 1.44, and by k=20 it is 0.977 with an interval spanning 1 (0.950 to 1.004) MODELED. The pooled headline is carried substantially by recent losses, which is what a forgetting curve implies and what the page claims.
Each row restricts the lapsed pool to cells absent for at least k years, against the same virgin pool. This is the sweep over the long-gap free parameter, and it is also the answer to the charge that the pooled figure is just short interruptions. Bars are the density-only standardisation, which is the conservative of the two designs; the year by density estimator disagrees at long gaps (it reads 1.38 at k=28 against 0.72) because its late strata are unbalanced. Where they disagree this page trusts the density-only figure and says so.
CEPII BACI 202501 (retrieved 2026-04-28, HS92 revision; instrument tables pre-date the V202601 rebase), built from the then-live data/parquet/rca_matrix (country_code, product_code, rca, year), product_proximity (upper triangle, censored at 0.2), products.parquet, pci_rankings.parquet, countries.parquet; 1995-2024. Figure reads data/parquet/instruments_savings_mingap_sweep.parquet (spec, min_gap_years, n_lapsed, entries_lapsed, rate_lapsed, n_virgin, rate_virgin, raw_lift, mh_lift (year x density), mh_lift_density_only (+ CI)).Query
SELECT min_gap_years, n_lapsed, entries_lapsed, rate_lapsed, raw_lift, mh_lift,
mh_lift_density_only, mh_lift_density_only_lo, mh_lift_density_only_hi
FROM read_parquet('data/parquet/instruments_savings_mingap_sweep.parquet')
WHERE spec = 'S1_full_grid'
ORDER BY min_gap_years
The shape of forgetting
Memory science does not only ask whether retention decays, it asks in what functional form. Wixted and Ebbesen (1991) put the power law against the exponential on human retention data and the power law won. The same race is run here on 28 gap lengths, weighted by cell count, in logs. On log-log axes a power law is a straight line and an exponential is curved, so the reader can see the answer without the R-squared values.
Horse race 1: the raw re-entry hazard
The raw hazard is power-law shaped
The observed hazard falls from 19.40% at a one-year gap to 1.14% at 28, and tracks the straight line, not the curve. The exponential is forced to over-predict in the middle and collapse at the tail. Exponent 0.8153 MODELED.
Cell-count-weighted least squares in logs over gaps 1 to 28. Power: h(t) = 0.2104 t^-0.8153, weighted R-squared 0.9951. Exponential: h(t) = 0.1311 exp(-0.1145 t), weighted R-squared 0.8771. The power law also wins on binomial log likelihood, AIC(power) minus AIC(exponential) = -37,217. The fit window is a free parameter; the sweep over all 21 windows is two figures below.
CEPII BACI 202501 (retrieved 2026-04-28, HS92 revision; instrument tables pre-date the V202601 rebase), built from the then-live data/parquet/rca_matrix (country_code, product_code, rca, year), product_proximity (upper triangle, censored at 0.2), products.parquet, pci_rankings.parquet, countries.parquet; 1995-2024. Figure reads data/parquet/instruments_savings_curve.parquet (spec, gap_years, hazard, fitted_power, fitted_exponential, virgin_baseline_hazard). Fit parameters from instruments_savings_fits.parquet (level = pooled, measure = raw_hazard).Query
SELECT gap_years, n_cells, entries, hazard, hazard_se, virgin_baseline_hazard,
fitted_power, fitted_exponential, fitted_power_excess, fitted_exponential_excess,
lift_vs_virgin_density_std, lift_lo, lift_hi
FROM read_parquet('data/parquet/instruments_savings_curve.parquet')
WHERE spec = 'S1_full_grid'
ORDER BY gap_years
-- fit parameters
SELECT measure, baseline_hazard, n_points, power_A, power_b, power_r2,
exp_A, exp_lambda, exp_r2, winner_r2, winner_ll, aic_power_minus_exp
FROM read_parquet('data/parquet/instruments_savings_fits.parquet')
WHERE level = 'pooled' AND group_id = 'S1_full_grid'
ORDER BY measure
Horse race 2: the strict Ebbinghaus savings quantity
Subtract the never-held baseline and the exponential wins
This is the flip the page was designed to catch. A constant plus an exponential is almost indistinguishable from a power law in logs, which is Anderson and Schooler's objection to aggregate forgetting curves. Once the floor is removed, the curvature that the raw plot hid becomes the better description. The defensible claim is narrow: the raw re-entry hazard is power-law shaped, the excess over the never-held rate is not MODELED.
Savings in the Ebbinghaus sense is the advantage over never having learned the item, so the quantity to fit is the hazard minus the never-held baseline of 0.0125, not the hazard. Power: 0.2612 t^-1.2132, R-squared 0.9157. Exponential: 0.1485 exp(-0.1878 t), R-squared 0.9723, and it also wins on likelihood, AIC(power) minus AIC(exponential) = +5,578. The fit uses 27 of 28 points because gap 28 has a raw hazard (0.0114) below the never-held baseline, so its excess is negative and cannot be logged.
CEPII BACI 202501 (retrieved 2026-04-28, HS92 revision; instrument tables pre-date the V202601 rebase), built from the then-live data/parquet/rca_matrix (country_code, product_code, rca, year), product_proximity (upper triangle, censored at 0.2), products.parquet, pci_rankings.parquet, countries.parquet; 1995-2024. Figure reads data/parquet/instruments_savings_curve.parquet (spec, gap_years, hazard, virgin_baseline_hazard, fitted_power_excess, fitted_exponential_excess). Fit parameters from instruments_savings_fits.parquet (level = pooled, measure = excess_hazard).Query
SELECT gap_years, n_cells, entries, hazard, hazard_se, virgin_baseline_hazard,
fitted_power, fitted_exponential, fitted_power_excess, fitted_exponential_excess,
lift_vs_virgin_density_std, lift_lo, lift_hi
FROM read_parquet('data/parquet/instruments_savings_curve.parquet')
WHERE spec = 'S1_full_grid'
ORDER BY gap_years
-- fit parameters
SELECT measure, baseline_hazard, n_points, power_A, power_b, power_r2,
exp_A, exp_lambda, exp_r2, winner_r2, winner_ll, aic_power_minus_exp
FROM read_parquet('data/parquet/instruments_savings_fits.parquet')
WHERE level = 'pooled' AND group_id = 'S1_full_grid'
ORDER BY measure
Sweep over a free parameter: the fit window
The winner by fit window, 21 windows on each measure
Window
b (raw)
R2 power
R2 exp
Winner
b (excess)
R2 power
R2 exp
Winner
gaps 1 to 5
0.7357
0.9977
0.9674
power
0.8356
0.9950
0.9754
power
gaps 1 to 10
0.7619
0.9982
0.9239
power
0.9175
0.9920
0.9490
power
gaps 1 to 15
0.7870
0.9970
0.9080
power
1.0093
0.9795
0.9528
power
gaps 1 to 20
0.8043
0.9958
0.8950
power
1.1034
0.9572
0.9625
exponential
gaps 1 to 25
0.8142
0.9951
0.8828
power
1.1972
0.9206
0.9713
exponential
gaps 1 to 28
0.8153
0.9951
0.8771
power
1.2132
0.9157
0.9723
exponential
gaps 2 to 10
0.7998
0.9996
0.9534
power
1.0080
0.9964
0.9716
power
gaps 2 to 15
0.8268
0.9984
0.9439
power
1.1247
0.9837
0.9771
power
gaps 2 to 20
0.8457
0.9972
0.9339
power
1.2500
0.9601
0.9837
exponential
gaps 2 to 25
0.8566
0.9966
0.9231
power
1.3814
0.9204
0.9862
exponential
gaps 2 to 28
0.8574
0.9966
0.9175
power
1.4034
0.9159
0.9867
exponential
gaps 3 to 10
0.8081
0.9993
0.9710
power
1.0578
0.9972
0.9837
power
gaps 3 to 15
0.8433
0.9980
0.9656
power
1.2046
0.9841
0.9892
exponential
gaps 3 to 20
0.8659
0.9969
0.9572
power
1.3612
0.9596
0.9928
exponential
gaps 3 to 25
0.8783
0.9964
0.9471
power
1.5293
0.9180
0.9901
exponential
gaps 3 to 28
0.8788
0.9964
0.9414
power
1.5569
0.9141
0.9904
exponential
gaps 5 to 10
0.8119
0.9973
0.9892
power
1.1336
0.9958
0.9942
power
gaps 5 to 15
0.8737
0.9968
0.9870
power
1.3554
0.9845
0.9978
exponential
gaps 5 to 20
0.9026
0.9961
0.9801
power
1.5759
0.9603
0.9968
exponential
gaps 5 to 25
0.9167
0.9960
0.9707
power
1.8216
0.9179
0.9876
exponential
gaps 5 to 28
0.9160
0.9959
0.9646
power
1.8596
0.9157
0.9880
exponential
On the raw hazard the power law wins in 21 of 21 windows, with the exponent between 0.7357 and 0.9167. On the excess it wins in only 7 of 21, every one of them a window ending at gap 15 or earlier, with the exponent running 0.8356 to 1.8596. The raw-hazard result is a property of the data; the excess-hazard result would have been a property of the window.
Every combination of gap_min in 1, 2, 3, 5 and gap_max in 5, 10, 15, 20, 25, 28. The winner column is on weighted R-squared; the likelihood winner agrees in all but three of the 42 rows. The exponent on the raw hazard drifts upward as the window moves out along the tail, which is what fitting a curve with a floor on it should do.
CEPII BACI 202501 (retrieved 2026-04-28, HS92 revision; instrument tables pre-date the V202601 rebase), built from the then-live data/parquet/rca_matrix (country_code, product_code, rca, year), product_proximity (upper triangle, censored at 0.2), products.parquet, pci_rankings.parquet, countries.parquet; 1995-2024. Figure reads data/parquet/instruments_savings_fit_window_sweep.parquet (gap_min, gap_max, measure, power_b, power_r2, exp_lambda, exp_r2, winner_r2, winner_ll).Query
SELECT gap_min, gap_max, measure, power_b, power_r2, exp_lambda, exp_r2, winner_r2, winner_ll
FROM read_parquet('data/parquet/instruments_savings_fit_window_sweep.parquet')
ORDER BY measure DESC, gap_min, gap_max
The kill condition, run
A pooled power law proves nothing on its own: average a set of exponentials with different rates and the average is approximately a power law, whatever the parts are doing. That is the Anderson and Schooler critique, and it is the reason the disaggregated fits are a precondition for publishing this page rather than future work.
Kill condition
The exponent under disaggregation, both measures
Measure
Level
Groups
Pooled b
Median b
IQR
Range
b > 0
Power wins (R2)
Power wins (LL)
raw hazard
country
228
0.8153
0.7976
0.667 to 0.895
0.188 to 1.756
100.00%
211 of 228
214 of 228
raw hazard
density decile
10
0.8153
0.7213
0.668 to 0.745
0.635 to 1.316
100.00%
10 of 10
10 of 10
raw hazard
section
21
0.8153
0.8072
0.767 to 0.840
0.642 to 0.886
100.00%
21 of 21
21 of 21
excess hazard
country
228
1.2132
1.0809
0.914 to 1.264
0.182 to 1.999
100.00%
162 of 228
160 of 228
excess hazard
section
21
1.2132
1.1776
1.093 to 1.233
0.986 to 1.378
100.00%
6 of 21
8 of 21
Raw hazard: every exponent positive at all three levels, and the power law wins in 21 of 21 sections, 10 of 10 density deciles and 211 of 228 countries, with the country median exponent (0.7976) close to the pooled one (0.8153). The page survives. Excess hazard: the power law wins in only 6 of 21 sections and 162 of 228 countries, so that claim is withdrawn rather than defended.
Groups are the 21 HS sections, the 228 countries with at least 50 observed re-entries, and the ten density deciles. Each group gets its own weighted log-log fit over the same gap window. The panel unit is the BACI country_code, not the ISO3 code, so discontinued reporters such as Belgium-Luxembourg (to 1998), Serbia and Montenegro (to 2005), Netherlands Antilles (to 2010) and the pre-secession Sudan code (to 2011) appear as their own rows; BEL, DEU and SDN therefore carry duplicate ISO3 codes in this table.
CEPII BACI 202501 (retrieved 2026-04-28, HS92 revision; instrument tables pre-date the V202601 rebase), built from the then-live data/parquet/rca_matrix (country_code, product_code, rca, year), product_proximity (upper triangle, censored at 0.2), products.parquet, pci_rankings.parquet, countries.parquet; 1995-2024. Figure reads data/parquet/instruments_savings_disaggregation.parquet (level, measure, n_groups, pooled_power_b, median/q25/q75/min/max power_b, share_b_positive, share_power_wins_r2, share_power_wins_ll, median_exp_lambda).Query
SELECT level, measure, n_groups, pooled_power_b, median_power_b, q25_power_b, q75_power_b,
min_power_b, max_power_b, share_b_positive, share_power_wins_r2, share_power_wins_ll
FROM read_parquet('data/parquet/instruments_savings_disaggregation.parquet')
ORDER BY measure DESC, level
Kill condition, section detail
All 21 HS sections, raw re-entry hazard
The spread is narrow and ordered in a way that reads: the slowest forgetting is in works of art and antiques (0.642) and in machinery and instruments, the fastest in chemicals (0.886) and textiles. Every section prefers the power law on both criteria.
Sections are the 21 top-level HS groupings, resolved from the product catalog. n_entries is the number of observed re-entries the fit rests on. The pooled exponent is 0.8153; the section median is 0.8072.
CEPII BACI 202501 (retrieved 2026-04-28, HS92 revision; instrument tables pre-date the V202601 rebase), built from the then-live data/parquet/rca_matrix (country_code, product_code, rca, year), product_proximity (upper triangle, censored at 0.2), products.parquet, pci_rankings.parquet, countries.parquet; 1995-2024. Figure reads data/parquet/instruments_savings_fits.parquet (level = 'section', measure = 'raw_hazard': group_label, power_b, power_r2, exp_lambda, exp_r2, winner_r2, n_entries).Query
SELECT group_label, power_b, power_r2, exp_lambda, exp_r2, winner_r2, n_entries
FROM read_parquet('data/parquet/instruments_savings_fits.parquet')
WHERE level = 'section' AND measure = 'raw_hazard'
ORDER BY power_b
Kill condition, the exceptions
The 17 countries where the exponential beats the power law on the raw hazard
Reporter
ISO3
Re-entries
b
R2 power
R2 exp
Eswatini
SWZ
2,062
0.8211
0.9121
0.9376
Guam
GUM
1,798
0.7258
0.9232
0.9240
Montserrat
MSR
1,284
0.5813
0.6544
0.7879
Serbia and Montenegro (...2005)
SCG
1,123
1.7561
0.9092
0.9949
Lesotho
LSO
1,020
0.8779
0.8975
0.9140
Burkina Faso
BFA
991
1.3367
0.8614
0.8616
Nauru
NRU
762
0.5344
0.8357
0.8482
Pitcairn
PCN
694
0.4126
0.5753
0.6439
Br. Indian Ocean Terr.
IOT
652
0.3129
0.5965
0.6104
Eritrea
ERI
545
1.1291
0.8501
0.9257
Mayotte (Overseas France)
MYT
516
1.6031
0.8091
0.9701
Tuvalu
TUV
464
0.8299
0.8700
0.9116
Netherlands Antilles (...2010)
ANT
462
1.6452
0.7523
0.8986
Christmas Isds
CXR
456
0.1879
0.1994
0.2119
Saint Barthélemy
BLM
286
0.3061
0.4708
0.5354
Liberia
LBR
267
0.8972
0.8610
0.8780
Sudan (...2011)
SDN
167
1.6553
0.9137
0.9552
The exceptions are small or discontinued reporters, and they are where the extreme exponents live: the panel maximum of 1.7561 belongs to a reporter that stops in 2005. The power law is not universal, and the page does not claim it is.
Labels carry the last reporting year for discontinued BACI codes. These are the rows that would matter if they were large: they are not. The largest is Eswatini with 2,062 re-entries and an R-squared gap of 0.0255. Every exponent in this table is still positive.
CEPII BACI 202501 (retrieved 2026-04-28, HS92 revision; instrument tables pre-date the V202601 rebase), built from the then-live data/parquet/rca_matrix (country_code, product_code, rca, year), product_proximity (upper triangle, censored at 0.2), products.parquet, pci_rankings.parquet, countries.parquet; 1995-2024. Figure reads data/parquet/instruments_savings_fits.parquet (level = 'country', measure = 'raw_hazard', winner_r2 = 'exponential': group_label, iso3, n_entries, power_b, power_r2, exp_r2).Query
SELECT group_label, iso3, n_entries, power_b, power_r2, exp_r2
FROM read_parquet('data/parquet/instruments_savings_fits.parquet')
WHERE level = 'country' AND measure = 'raw_hazard' AND winner_r2 = 'exponential'
ORDER BY n_entries DESC
Dormant capabilities, by country
The panel is a stock as well as a rate. For every 2024 reporter the build lists the products it held at some point since 1995, does not hold now, and would be most likely to regain: the ten with the highest re-entry hazard at their gap length, plus the five most complex by 2024 PCI. 226 reporters, 3,384 rows in the shortlist table.
United Kingdom (GBR)
Dormant capabilities and their re-entry hazard, United Kingdom
HS6
Product
Last held
Gap
Density decile
PCI 2024
Hazard
Hazard, density
Listed by
722691
Steel, alloy: flat-rolled, width less than 600mm, n.e.s. in heading no. 7226, hot-rolled
2023
1
10
4.5951
19.40%
28.32%
hazard
292421
Cyclic amides (including cyclic carbamates) and their derivatives, ureines and their derivatives: salts thereof
2023
1
10
3.9139
19.40%
28.32%
hazard
741510
Copper: nails and tacks, drawing pins, staples and similar articles of copper or with heads of copper
2023
1
10
3.8550
19.40%
28.32%
hazard
846029
Machine-tools: grinding machines (other than flat-surface), in which positioning in any one axis can be set up to at least an accuracy of 0.01mm, other than numerically controlled
2023
1
10
3.5915
19.40%
28.32%
hazard
911110
Watch cases: of precious metal or of metal clad with precious metal
2023
1
10
3.5342
19.40%
28.32%
hazard
845430
Casting machines: of a kind used in metallurgy or in metal foundries
2023
1
10
3.4749
19.40%
28.32%
hazard
381519
Other supported catalysts, no nickel or precious-metal active agent
2023
1
10
3.3116
19.40%
28.32%
hazard
741529
Copper: rivets, cotters, cotter-pins and similar articles, not threaded
2023
1
10
3.1326
19.40%
28.32%
hazard
846299
Machine-tools: presses for working metal or metal carbides, n.e.s. in heading no. 8462, other than hydraulic presses
2023
1
10
3.0983
19.40%
28.32%
hazard
920930
Musical instrument strings
2023
1
10
2.9513
19.40%
28.32%
hazard
960831
Pens: Indian ink drawing pens
2011
13
8
6.0048
2.58%
3.05%
pci
480251
Paper and paperboard: uncoated, containing no, or not more than 10% by weight of fibres obtained by mechanical process, weighing less than 40g/m2, in rolls or sheets
2012
12
5
5.9057
2.75%
2.04%
pci
251830
Dolomite: agglomerated (including tarred)
2010
14
5
5.9057
2.42%
1.85%
pci
710610
Metals: silver powder
2018
6
10
5.5528
5.19%
8.21%
pci
370255
Photographic film: for colour photography (polychrome), in rolls, sensitised, unexposed, of a width exceeding 16mm but not 35mm and of a length exceeding 30m
2023
1
8
5.4804
19.40%
18.43%
pci
United Kingdom held 1,250 balanced-core products in 2024 and has 1,782 dormant ones with a median absence of 10 years MEASURED. Its own panel contrast is 4.81 crude (11.604% against 2.413% on 33,333 lapsed cells), which is not density-standardised and should not be read as a country-level effect size.
hazard_gap is the pooled empirical re-entry hazard at that gap length, with no fitted parameter; hazard_gap_density conditions on the product's 2024 density decile as well, and the number of deciles is the free choice swept in the strata figure above. PCI negatives are retained, never filtered. Rows whose product was last held in 1995 carry a 29-year gap, which exceeds the longest gap any realised transition can observe (28), so they carry no hazard and are shown as n/a rather than extrapolated: 0 of the 15 rows for this reporter. Expected re-entries for United Kingdom is 133.15, the sum of density-conditioned hazards over all 1,782 dormant cells, not over the shortlist shown here.
CEPII BACI 202501 (retrieved 2026-04-28, HS92 revision; instrument tables pre-date the V202601 rebase), built from the then-live data/parquet/rca_matrix (country_code, product_code, rca, year), product_proximity (upper triangle, censored at 0.2), products.parquet, pci_rankings.parquet, countries.parquet; 1995-2024. Figure reads data/parquet/instruments_savings_dormant.parquet (country_code, iso3, country_name, product_code, product_name, section, last_year_present, gap_years, density_2024, density_decile, pci_2024, hazard_gap, hazard_gap_density, rank_hazard, rank_pci, selected_by). Country aggregates from instruments_savings_country.parquet.Query
SELECT iso3, country_name, product_code, product_name, section, last_year_present, gap_years,
density_2024, density_decile, pci_2024, hazard_gap, hazard_gap_density,
rank_hazard, rank_pci, selected_by
FROM read_parquet('data/parquet/instruments_savings_dormant.parquet')
WHERE iso3 = 'GBR'
ORDER BY rank_hazard NULLS LAST, rank_pci NULLS LAST
The 2024 stock
Most dormant capabilities, and most expected re-entries next year
Most dormant capabilities
Reporter
Dormant
Median gap
Held 2024
Cyprus
2,635
12
397
Korea, DPR
2,626
13
197
Andorra
2,576
10.5
255
Dominica
2,203
12
231
Antigua and Barbuda
2,169
12
210
Georgia
2,141
13
391
Hong Kong SAR
2,118
7
732
Lithuania
2,101
8
1,031
Most expected re-entries next year
Reporter
Expected
Dormant
Median gap
Lithuania
170.5
2,101
8
Spain
159.2
1,645
7
Hong Kong SAR
158.5
2,118
7
Bulgaria
154.3
1,976
9
Estonia
149.8
2,096
10
Slovenia
149.7
2,007
8
Portugal
145.0
1,610
9
Latvia
144.1
2,002
9
United Kingdom
133.2
1,782
10
France
133.1
1,554
11
The largest dormant stocks belong to small or heavily re-exporting economies with volatile baskets. The largest expected flows belong to mid-sized European exporters with wide baskets and short gaps: Lithuania at 170.5 expected re-entries MODELED.
Expected re-entries is the sum of density-conditioned cell hazards over every dormant cell, so it rises with both the size of the dormant stock and how recently it lapsed. The two rankings differ because a large stock of very old lapses (Cyprus, median gap 12 years) contributes less per cell than a smaller stock of recent ones. Country names resolve through the site's shared BACI display-name map. The 2024 layer covers the 226 reporters present in 2024; the discontinued reporters that appear in the pooled panel are not in it.
CEPII BACI 202501 (retrieved 2026-04-28, HS92 revision; instrument tables pre-date the V202601 rebase), built from the then-live data/parquet/rca_matrix (country_code, product_code, rca, year), product_proximity (upper triangle, censored at 0.2), products.parquet, pci_rankings.parquet, countries.parquet; 1995-2024. Figure reads data/parquet/instruments_savings_country.parquet (iso3, country_name, n_dormant, median_gap, mean_pci_dormant, expected_reentries, n_present_2024, panel_n_lapsed, panel_rate_lapsed, panel_rate_virgin, panel_raw_lift).Query
SELECT iso3, country_name, n_dormant, median_gap, mean_pci_dormant, expected_reentries,
n_present_2024, panel_n_lapsed, panel_rate_lapsed, panel_rate_virgin, panel_raw_lift
FROM read_parquet('data/parquet/instruments_savings_country.parquet')
ORDER BY country_name
The strongest objection to this page
Sunk-cost export hysteresis is one of the most established results in the field. Roberts and Tybout, Das, Roberts and Tybout, and Besedes and Prusa on duration and re-entry all show that prior experience raises re-entry probability, with the advantage decaying in time out of the market. Prior experience raising re-entry probability, with the advantage decaying in time out, is the lift restated. There is no new fact in the first half of this page.
The genuinely new half, the power law beating the exponential, is undermined by the fact that a mixture of heterogeneous exponentials produces a power law almost mechanically. Without disaggregated fits, a pooled power-law exponent is evidence of heterogeneity, not of a retention law.
The priority claim is conceded in the lede rather than left for a referee, and the citations are on the page. Nothing here is presented as the discovery that trade has memory.
The contribution is narrowed to two things the hysteresis literature does not provide. First, a density-matched lift on the full 233 by 4,615 panel: 3.78 to 4.68 depending on whether time is stratified alongside density, computed inside product space rather than against an unconditional base rate, and swept over strata count, RCA cutoff, cell universe and minimum gap (four figures above). Second, a fitted functional form with its horse race published in both directions, including the direction that loses.
On the mixture objection, the disaggregated fits were made a precondition of publication rather than future work, and they are the declared kill condition at the top of this page. On the raw hazard the exponent survived: positive in every one of the 21 sections, the 10 density deciles and the 228 countries, with the power law winning 21 of 21, 10 of 10 and 211 of 228 respectively, and the country median exponent 0.7976 against a pooled 0.8153. On the excess hazard it did not, so that claim is withdrawn on the page rather than defended in a footnote.
What remains unanswered: nothing here is causal, and the page does not call it causal. There are no country or product fixed effects, so the contrast is between cells that differ in their history and in everything correlated with their history. It is a well-controlled descriptive contrast, which is what it is labelled.
Method and limits
Presence is RCA at or above 1.0 in data/parquet/rca_matrix, which stores a row only where RCA is at least 0.01. Absence in this panel therefore means "below 0.01, including no exports at all" whenever no row exists, which is how the band ladder labels it.
The instrument tables were built on CEPII BACI 202501 (retrieved 2026-04-28), HS92 revision, whose rca_matrix coverage started in 1995; they pre-date the V202601 rebase and are re-derived with the next instrument rebuild. The site's separate time-consistent ladder tree at data/baci_hs92 is not used here.
The panel unit is the BACI country_code, which is what the 233 refers to. BEL, DEU and SDN carry duplicate ISO3 codes across legacy and current reporter codes; the legacy codes contribute to the pooled panel and to the country fits, and are excluded from the 2024 country layer because they do not report in 2024.
Independent cross-checks: the pooled panel counts were re-derived in pure SQL from rca_matrix and products.parquet and matched the pipeline to the unit (4,880,148 lapsed, 340,188 re-entries, 23,628,298 virgin, 296,445 first entries, ratio 5.5562). Density for Afghanistan in 2024 was re-derived in SQL by mirroring the proximity upper triangle and applying the Hidalgo et al. (2007) definition, matching to eight decimals on three test products.
Build time about 4 minutes, emitting 16 flat tables read directly by this page. No computation on this page beyond formatting.