Say you have three values; A, B=10 and C=100. A changes by 10(B) per 1 change in 100(C). So if C changes by 1, B explains that A will change by 10.

Likewise, if C has changed by 1, B explains that A has changed by 10.

Problem: B changes around constantly. Between C100-101, B may be at 10, which would represent a 10 change in A.
Between C101-102, B may be at 20, which would represent a 20 change in A.
Note that the total change is 30.
However, if C is currently at 102, and B is at 20, the natural conclusion is that A has changed by 40.
The correct answer is of course that the change is 30.

So the question then is; how can I return the real change that has occured in A?