Stake rewards formula

Stake pool rewards are calculated with the following formula found on Pledging and Rewards — Cardano Documentation 1.0.0 documentation :

This formula has the consequence that the rewards are greater with a higher pledge and greater with higher pool saturation. I can understand the reasoning behind this (I think :p), but I’ve got some problems with how the rewards change from min to max reward with increasing pledge and/or pool saturation. Please let me know if there’s something wrong with my reasoning or if I’m missing something…

If a0 is zero, the rewards per staked ADA on the pool (pledged or delegated) per mined block don’t depend on pledge or pool saturation. If a0 is greater than zero, the maximum rewards per ADA per mined block are only reached in a private pool (i.e. total stake equals pledge, no delegators) that is fully saturated. All pools that are not completely saturated or pledged only get a percentage of this maximum. With the current value of a0 (0.3), this minimum percentage equals to 1/1.3, or approx. 76.92%. This will be the rewards for the theoretically empty pool with no pledge and delegated stake (of course such a pool will never mine blocks, hence theoretically).

Note that these percentages are the same for every value of z0 (pool saturation size) and only depend on a0. If I calculate different values for these percentages for different values of pool saturation and pledge, I come to the conclusion that there only really is a meaningful difference in rewards when and the pool saturation is high and the pledge relative to pool size is high.

The following table shows the percentage for different values of pool saturation and pledge size relative to pool size (i.e. percentage of total stake in pool that is pledge). Every row has the percentages for a certain pool saturation, every column has the percentages for a certain pledge relative to pool size.

no pledge 1% 2% 5% 10% 15% 20% 25% 50% 75% 100% (private)
10% 76,92% 76,95% 76,97% 77,03% 77,13% 77,22% 77,30% 77,37% 77,56% 77,49% 77,15%
20% 76,92% 76,97% 77,01% 77,14% 77,35% 77,53% 77,70% 77,85% 78,31% 78,31% 77,85%
30% 76,92% 76,99% 77,06% 77,26% 77,57% 77,85% 78,11% 78,35% 79,17% 79,39% 79,00%
40% 76,92% 77,01% 77,11% 77,37% 77,79% 78,18% 78,55% 78,88% 80,15% 80,73% 80,62%
50% 76,92% 77,04% 77,15% 77,49% 78,02% 78,52% 79,00% 79,45% 81,25% 82,33% 82,69%
60% 76,92% 77,06% 77,20% 77,60% 78,25% 78,88% 79,47% 80,04% 82,46% 84,19% 85,23%
70% 76,92% 77,08% 77,24% 77,72% 78,49% 79,24% 79,96% 80,66% 83,79% 86,31% 88,23%
80% 76,92% 77,11% 77,29% 77,84% 78,73% 79,61% 80,47% 81,31% 85,23% 88,69% 91,69%
90% 76,92% 77,13% 77,34% 77,96% 78,98% 79,99% 80,99% 81,99% 86,79% 91,33% 95,62%
100% 76,92% 77,15% 77,38% 78,08% 79,23% 80,38% 81,54% 82,69% 88,46% 94,23% 100,00%

You can clearly see that if pool saturation is low, more pledge doesn’t really give more rewards (again, I mean relative to the rewards you get when a0 is zero), even for a private pool. Also, when pool saturation is high, the relative rewards only starts making a difference when pledge becomes very high.

Note also that this ‘problem’ cannot be solved by changing the value of a0. The minimum percentage will change, but the percentages will always tend to ‘stay’ with the minimum and only ‘get out’ when both pool saturation and relative pledge size becomes high.

For me, this doesn’t make really sense… If you look at the current stake pools with high saturation, relative pledge rarely is more than 5%, so most of the rewards will roughly have the same percentage, the pools with the higher pledges only get about one percent point more than those with lower (while the pledge of those pools can differ significant relative to each other, e.g. 100k ADA vs 1M ADA, a factor of 10).

It also cannot be the case that the idea is that stake pools should have a really high pledge, e.g. 50% of stake, because that means that all stake pools would have to hold 50% of ADA and that makes no sense at all (because saturation also has to be high), because all that ADA would then be virtually locked up… I know that you can spend pledged ADA, but you can’t get below your pledge at the beginning of an epoch if you want to mine blocks… With this formula, only a few stake pools with a lot of ADA can profit off the higher percentages (because that ‘locked up’ ADA will be small compared to the total amount of ADA).

Am I missing something here? Is it meant to be so that the difference in percentages are not so big and only a few percentage points? Because than the benefits of pledging more isn’t that great and there is still the flip side that a few rich pools can benefit from far greater returns… I get that the greater difference in rewards should lean towards more saturation, but why isn’t it for the pledge size the other way around? So that it does make a significant difference if you change the pledge e.g. from 1% to 2%, but not so much if you go e.g. from 50% to 100%…

Nobody… ?

Hi @brouwerQ

I did my own math come to the conclusion that if you are large pool then pledging close to 100% makes a big difference. If you are small pool then pledging close to 100% does NOT make a big difference to the return

Actually could you also just check if you see that small pools actually generate a higher expected return? This is my conclusion so far

large pool
a - pool with 62mn stake and 0 pledge, reward per epoch is = 61.4k ada (or c. 5.5% annualised)
b - pool with 62mn stake and 62mn pledge, reward per epoch is = 47.2k ada (or c. 7.2% annualised)

small pool
c - pool with 5mn stake and 0 pledge, reward per epoch is = 5.1k ada (or c. 7.4% annualised)
d - pool with 5mn stake and 5mn pledge, reward per epoch is = 5.1k ada (or c. 7.5% annualised)

@dstratio I think you switch the annualised percentages of a and b under large pool.
How did you calculate the rewards per epoch in your example? Because your results doesn’t align with what I got…

Ok, need to think about this a little