Blizzard has set a pity timer in Diablo 3 and Hearthstone (and maybe their other games too) where if someone is on the extreme bottom of RNG, they will be guaranteed a legendary drop.
While no longer relevant in D3, it would increase your chance of a drop after playing x amount of time untill you got a drop, and would reset with each legendary drop.
In hearthstone, you should average a legendary every 20 packs. If you hit 40 in a row without one, you are guaranteed one. The timer is seperate for each pack type.
This would translate into:
- Elemental/Event: You should average a legendary every 40 pulls. If you go 80 without it, drop one.
- Epic: average 77, pity 154
- Epic troop: average 10, pity 20