Shifts are based on # of shares submitted, not a length of time. So it will always fluctuate (and always has). The number of shares per shift is also routinely increased as pool speed increases, to keep the length of shifts in the 50-60 minute range while maintaining an 'N value' of at least 10x the current difficulty. It was actually increased recently (from 5.5b to 6b) due to the rise from 6000-6500 TH/s to 7100-7200. But there seems to have been a huge spike the hash rate in the last few hours. If the hash rate remains high the shares per shift will be increased again.
I was wondering, the ScryptGuild counterpart has fixed time shifts, is there a reason why the BTC side has fixed number of shares ? In other words, wouldn't it be an advantage to have fixed time shifts in BTC Guild too ? At least it should be transparent to hash rate variations.
The reason ScryptGuild is fixed time and BTC Guild is share count based is due to variance and also time delay effects on a pool that is essentially a hopper in itself (ScryptGuild).
The biggest complaint against traditional PPLNS systems is that if the pool has very bad luck, your work can go *completely* unpaid. BTC Guild uses the highest 'N value' of any PPLNS pool, generally 10-15x the current network difficulty (and when we were a huge part of the network it was ~20x network difficulty). This extremely high N value means that an individual share is more likely to get it's expected value by the time it is moved out of the open shifts.
Obviously, very bad luck will strike at times, and similarly a huge spike in blocks can also happen. But with a huge N value, it *generally* falls close to neutral. Even with BTC Guild's bad luck the last month, your average *per share* variation was almost always +/- 25% of neutral. In a round based system, your per share variation will generally be much further from neutral (in the end it still averages out of course) on a per share basis. With the PPLNS on BitMinter and GHash.io, it is possible, and does happen, for a share to go completely unpaid because no block is found before it's shift is closed. Again, in the long run they all average out, but it's nice to not have a period of mining go *completely* unpaid if the pool finds no blocks.
So BTC Guild is focused on variance, and it's manually adjusted via share count to keep it in the sweet spot of maturation time (time before a share gets completely paid) and share variance. ScryptGuild on the other hand isn't really capable of focusing on share variance due to the nature of multicoin hopping, so it uses a consistent shift time in order to keep maturation of shares relatively short (5 hours).