The behavior change loop requires detection that does not miss. The first thing every telematics vendor will show you is a graph. Detection accuracy 97%, battery impact under 2%, trip pickup within 30 seconds. The graph is real. What the graph hides is the device it was measured on.
The Indian, Southeast Asian, and Latin American driver markets — the ones where usage-based (UBI) and behavior-based (BBI) insurance policies actually grow — do not run on reference hardware. They run on budget Android OEMs. These OEMs ship aggressive process killers, custom battery-saving modes, and app-lock layers stacked on top of stock Android. Telematics SDKs that work in the test lab quietly fail in production because the OS keeps killing them.
A telematics SDK that stops detecting trips after 10 minutes of force-kill is not a telematics SDK.
We know this because we ran telematics programs as the operator before we built a vendor. The 11 pm fleet-client call about missing trips was about a mid-range Android phone. The dropped UBI cohort in the Karnataka pilot was on a budget Android handset. The SDK worked in the demo. It didn’t work in the country.
So when we built Sampark, the test plan was inverted. Don’t prove it works on the easy phones — prove it works on the phones that quietly break everything else. Then prove it again on the easy phones, just to confirm we hadn’t over-fit. 1,00,000 km, 5 device families, 11 months. The kill clock below is what we measured. The fixes are what we shipped.
Background-app kill clock
Time to first kill on cold boot
Tier 1 · aggressive killer
8min
Tier 3 · inherited lockdown
14min
Reference · stock Android
indefinite
Reference · iOS 17+
indefinite
Below: how the 1,00,000 km broke down, the seven failure modes we encountered, and the calibration loop we run before any program goes live.