You may have asked a question like this yourself:

“We have a model that no longer does what we want. Can you modify it so that it meets our current needs?”

In response, I might answer “Actually, you would be better off rebuilding it”. I can understand why you might be sceptical; don’t consultants make more money from rebuilding a model than from fixing an existing one? Our experience is that it really can be both quicker and cheaper to build a new model than to adapt an existing one – here’s why:

First of all, let’s consider some of the reasons why adapting a model might be considered a good idea –here are some common hypotheses relating to this question:

Common hypotheses or beliefs (often not true!)

1: it takes less work to modify a model than to build a new one from scratch

2: We trust this model, so it is less risky to modify it than to build a new one.

3: We know our way round this model, it would take time to learn to use a new one (or sometimes, our in-house modeller knows the existing model inside out and can make it do anything!)

4: An existing model can be modified to meet our current needs.

These are all inter-related, but let’s examine them one at a time:

1) it takes less work to modify a model than to build a new one from scratch. In order to be confident in a model, we need to thoroughly test it. There are (at least) two approaches to this – one is to build a parallel model and compare the results from both models, then identify and correct any differences, the other is to review the logic of all the unique formulae and correct those which don’t work correctly. In either case, reviewing and fixing a model so that it works reliably is a lot of work. Of course it won’t have escaped your notice that if you are building a parallel model to test an existing model, then you’ve effectively done the rebuild anyway (though for review purposes, you might have built a simplified version, without all the bells and whistles of your full blown model).

2) We trust this model, so it is less risky to modify it than to build a new one. A model that has been in use for a long time and produced apparently reliable results will have built confidence in it and will have had most of the ‘bugs’ ironed out. It might seem logical that this would be a good start point for modelling your current needs. However if the model was not built in a modular fashion there may be many unidentified links between different sections of calculation within the model – adapting the model requires that these are not broken, corrupted or rendered incorrect by the changes that are made. Trying to understand the logic flow of a model when it isn’t modular (broken up into bite sized pieces of calculation) is very difficult for even the most experienced of modellers. (See blog on modular models). Furthermore, the outputs are dependent on the inputs – if you switch on an option in the model that hasn’t been used and tested thoroughly before, it could activate an error that has laid dormant.

3) We know our way round this model, it would take time to learn to use a new one (or sometimes, our in-house modeller knows the existing model inside out and can make it do anything). Learning how to use a new model can take a little time, however there is a huge amount the modeller can do to make a model more user friendly (see our video about user friendly models). Although familiarity with a model does help, a well-designed and documented model should be quick and easy to adopt. The situation where someone knows the model inside out and can make it sing and dance usually means that you are highly dependent on a single individual. If they leave the company, fall ill or are otherwise unavailable, it may be that no-one else can step in and you are stuck without answers.

4) An existing model can be modified to meet our current needs. You’ve heard the one about a driver who stops to ask the way, to be told “If that’s where you’re going, I wouldn’t start from here”. That can often be the situation when trying to adapt an existing model; it wasn’t designed to do the things you now need to do. If only you had had a crystal ball at the outset, you would have designed it differently. This is common, and similarly I have seen many models that started out for one purpose and were modified a number of times to meet other needs. They end up like the electronic version of a once great car that now only runs because it is held together with string and duct tape.

Despite all the above, there are instances where it makes sense to modify an existing model. If the model has been well planned and constructed with a modular approach, and is well documented, then it may be a sensible option. The case for this is strengthened if the original model builder has gone to the trouble of exploring the current and future needs of the model, to build in some future proofing. This is the way we specify and build models at Numeritas, with the aim of giving the model as long a useful life as possible.

If the model meets best practice and has been thoroughly tested but needs to produce additional reports (for example to produce reports in a different currency or to a different accounting standard) then it may make sense to add the new requirements to it. This may not require any of the existing model to be changed. The new sections will simply refer to the relevant parts that already exist. A well-constructed model will have some flexibility built in that allows certain organisational changes to be incorporated easily – for example the addition of new legal entities. In these cases, it should be a fairly straightforward matter to make the changes as they were planned for at the time of the original build.

As specialists in building models, we have invested in tools and techniques to do so very efficiently. Starting from scratch allows us to achieve the greatest time savings.

If after looking at your model and discussing your needs I tell you we can rebuild a better model more cheaply than adapting your existing one, I’m not trying to pull the wool over your eyes – I’m trying to give you better value.