This blog is part of a blog written by our director Alex Carse for the ICAEW as part of its "Intro to Financial Modelling" series.
I split my thinking on user guidance into two categories: explicit and implicit. Given the reluctance of most people to read user guides and instruction manuals, I believe as much as possible of the guidance should be provided implicitly.
Implicit user guidance
Implicit guidance means laying out your model structure and formatting such that it is self-evident to the user how to interact with it to perform their analysis. When I am laying out dashboards and input sheets what I always keep at the front of my mind is the title and main principle of a book I read when doing web development early in my career “Don’t make me think”. This means making the required interaction obvious to the user and it is something done exceptionally well on many websites (have you ever read a website’s instruction manual?).
Implicit user guidance is very often a by-product of transparency. An example of implicit guidance that is used in most models is formatting inputs in a consistent, unique and prominent colour. However, this can be taken further to make inputs even easier to interact with by:
Colouring the tabs of input sheets in the same colour as input cells. (as seen below in Figure 1)
Applying this as a prominent colour for the input section of the navigation sheet.
Entering dummy data or stating what is expected in the cell rather than leaving it blank is also a big help. (You will struggle to find anywhere on a Google site where they give you a blank entry field)
Side note: What would be ideal for input colours is for Excel’s default “Input” style to be used everywhere, as convention is the best friend of implicit guidance, but unfortunately they have chosen this horrible sandstone colour for their style and so for aesthetic reasons I’m not going to bang that drum too hard.
Explicit user guidance
When we think of user guidance this is what first jumps to mind. There are several methods of providing explicit user guidance and I would rank them in order of preference as follows:
Contextual user guidance throughout the model
A user guide worksheet
A separate user guide document
Contextual user guidance
The reason I rank contextual user guidance first is that you are giving the user information at exactly the point they need it, which makes it more likely to be read and understood. Figure 2 provides an example of this. It is simple, clear and very easy to add as you build.
User guide sheet
A user guide sheet is often helpful to overcome two types of guidance that contextual guidance isn’t ideal for.
Guidance relating to the entire model, such as what is the overall purpose of the model and what different formats and conventions in the model relate to
When providing the contextual guidance would clutter the model or be repetitive and so the user guide sheet can be linked to provide details
An example of point 2 is shown below. Figure 3 shows input columns for “Useful life” and “Effective life” and adding long sentences above each would lead to a cluttered table here and at each similar table in the workbook. Providing a link to the description (shown in Figure 4) means the input sheet can be kept concise and the description only has to be written once and linked to.
A separate user guide document
For me this is a last resort as it is regularly not shared with the model and so becomes separated from the model. Additionally, it is often not updated as the model is tweaked and added to making it quickly become out of date. However, there are cases such as rail bids where bid compliance requires a user guide document and, in these situations, care is required to avoid the document becoming outdated and inaccurate.
Test user guidance
My last point on user guidance is to test it. It is unlikely you would share a model without testing the results but if the user does not understand how to work the model correctly your correct results could be interpreted completely incorrectly. Find someone you trust to give you honest feedback, give them the model, the tasks the ultimate user will want to perform, and see how they get on.
Always be thinking about the future users of the model. What will make it easier for them to understand how to use the model and find their way through the logic and inputs? and as far as possible, don’t make them think.