I am right now mining using aka Slush's pool. An interesting finding is that sometimes it takes hours (up to 10) to find a new block while other times it takes just few minutes.
If someone can estimate the time of each popular pools to find a new block at the beginning of mining, then we can switch pools to maximize the profit. I am wondering if it even possible to do that. Hope someone who knows clearly how bitcoin source code work and the mechanics of BTC can answer the question.
I am working on my PhD on Statistics so I am ready to write the prediction code once the parameters affecting the time of find new blocks are addressed. Hopefully we together can find some insights here and make a lot of BTC.
Finding a block is a Poisson process, so the expected time to find a new block follows an exponential distribution. There really isn't any arcane voodoo behind it. Each hash calculated is a lottery-ticket, where the difficulty decides the probability of winning. The expected average time to find a block is given by D * 2^32 / H (D = difficulty, H = hashrate).
Many pools use a PPLNS payout system (or some other system) to prevent pool-hoppers from gaining increased returns, so it's unlikely that you can find a way to optimally select a pool. In the long run, they all give you the same expectation value for the profits, bigger pools just have less variance than smaller ones.