Hi Mark,
Personally I don't like models, but if you are willing to export the model to a Python script (Model\Export\To Python script) and post this using the "#" button to wrap "CODE" tags arround the code, I can have a look what may be going wrong.
And when you say that the last year produces a negative number, this may have to do with Null values. For that I would need to see (part of) the data.
Kind regards,
Xander