Battery life on a connected device is arithmetic done early, not a number measured late. By the time you can measure it properly, every decision that determines it has been made.
Build the budget before the schematic
Break the duty cycle into states and cost each one: deep sleep current and duration, wake and sensor settling, processing, radio transmit and receive, and whatever the device does when it fails and retries. Multiply, sum over a day, and compare with the usable capacity of the cell — not the headline capacity.
The state that surprises people is failure. A device that normally transmits for two seconds an hour, but retries for ninety seconds when the network is congested, has a completely different power profile in the worst site of your deployment. Budget for the worst site, because that is the one that generates the support calls.
Where the current actually goes
In a well-designed low-power device, deep sleep usually dominates the total, because it lasts so much longer than everything else. A few microamps of quiescent current in a regulator or a pull-up chosen without thought can halve the life of the product. Audit every component for its sleep-state current, including the ones that seem passive: level shifters, load switches, sensors with an idle mode, and the ever-present voltage divider across the battery for monitoring, which is often the single largest sleep draw on the board.
The second place it goes is peak current. A cellular transmit burst can pull amps for milliseconds. A coin cell or a thin lithium-thionyl-chloride cell has internal resistance that cannot supply it, so the rail sags and the device resets. The fix is bulk capacitance sized for the burst — and that is a schematic decision, not something you add later.
Why the bench lies
Bench measurements are taken at room temperature, on a fresh cell, with good signal, over minutes. Real deployments are cold, on ageing cells, in marginal coverage, over years. Capacity at −20°C can be a fraction of the datasheet figure. Self-discharge over five years is a real line item. Internal resistance rises as the cell depletes, which brings the brownout forward.
Measure with an instrument that captures microamps and amps in the same trace — averaging meters hide exactly the peaks that matter. Then derate the result honestly: temperature, ageing, self-discharge and the retry case. If the number still clears your target with margin, you have a design. If it clears it exactly, you do not.
The choices that decide it
Reporting interval is the biggest lever, and it is a product decision as much as an engineering one — hourly instead of every fifteen minutes is often invisible to the user and transformative to the battery. After that: the radio technology, whether the MCU can sleep with RAM retained rather than cold-booting, sensor settling times, and whether firmware updates are pulled on a schedule or pushed when needed.
Get those right and five years is unremarkable. Get them wrong and no amount of clever firmware afterwards will recover it, because the energy was spent in hardware you have already tooled.