The calc math is roughly correct Id say.
What I see is happening is quite simply LARGE pools "outluck" small pools on block hits.
Think about it like this, if you had 90 people flipping coins on one side as a team and 10 people on the other side and the rule is that whichever side have the highest percentage of heads/tails then the 90 people flipping coins will in the vast majority totally dominate the 10 people flipping coins except if you got constant same difficulty and unlimited time then it will even out but it would take many many years if you ask me.
That is not the reason. The small pool that only has 10 people also only splits the reward 10-way instead of 90-way.
The only reason people join pools is if chance of finding a block is so far into the future that by then the difficulty could drastically change and they could mine for a month and end up with nothing.
However with the HPM I have I could discover 7 blocks/day, I don't really need a pool.
The whole logic of low hashrate pools will even out over time vs high hashrate pools is entirely flawed. This would be valid if we were talking about constant block rewards and constant same difficulty.
The fact that block rewards gets reduce quite often and difficulty fluctuate quite often effectively will keep a low hashing pool at a disadvantage and lower earnings ALLWAYS because it will have much greater variance during difficulty/block reward periods.
Low hashrate pool would need the hand of GOD to assist them if they want to actually reap the same earnings over time which realisticly just wont happen no matter how you try and slice it.
This is unfortunate though, it would be great if all hashrates were balanced among pools for equal chance of getting blocks per difficulty/blockreward period but right now with Memorycoin the competition and interest is too low to sustain a fairly equal split across all the available pools.