Average current is key
Battery runtime is controlled by average current, not only active current. Short wake windows and long sleep intervals can dramatically extend runtime.
Battery capacity is not ideal
Battery capacity depends on load, temperature, discharge rate and cutoff voltage. Always include margin.
Regulator quiescent current
A low-power STM32 can be ruined by a bad regulator with high quiescent current. Check regulator IQ in the datasheet.
Practical estimate
Calculate run current, sleep current, duty cycle and regulator efficiency, then verify the result with real current measurements.