views:

50

answers:

2

I need to provide some indication of the way a value is changing between time periods.

This value could move in any of the following ways:

0 -> some positive value
some positive value -> 0
positive value -> larger positive value
positive value -> smaller positive value

I have initially looked at providing a % change value, however this has a number of problems:

  • If the value was at zero in T1 and then increases to some positive value in T2 the percentage growth is technically infinite
  • Similarly, if the value is 1 in T1 and then grows to 10,000 in T2 the percentage growth is 10,000% which is pretty meaningless
  • The converse is also true when the value moves in the other direction (ie. from a very large value to zero or a very small value).

What better ways are there of representing movements over time where the movements can be arbitrarily large in either direction? Is there a way of mapping movements to some fixed scale? There must be techniques for handling this kind of thing. Any ideas?

+1  A: 

You're talking about derivatives. You can name them in the form of '1st derivative', '2nd derivative' and so on. It's a mathematical thing (Calculus).

Noon Silk
I'm not sure I am talking about derivatives (I understand Calculus, thanks). I want a measure of **scale** of change, not **rate** of change. If I've misunderstood, please can you explain how a derivative can be used to provide a concrete scale? A quick pseudo-code example would be good. Thanks
MalcomTucker
@MalcomTucker Can you not just take the 1st derivative, and then calculate the derivative of *that*, over time. (2nd derivative)?
Noon Silk
+1  A: 

It is difficult to guess at what measurement of the extent of change would make sense without any context. For example, I assume that you don't want to use the plain difference between the two values, even though it is clearly a meaningful measurement of the change.

One trick that can sometimes be used with fold changes is to add a constant K (usually 1, but could be any positive number) to both values before taking the ratio. This does not affect the result substantially when the denominator is much larger than K, and produces a well-defined value when it is small.

As a general techinque for coming up with a measure, try to come up with pairs of pre-post numbers that you would consider to have changed equally. For example, perhaps a 0 -> 1 change is similar to 2 -> 4, and 3 -> 10, etc. Then plot the points on an x-y grid, and fit a curve. Try it with several sets of equivalent changes, and see if you can come up with a general formula.

Aniko
Ok, that sounds like a good idea. Adding K would at least get rid of divide by zero issues and like you say at low values would provide a meaningful value ..
MalcomTucker