Crop insurance drought payouts track measured drought severity only loosely (r≈0.32-0.38); arid Western states and the mid-Atlantic/Ohio Valley are the biggest outliers
USDA RMA Cause-of-Loss indemnities vs. NOAA/USDM Drought Monitor, county-year grain, 2010-2017 & 2025 (2018-2024 missing from RMA cause-of-loss data)
Summary
Federal crop insurance payouts track measured drought only loosely. At the county-year grain (2010-2017 and 2025, the only years both datasets cover), the correlation between mean annual Drought Monitor severity (DSCI, 0-500) and the drought-attributed indemnity-to-liability ratio is r = 0.32 (r = 0.38 using the loss-ratio form), and a quintile dose-response test confirms a real but modest monotonic relationship: counties in the worst DSCI quintile paid drought claims at 19.0% of liability versus 2.5% in the mildest quintile (trend p=0.008). The two measures diverge most in opposite directions for two distinct reasons. In the arid West (Nevada, Arizona, California, Utah, Idaho) drought severity ranks in the 85th-100th percentile nationally but drought-caused loss ratios rank near the bottom - irrigation, water rights, and a crop mix (nuts, vegetables, hay on senior water rights) insulate insured yields from what the Drought Monitor calls severe drought. In the Mid-Atlantic and Ohio Valley (Virginia, Kentucky, Maryland, West Virginia, Delaware, Wisconsin, Pennsylvania) the reverse holds: drought severity ranks low-to-middling but drought-caused loss ratios rank in the 70th-95th percentile - short, poorly-DSCI-captured dry spells during pollination/grain-fill on rainfed corn and soybean ground translate into outsized claims relative to the annual-average severity number.
Data-quality caveat that bounds this whole analysis: USDA RMA's cause-of-loss file (the only crop-insurance table that isolates drought from other perils) has a 7-year interior gap - 2018 through 2024 hold zero rows in this corpus. That window includes the severe 2020-2022 Western/Southern Plains drought, one of the worst droughts in the observational record. Every number below is built only from 2010-2017 and 2025; it cannot speak to the 2018-2024 period at all.
Method
Tables: ag.rma_cause_of_loss (indemnity_amount filtered to cause_of_loss_desc='Drought', joined for total liability across all causes) and weather.drought_monitor_weekly (dsci, averaged to an annual county mean). Grain: county-year, restricted to county-years with over $100,000 of total insured liability (21,772 observations, 48 states+DC with liability above $5M pooled for the state view). Outcome: drought-attributed indemnity as a share of total insured liability (a loss-ratio-style measure that normalizes for how much farmland is actually insured in a place, rather than raw indemnity dollars, which would just track farm size). Divergence metric: for each state, the percentile rank of mean DSCI minus the percentile rank of the drought loss ratio, pooled across all overlap years - a positive gap means drought conditions rank worse nationally than the drought payout does; negative means the reverse.
Sensitivity: a leave-one-state-out check on the county-year regression (drought loss ratio ~ avg DSCI) found the coefficient positive and significant in every one of 50 state-holdout refits (no sign flip, no loss of significance). California is the single most influential state (removing it raises the slope by about 15%, since CA is a high-DSCI/low-payout outlier that flattens the relationship) but the relationship survives its removal.
Why this happens
- Arid West divergence: Nevada and Arizona have DSCI in the top 5% of states but almost no drought-attributed indemnity (loss ratios near 0.0001-0.005) - both states have comparatively little insured dryland row-crop acreage; their agriculture leans on irrigation districts and groundwater that decouple yield from meteorological drought as measured by the Drought Monitor. California sits similarly (DSCI ~199, loss ratio 0.0045) despite its severe multi-year droughts making headlines, because California's large insured liability base (>$8B) is concentrated in irrigated perennials and vegetables less exposed to a single-season moisture deficit.
- Mid-Atlantic/Ohio Valley divergence: Virginia, Kentucky, Maryland, West Virginia, Wisconsin, and Pennsylvania show the opposite pattern - moderate annual-average DSCI but drought loss ratios among the highest in the country (12-17% of liability). These states grow rainfed corn and soybeans where a short, intense dry spell during a critical growth window can trigger a large indemnity claim without materially moving the DSCI's annual average, which is a broad areal/duration index rather than a crop-stage-timed one.
- Best alignment: Colorado and Iowa show almost no divergence (drought rank and payout rank match almost exactly), suggesting the relationship works as expected specifically for large-scale rainfed grain agriculture without complicating irrigation infrastructure.
Every query behind this report
7 warehouse calls ran in this session, in order. Each is reproducible against the same snapshot.
query — 9 rows — 7048 ms
SELECT year, SUM(indemnity_amount) AS drought_indemnity
FROM ag.rma_cause_of_loss
WHERE cause_of_loss_desc = 'Drought'
GROUP BY year
ORDER BY year
query — 14 rows — 2238 ms
SELECT year, AVG(dsci) AS avg_dsci
FROM weather.drought_monitor_weekly
WHERE year BETWEEN 2012 AND 2025
GROUP BY year
ORDER BY year
query — 5000 rows — 11734 ms
WITH years AS (
SELECT DISTINCT "year" FROM ag.rma_cause_of_loss WHERE "year" IN (2010,2011,2012,2013,2014,2015,2016,2017,2025)
),
dsci AS (
SELECT county_fips, "year", AVG(dsci) AS avg_dsci
FROM weather.drought_monitor_weekly
WHERE "year" IN (2010,2011,2012,2013,2014,2015,2016,2017,2025)
GROUP BY county_fips, "year"
),
drought_ind AS (
SELECT county_fips, "year", SUM(indemnity_amount) AS drought_indemnity, SUM(liability_amount) AS drought_liability
FROM ag.rma_cause_of_loss
WHERE cause_of_loss_desc = 'Drought'
GROUP BY county_fips, "year"
),
total_ind AS (
SELECT county_fips, "year", SUM(indemnity_amount) AS total_indemnity, SUM(liability_amount) AS total_liability
FROM ag.rma_cause_of_loss
GROUP BY county_fips, "year"
)
SELECT d.county_fips, d.year, d.avg_dsci,
COALESCE(di.drought_indemnity,0) AS drought_indemnity,
COALESCE(ti.total_indemnity,0) AS total_indemnity,
COALESCE(ti.total_liability,0) AS total_liability
FROM dsci d
LEFT JOIN drought_ind di ON d.county_fips = di.county_fips AND d.year = di.year
LEFT JOIN total_ind ti ON d.county_fips = ti.county_fips AND d.year = ti.year
WHERE ti.total_liability > 100000
LIMIT 5000
query — 1 rows — 12043 ms
WITH dsci AS (
SELECT county_fips, "year", AVG(dsci) AS avg_dsci
FROM weather.drought_monitor_weekly
WHERE "year" IN (2010,2011,2012,2013,2014,2015,2016,2017,2025)
GROUP BY county_fips, "year"
),
drought_ind AS (
SELECT county_fips, "year", SUM(indemnity_amount) AS drought_indemnity
FROM ag.rma_cause_of_loss
WHERE cause_of_loss_desc = 'Drought'
GROUP BY county_fips, "year"
),
total_ind AS (
SELECT county_fips, "year", SUM(indemnity_amount) AS total_indemnity, SUM(liability_amount) AS total_liability
FROM ag.rma_cause_of_loss
GROUP BY county_fips, "year"
),
joined AS (
SELECT d.county_fips, d.year, d.avg_dsci,
GREATEST(COALESCE(di.drought_indemnity,0),0) AS drought_indemnity,
GREATEST(COALESCE(ti.total_indemnity,0),0) AS total_indemnity,
COALESCE(ti.total_liability,0) AS total_liability,
GREATEST(COALESCE(di.drought_indemnity,0),0)/NULLIF(ti.total_liability,0) AS drought_loss_ratio
FROM dsci d
LEFT JOIN drought_ind di ON d.county_fips = di.county_fips AND d.year = di.year
LEFT JOIN total_ind ti ON d.county_fips = ti.county_fips AND d.year = ti.year
WHERE ti.total_liability > 100000
)
SELECT COUNT(*) AS n,
corr(avg_dsci, drought_indemnity) AS corr_dsci_indemnity,
corr(avg_dsci, drought_loss_ratio) AS corr_dsci_lossratio,
corr(avg_dsci, LN(drought_indemnity+1)) AS corr_dsci_log_indemnity
FROM joined
quantile_binning_test — 12847 ms
WITH dsci AS (
SELECT county_fips, "year", AVG(dsci) AS avg_dsci
FROM weather.drought_monitor_weekly
WHERE "year" IN (2010,2011,2012,2013,2014,2015,2016,2017,2025)
GROUP BY county_fips, "year"
),
drought_ind AS (
SELECT county_fips, "year", SUM(indemnity_amount) AS drought_indemnity
FROM ag.rma_cause_of_loss
WHERE cause_of_loss_desc = 'Drought'
GROUP BY county_fips, "year"
),
total_ind AS (
SELECT county_fips, "year", SUM(liability_amount) AS total_liability
FROM ag.rma_cause_of_loss
GROUP BY county_fips, "year"
)
SELECT d.avg_dsci,
GREATEST(COALESCE(di.drought_indemnity,0),0)/NULLIF(ti.total_liability,0) AS drought_loss_ratio
FROM dsci d
LEFT JOIN drought_ind di ON d.county_fips = di.county_fips AND d.year = di.year
LEFT JOIN total_ind ti ON d.county_fips = ti.county_fips AND d.year = ti.year
WHERE ti.total_liability > 100000
query — 48 rows — 14345 ms
WITH dsci AS (
SELECT state_abbr, county_fips, "year", AVG(dsci) AS avg_dsci
FROM weather.drought_monitor_weekly
WHERE "year" IN (2010,2011,2012,2013,2014,2015,2016,2017,2025)
GROUP BY state_abbr, county_fips, "year"
),
drought_ind AS (
SELECT county_fips, "year", SUM(indemnity_amount) AS drought_indemnity
FROM ag.rma_cause_of_loss
WHERE cause_of_loss_desc = 'Drought'
GROUP BY county_fips, "year"
),
total_ind AS (
SELECT county_fips, "year", SUM(liability_amount) AS total_liability
FROM ag.rma_cause_of_loss
GROUP BY county_fips, "year"
),
joined AS (
SELECT d.state_abbr, d.county_fips, d.year, d.avg_dsci,
GREATEST(COALESCE(di.drought_indemnity,0),0) AS drought_indemnity,
COALESCE(ti.total_liability,0) AS total_liability,
GREATEST(COALESCE(di.drought_indemnity,0),0)/NULLIF(ti.total_liability,0) AS drought_loss_ratio
FROM dsci d
LEFT JOIN drought_ind di ON d.county_fips = di.county_fips AND d.year = di.year
LEFT JOIN total_ind ti ON d.county_fips = ti.county_fips AND d.year = ti.year
WHERE ti.total_liability > 100000
),
state_agg AS (
SELECT state_abbr,
AVG(avg_dsci) AS mean_dsci,
SUM(drought_indemnity) AS total_drought_indemnity,
SUM(total_liability) AS total_liability,
SUM(drought_indemnity)/NULLIF(SUM(total_liability),0) AS state_loss_ratio,
COUNT(*) AS n
FROM joined
GROUP BY state_abbr
HAVING SUM(total_liability) > 5000000
)
SELECT *,
PERCENT_RANK() OVER (ORDER BY mean_dsci) AS dsci_pct_rank,
PERCENT_RANK() OVER (ORDER BY state_loss_ratio) AS lossratio_pct_rank,
PERCENT_RANK() OVER (ORDER BY mean_dsci) - PERCENT_RANK() OVER (ORDER BY state_loss_ratio) AS divergence
FROM state_agg
ORDER BY divergence DESC
sensitivity_analysis — 16100 ms
WITH dsci AS (
SELECT state_abbr, county_fips, "year", AVG(dsci) AS avg_dsci
FROM weather.drought_monitor_weekly
WHERE "year" IN (2010,2011,2012,2013,2014,2015,2016,2017,2025)
GROUP BY state_abbr, county_fips, "year"
),
drought_ind AS (
SELECT county_fips, "year", SUM(indemnity_amount) AS drought_indemnity
FROM ag.rma_cause_of_loss
WHERE cause_of_loss_desc = 'Drought'
GROUP BY county_fips, "year"
),
total_ind AS (
SELECT county_fips, "year", SUM(liability_amount) AS total_liability
FROM ag.rma_cause_of_loss
GROUP BY county_fips, "year"
)
SELECT d.state_abbr, d.avg_dsci,
GREATEST(COALESCE(di.drought_indemnity,0),0)/NULLIF(ti.total_liability,0) AS drought_loss_ratio
FROM dsci d
LEFT JOIN drought_ind di ON d.county_fips = di.county_fips AND d.year = di.year
LEFT JOIN total_ind ti ON d.county_fips = ti.county_fips AND d.year = ti.year
WHERE ti.total_liability > 100000
Sources
- USDA RMA Summary of Business / Cause of Loss — ag.rma_cause_of_loss, observed coverage 2010-2017, 2025 (2018-2024 not loaded)
- NOAA/USDM Drought Monitor weekly county data — weather.drought_monitor_weekly, observed coverage 2009-2026
- County-year DSCI vs. drought loss ratio correlation
Show tool call
query(sql="corr(avg_dsci, drought_loss_ratio) across 21,772 county-years, see published SQL in report") - Quintile dose-response test (DSCI vs. drought loss ratio)
Show tool call
quantile_binning_test(outcome="drought_loss_ratio", predictor="avg_dsci", bins=5) - Leave-one-state-out sensitivity check
Show tool call
sensitivity_analysis(outcome="drought_loss_ratio", predictors=["avg_dsci"], group_col="state_abbr")