Home → Techniques and Tips → @RISK: General Questions → Precedent Checking (Smart Sensitivity Analysis)
Also available in Spanish: Verificación de precedentes (análisis de sensibilidad inteligente)
Applies to: @RISK for Excel version 5.x–7.x
When I run my model in @RISK, it seems to take a long time before the first iteration. The status bar shows that it is checking precedents. Is something wrong?
Precedent checking (also known as precedent tracing or Smart Sensitivity Analysis) is a new feature in 5.0 and later versions. Its purpose is to prevent @RISK inputs from incorrectly showing up in Regression/Sensitivity analysis such as tornado graphs.
For example, consider a simple model with two inputs. The two inputs are correlated – let's say to the full extent, with a correlation coefficient of 1.0. One input is used in a calculation for a RiskOutput. The other input is not involved in any calculation which impacts the RiskOutput. In earlier versions, both inputs would be displayed as having equal impact on the output. With precedent checking, @RISK determines that only one of these inputs contributes, and filters out the other one from graphs, reports, etc.
The tradeoff is that it may take quite a bit of time to go through the full precedent tree before a simulation is run. By turning off data collection for some or all inputs, that process can be sped up, though at the cost of not being able to analyze those inputs.
If you set Collect to None, you can still collect certain inputs by designating them as outputs. You will then be able to get statistics and iteration data on them, but they won't be available for sensitivity analysis.
You can disable Precedent Checking while still collecting inputs. In Simulation Settings, on the Sampling tab, change Smart Sensitivity Analysis to Disabled to disable precedent checking for a particular model. If you want to change the default for all models, open Utilities » Application Settings and look in the Default Simulation Settings section.
You could also use RiskMakeInput( ) functions to exclude some particular inputs from precedent tracing. See Combining Inputs in a Sensitivity Tornado, Excluding an Input from the Sensitivity Tornado, and Same Input Appears Twice in Tornado Graph.
Does Smart Sensitivity Analysis have any limitations?
Certain formulas are correct Excel formulas, but Smart Sensitivity Analysis cannot work with them. Either their values can change at run time in ways that @RISK can't predict, or they are too complex and would take too much time when the simulation starts. These include:
INDIRECT( ) functions.
OFFSET( ) functions.
INDEX( ) when used to return a reference. (When used to return a value, INDEX( ) does not interfere with Smart Sensitivity Analysis.)
VLOOKUP( ) and HLOOKUP( ) functions.
These are a special case in that they don't actually prevent Smart Sensitivity Analysis from happening. However, @RISK can't know in advance which values in the lookup table Excel will return, so it considers every non-constant cell in the cell to be a precedent of the output.
3-D references such as a sum across multiple worksheets.
Structured references in tables, such as [column name]—a problem only with @RISK 6.2.1 and older.
(@RISK 5.x cannot handle through any structured references. @RISK 6.x can trace precedents through all structured references, except that @RISK 6.0.0–6.2.1, in Excel 2010 and 2013 only, cannot trace precedents through formulas that use @ for [#This Row].)
References to external workbooks.
(@RISK 6.1.1 and later don't display a message for these.)
References to Internet resources, such as http links.
(@RISK 6.1.1 and later don't display a message for these.)
In all the above cases, calculations are still done correctly during your simulation; it's just that for these cases @RISK cannot trace precedents.
If your model contains one of these formulas, when you start simulation a message will pop up: "could not be parsed", "invalid formula", or similar. To proceed with the simulation, click the Yes button in the message. If you want to prevent this message from appearing in the future, either change the formula (if you can), or disable Smart Sensitivity Analysis for this model. To disable Smart Sensitivity Analysis, click the Simulation Settings icon, select the Sampling tab, and change Smart Sensitivity Analysis to Disabled. Click OK and save the workbook.
Last edited: 2020-03-20