Monthly agricultural risk index (DARS) for five districts in Northern Uganda. Python pipeline plus a static Cloudflare Pages dashboard.
# DAVARS
**District Agricultural Volatility and Adaptive Risk System**
A monthly agricultural risk index for five districts in Northern Uganda (Gulu, Arua,
Lira, Oyam, Nebbi). DAVARS combines price volatility, climate stress, production
instability, conflict and disaster shocks, and input cost pressure into a single
composite score from 0 to 100 per district-month. When the score crosses a
district-specific threshold, the month is flagged high risk: a period when deploying
growth capital into youth agribusinesses is statistically more likely to produce
income losses.
**Live dashboard:
davars.org**
## What is in this repo
```
src/ Python pipeline that computes the index
run_pipeline.py Entry point: runs the full pipeline end to end
data_cleaned/ Harmonized input data (prices, climate, yields, shocks, costs)
data_processed/ Pipeline output (DARS scores and sub-index scores)
outputs/ Backtests, bulletins, charts, and diagnostic reports
docs/ Methodology, data coverage, and decision protocol notes
site/ The static web dashboard (hosted on Cloudflare Pages)
tests/ Pipeline tests
```
## The index
DARS is a weighted blend of five sub-indices:
| Component | Weight | Data source | Coverage |
|-----------|:------:|-------------|----------|
| Commodity Volatility (CVI) | 25% | WFP VAM price data | Gulu, Arua, Lira only |
| Climate Stress (CSI) | 25% | NASA POWER | All districts |
| Yield Instability (YII) | 20% | FAOSTAT national crops | All districts, national signal |
| Shock Intensity (SII) | 20% | ACLED and disaster records | All districts |
| Input Cost Pressure (ICPI) | 10% | IFDC fertilizer data | All districts, national signal |
Full methodology is in `docs/index_methodology.md`.
**Limitations.** Oyam and Nebbi have no commodity price data, so their scores use four
components and are flagged `missing_price_component`. YII, ICPI, and the conflict part
of SII are national s …