You need to group together your (current - previous), so your end equation should be:

[ (current - previous) / previous ] * 100

whereas it looks like you currently have

(current - previous / previous) * 100.

Maybe this is just a mistake when you brought your code over here.

But also think about how you'd measure growth of a negative number. If you start off with -10 and end up with -5, did the value actually shrink by 50% even though it got bigger? Mathematically, yes. This is beacue your base value is negative. A lot of times math looks wrong and doesn't make any sense. But when it comes time to apply it, and use it, these tricky situations make sense.