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:

  1. 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).
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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!

You may also like

ASP.NET selectors in jquery

Jquery is a great javascript library, although it has a significant drawback when used in ASP.NET web applications. Because of the way ASP.NET translates it’s own internal identifiers to html id and name attributes, you cannot really use it in static javascript files.

Keep Reading

Revium’s Part in ANZ Rebranding

On 23rd October ANZ launched their new branding.  As part of this the release Revium was commissioned to build software tools to assist in the creation of bank publications.  If rebranding is to be successful management must ensure consistency in the presentation of the brand which includes the manner in which bank publications are produced.

Keep Reading

Newsletter sign up

Every couple of months we send out an update on what's been happening around our office and the web. Sign up and see what you think. And of course, we never spam.