# Visualizing structure and intermediate results of a computation

I have a financial desktop application and there are many places where different computations are performed and a single number (or a couple numbers) is shown as a result.

Very often users are asking questions like "how did the system calculate this number" and I would like to give them some UI which that could use to figure it out themselves.

The calculations are not complex (mostly arithmetic and some standard functions one could find in Excel) but there are often multiple stages producing intermediate results and data is taken from different parts of the system. Most of the times the users are confused is because they forget about some (optional) inputs or because it is too time consuming for them to trace intermediate results.

What are some good ideas for a UI that would provide more details about such computations?

E.g. I once saw a team that were building a component to display "expression trees" (operation has inputs as its children and they can themselves be results of other operations and so on).

-
Your question is pretty generic which will pull generic answers and those will not help you much. If you could share some wire-frames of existing solution then weak areas can be easily identified and improved. – Salman Ali Apr 3 '13 at 5:02

I love this question! I have myself asked this question to myself several times. And I believe this IS a very important requirement for many cases, especially if the users are sophisticated and understand the process as well.

Anyway I whipped up a very simple example for you, of how I do it in excel. So as you can see, very simply by comments in the cells. There are many assumptions made here, for e.g. that the variables are visible on screen.

If this was on a web page, i would give it a dotted underline with a hover box, and the immediate calculation preceding it, with links to in-depth calculation for each answer.

The point it, this information is not necessary all the time, but is USEFUL when diagnosing issues. So it must be hidden, but available when needed. For examples where you show all the work, you can look at maple, matlab, mathematica ...etc. I.e. math programs where it is necessary to show work.

Anyway the exact display depends on your specific context and knowledge of your userbase. Please provide more context / gui to give a better answer.

-

Presenting "what's-behind-this-number" is a nice idea, as it leads to informational transparency of the system. It can be a popup, a labelmdisplayed on hover, whatever is necessary to show the formula. However, it can lead to some problems as well:

• I suppose there will be a lot of situations where the formula behind some number will be complicated. Too complicated for the user to understand it, but containing parts that will cause questions to arise. This may lead to bigger and sometimes unwanted feedback from the users.

• it will put a requirement for you to preserve consistency of displaying computation details for such results. In sad reality, many measures (comparative ones, especially) are built in such a way that they indicate what authors want them to indicate. In other words - let's say you need to show that product A is better than product B, while it is quite clear that it's not. So, you come up with a new measure you call "performance indicator X", with a kinky formula made in such a way that it shows the opposite. Showing this formula is very unwanted, as it may lead to questioning the reason behind building it, even to some nasty articles published by analysts. I know it's not nice for the users, but I'm afraid this is how it works in practice.

-

The same functionality is implemented in Excel via several functions within the "Formula Audit" group:

• Show formulas: display the formulas used to evaluate a particular cell

• Show precedents: emphasize the cells used in computation of the current formula

• Show dependents: display which cells use current cell in their computations

• Evaluate formula: show how the formula is evaluated in a step-by-step fashion. This functionality probably most closely relates to your needs. Using this "debugger-style" approach the user will be able to understand computations even in the most complicated formulas. Of course, Excel's solutions can be greatly improved by providing a more user-friendly feedback on which parts of the formula are being evaluated at each step, and where the data comes in.

-