Where the 0.459 Safe-Count Rule Comes From
Where the 0.459 Safe-Count Rule Comes From
Ada re-derives this chapter’s own numbers step by step, at full precision
ADA · CALCULATION AUDIT
Where the 0.459 Safe-Count Rule Comes From
This chapter distills collision safety into a single shortcut: multiply the square root of the address space by 0.459 to get the device count that stays under a 10% collision chance. For a 16-bit Zigbee space of 65,536 addresses that works out to about 117 devices. This audit asks the two questions the shortcut invites: where does the number 0.459 actually come from, and does 117 devices really land on the 10% line?
Companion to the chapter Collision Mitigation Strategies — every number here comes from that chapter.
See the relationship before changing it
The figure reads from left to right. The blue card is allowed collision risk. The middle card applies the page rule. The green card is approximate safe device count. Walk the arrows once: set the input, apply the rule, then read the result with its unit.
Derive the baseline in four named moves
- 1
Name the input. The chapter baseline is 10 %.
- 2
Name the relationship. count = sqrt(65,536) x sqrt(-2 x ln(1 - risk))
- 3
Substitute with units. 256 x sqrt(-2 x ln(0.90)) = 117.50 devices
- 4
Read the result. Keep the unit beside the value. Use it only inside the technical boundary on this page.
Predict, then change allowed collision risk
Try Predict the direction of count = sqrt(65,536) x sqrt(-2 x ln(1 - risk)). Test another allowed collision risk, then compare approximate safe device count.
Observe The safe count grows with the square root of the address space. Reset allowed collision risk to 10 and compare approximate safe device count.
Explain The safe count grows with the square root of the address space.
Check yourself
What should you do before trusting a moved-control result?
What does this small model leave out?
Ready: use the stated baseline inputs, then compare each displayed result.
Ada: This chapter leans on one design rule: a 16-bit address space is safe for “approximately 117 devices” at a 10% collision threshold, from n ~ sqrt(S) x 0.459. Two numbers deserve a check — where 0.459 comes from, and whether 117 really lands on 10%.
Start from the birthday probability P = 1 - e^(-n^2 / (2S)) and solve for n at P = 0.10, so e^(-n^2 / (2S)) = 0.90:
- Take logs:
-n^2 / (2S) = ln(0.90) = -0.105360516. - Rearrange:
n = sqrt(2S x 0.105360516) = sqrt(S) x sqrt(0.210721033) = sqrt(S) x 0.459044.
That is the chapter’s 0.459 — it is sqrt(-2 x ln(0.90)), not a fudge factor. For a 16-bit space, sqrt(65536) = 256, so the safe count is 256 x 0.459044 = 117.50, which floors to 117 devices. Verifying forward closes the loop:
P(117) = 1 - e^(-(117^2) / (2 x 65536)) = 1 - e^(-13689 / 131072) = 1 - e^(-0.104439) = 1 - 0.900830 = 0.099170, i.e. 9.9%.
The same derivation at P = 0.50 gives sqrt(-2 x ln(0.50)) = 1.177410, so the 50% point sits at 256 x 1.177410 = 301.4, about 302 devices. The design meaning lives in the square root, not the space size: because n scales with sqrt(S), adding 16 address bits multiplies the space by 65,536 but the safe device count by only sqrt(65536) = 256 — which is exactly why a 16-bit short address exhausts its safety margin at a few hundred devices while a 64-bit address effectively never does.
Every number above is taken from the chapter’s own material and re-derived step by step.