a= the currently stored amount of data
b= the place to store the data
c= the income
'a' I can understand, I'm not convinced I understand your 'b' but I assume your mean the current total storage capacity for that resource by the faction, and I believe with 'c' you mean the 'balance' (positive meaning generating excess each interval).
This is enough confusion, I believe, to warrant not trying go on in those terms.
So,
a = the amount of the consumable resource currently stored
b = the maximum amount of the consumable resource the faction can currently store
d = the amount of the consumable resource generated each interval
e = the amount of the consumable resource used each interval
c = the balance ( d - e )
the problem is that b is not enforced properly. If e is non zero, then the amount stored can not actually ever reach b, but only b - e.
Change food to <interval value='2' /> and watch... you can't reach them maximum storage unless you kill all units consuming those resources.
This is wrong, it is a bug, and certainly is not correct.