Nordic Semiconductor, the manufacturer of the system on a chip (SoC) inside most beacons, has a useful recent post by Jon Gunnar Sponås on Improve battery life in Ultra Low Power wireless applications.
It explains that while a battery has a fixed initial capacity, how you draw current from the battery affects how much of that capacity you get to use. At a relatively low constant current of 0.5mA you get most of the capacity while at 3mA you only get 60%.
For Bluetooth LE the current isn’t usually constant. Instead, it advertises at up to 7mA, for of the order of a milliseconds followed by a pre-set inter-advertising period between 100ms and 10 secs. This gives the battery time to recover.
The article explains how Bluetooth LE firmware should be designed to not turn everything on at initial startup so as to not stress the Battery unduly. It also mentions how it’s also wise to test the battery in the actual situation rather than relying on the battery mAh rating to calculate expected battery life.