DEV Community

Gabriel Mahia
Gabriel Mahia

Posted on

How Satellite Data Closes the Insurance Gap for Kenya's Smallholder Farmers

Kenya has roughly 7 million smallholder farming households. Most have no crop insurance.

The barriers are not primarily financial. They're informational. Traditional insurance requires claims adjusters who visit farms, assess damage, and submit reports. At 7 million farms, that's not a business model.

Parametric insurance removes the claims adjuster. The contract specifies a measurable trigger: when satellite-observed rainfall drops below X% of the seasonal mean for Y weeks, the payout fires automatically. No farm visit. No claims form.

The data

CHIRPS produces daily rainfall estimates at 0.05° resolution — roughly 5km grid cells — free and open, updated daily. MODIS NDVI measures plant health from space; a consistent drop in NDVI against the seasonal baseline is a drought signal 6-8 weeks before visible crop failure. SPI normalizes rainfall against historical distribution, making drought severity comparable across different climates.

The coordination gap

None of this data is currently connected to insurance contracts at the smallholder level.

wapimaji-mcp reads CHIRPS and NDVI data and fires drought alerts when thresholds cross. bima-mcp holds parametric contracts. These two tools don't talk to each other.

africa-coord-bus closes that gap:

from africa_coord_bus import EventBus, CoordinationEvent, EventDomain, EventSeverity, DomainCascade

bus = EventBus()
DomainCascade(bus).wire_all()

bus.publish(CoordinationEvent(
    domain=EventDomain.WATER, event_type="drought_alert",
    source="wapimaji-mcp", severity=EventSeverity.ALERT,
    data={"ndvi_anomaly": -0.28, "spi_3month": -1.8},
))
# bima-mcp receives the event and evaluates insurance triggers automatically
Enter fullscreen mode Exit fullscreen mode
pip install africa-coord-bus wapimaji-mcp bima-mcp
Enter fullscreen mode Exit fullscreen mode

The data exists. The contracts can be written. The missing piece was the routing between them.

Top comments (0)