if pool on current round does not find a block, miners shares are keep (up to 366 blocks), but their value is reduced by .001% everytime we dont found a block. when pool has positive balance, all share are summed up to block# where payment will be made, and burst payment are made proportional to total share miners own up to this time
if pool has a balance (lets say 10000 burst), 400 are distributed for miner proportional to their shares up to current block as payment, the rest 9600 burst will be allocated and paid for next round, (whether we found a block or not), this allocation continue until pool balance is drained out. This makes sure that the miners are getting permanently payout. With this setting, a miner that finds a block is not overproportional rewared for that, but in the long run, this system is better as others.
deadline value from miner is converted into share value using this equation
share = 1000 / ( NetDiff * Deadline + 1 ) 0.75
where NetDiff (network difficulty) is calculated by Block0-BaseTarget / Block#N-BaseTarget
note : to prevent user spamming low share, we implement share penalty of -0.001 on each submission for miners who submit nonce that has higher deadline than their (current round) own best deadline, as spamming low share is no use since pool will always pick one best deadline for every submitted nonce per round. If you use the blage miner, make sure use sorting is true.