Selected work

Applied data science · Early warning

Testing alternative signals for sovereign debt early warning

I tested whether satellite nightlights and global news data add predictive signal beyond macroeconomic indicators—while treating time leakage, rare outcomes, and false alarms as first-order design problems.

RoleLead researcher and developer
ContextColumbia SIPA applied ML project
PeriodFebruary–May 2026
StatusOffline research model

Measured offline result

Figure 04Average precision · 2019–2020 validation
Macro only
0.461
Macro + satellite
0.519

Out-of-time validation on 258 country-years with 28 positive crisis targets. This is not evidence of policy impact.

Can external signals improve a delayed official baseline?

Sovereign debt early-warning systems often rely on macroeconomic statistics that arrive with delays and revisions. The project asked a narrower, testable question: do externally observed signals improve prediction beyond a conventional macro-only model?

I combined three country-year data streams and defined a forward-looking target for whether a crisis would begin within the next three years.

World Bank WDIDebt, reserves, inflation, growth, and other macro indicators
VIIRS nightlightsSatellite-observed activity levels, changes, and volatility
GDELTAggregated news tone, conflict, protest, debt, and IMF signals
129low- and middle-income economies
3,096country-year observations in the merged panel
2000–23full panel period before lag construction

My contribution

I implemented the project end to end: data acquisition, country-year integration, feature engineering, model comparison, time-aware validation, interpretation, diagnostics, and the final analytical dashboard and report.

The central task was not choosing the most sophisticated model. It was making the comparison credible enough to answer the research question.

Three methodological choices mattered most.

01

Use only information available before the prediction year

Inputs are lagged values, prior changes, or rolling statistics calculated from earlier years. Current-year raw variables are excluded to reduce look-ahead leakage.

02

Compare nested feature blocks

Macro Only, Macro + Satellite, Macro + Text, and All Features isolate what each external source adds instead of treating one large model as sufficient evidence.

03

Prioritize average precision for a rare event

AUC remained informative, but average precision better reflected the model’s ability to rank a small number of crisis targets without obscuring positive-class performance.

The time split changed what could be claimed.

TrainingYears through 2018
Validation2019–2020
Not a clean test2021–2023, right-censored

Because the target looks three years ahead and crisis labels end in 2023, observations from 2021 onward do not have a fully observable outcome window. I used 2019–2020 as the headline out-of-time validation period and treated later years as censored rather than presenting them as a final test.

Five rolling-origin validation windows provided a second check on whether one split drove the result.

Satellite data added the most stable incremental signal.

Average precision

Higher is better. Bars share a zero-to-0.60 scale.

Validation · macro
0.461
Validation · + satellite
0.519
Rolling mean · macro
0.345
Rolling mean · + satellite
0.366

The Macro + Satellite specification achieved the strongest headline and rolling mean average precision. The All Features model had a higher validation AUC but lower average precision, so I treated it as a robustness specification rather than the preferred model.

Interpretation boundary

The model ranks potential warning signals. It does not explain the causes of crises, establish causal effects, or justify automatic policy escalation.

What would need to improve before real use

  • Extend crisis labels far enough to create a fully observed final test period.
  • Address uneven news coverage across countries and languages.
  • Expand satellite history through a defensible cross-sensor harmonization method.
  • Validate thresholds and review burden with analysts who would act on alerts.
  • Treat regional estimates cautiously because several subgroups are small.
View public repository and report