We recently had to change a superannuation calculator that Revium has developed for VicSuper.
Whilst the changes were relatively small (caused by legislative changes), the implementation needed considerable care and attention. This prompted me to document a few tips which others may find of use.
Over the years, I have implemented many calculators and my tips are:
- Build a model using Excel or similar.
This will ensure that all components of the calculator are considered and will provide an independent baseline for subsequent testing (see point 5).
- Display the inputs and outputs in separate areas.
(perhaps different sheets or at least in a different area of the same sheet)
All calculators can be considered as “black boxes” so the user only wants to see how the output changes when and input variables are adjusted.
- Identify threshold points and cross over points.
(e.g. Min/max wage, over 50’s limits, tax thresholds, co-contribution amounts.)
Most errors in calculators occur at threshold points and these need to be identified so that they can be tested thoroughly. In graphical terms, the gradient does not change smoothly at threshold points and looks like some form of flattened V-shape. In a poorly constructed model, discontinuities will be evident, i.e. the 2 parts of the V don’t even meet at a single point.
- Build the calculator and provide graphical output if possible.
Graphical output allows the user to see the results of the calculator visually – humans are better at distinguishing shape changes rather than changes in an array of figures.
- Test, test and test again exercising all the threshold points.
As described in point 3, threshold points are the single point of a V-shape. Choose input values that are just on either side of the threshold point and ensure the output values converge as the input values are changed to close in on the threshold point. Note that there may be user messages that change as threshold points are crossed and these need to be tested as well. In this particular case, there were multiple thresholds points with corresponding user messages relating to financial strategy, e.g. your wage is less than x so consider super co-contribution to maximise your superannuation savings.
- Ensure that calculator matches the Excel model.
Independent verification of the calculator results is important as the implementation of the calculations depends on the development language used.
- Let the end user exercise the calculator to flush out any final anomalies.
On the web, calculators are very public, so any errors reflect poorly on the analyst, developer and tester and usually the client is less than impressed.
Don’t be caught out!