# Root Cause Analysis

## Root cause analysis

Root cause analysis (RCA) can be valuable information provided over a forecasting result. A user can trigger the calculation of RCA results for an already finished forecasting job by calling the RCA endpoint. This allows users to see why the forecast looks the way it does and how the Model Zoo is constructed.

The table below gives an overview of the output to expect of the tabular response for forecasting jobs of RCA type:

## Structure of the output

timestamp | term_1 | term_2 | term_3 | … | term_N | yhat_1 | yhat_2 | yhat_3 | … | yhat_N |
---|---|---|---|---|---|---|---|---|---|---|

2014-10-28T03:00:00.0 | 2546 | 900 | 943.05 | … | 624 | 1943 | 1984 | 1987 | … | 1996 |

2014-10-28T04:00:00.0 | 2451 | 5000 | 5409.6 | … | 2195 | 2104 | 2089 | … | ||

2014-10-28T04:00:00.0 | 2103 | 200 | 65363.4 | … | 2211 | 2190 | 2168 | … | ||

2014-10-28T04:00:00.0 | 2301 | 100 | 543.5 | … | 545 | 2189 | 2154 | 2167 | … | 2153 |

2014-10-28T04:00:00.0 | 2225 | 432 | 983 | … | 2567 | 2592 | 2598 | … | ||

2014-10-28T04:00:00.0 | 2155 | 4355 | 1235.6 | … | 2532 | 2490 | 2487 | … |

## What information can I obtain from the root cause analysis?

First of all, each forecast is can be generated by a different model within a Model Zoo. To look at the forecast and understand how it was constructed, one should always limit the view to only other forecasts generated by the same exact model - that is why the model's index is a required parameter in the rca endpoint. Each model is additive in its terms - therefore, it is easy to see the impact of each term on the forecast individually. There are two possible views: a nominal view and a relative view. The nominal view gives precise information about how much each term contributed to the forecasted value. The relative view decomposes the forecast slightly differently, giving a better geometrical understanding of how the model is gradually built.

**Nominal term_i**: the value of the*i*-th term of the model of a chosen*model_index*used to obtain the forecast. The term can be found in the*Model Zoo*by*model_index*and the order number*i*. It is essential to mention that the term*1 of the model with the _model_index*1 is different than the term*1 of the model with the _model_index*2 - they are two separate models and have different terms.**Relative yhat_i**: this essentially equals the forecast which would be obtained if the model only consisted of the first*i*terms (different from the sum of the first*i*terms). The forecasting error thus decreases with increasing*i*, showing the gradual build-up of the model. The nominal view of terms does not satisfy this property. This property visualizes how important individual terms are for the final forecast and how they influence it. If something goes wrong, this allows users to easily identify which term is responsible.