Circular References in Financial Models

What is a circular reference?

A circular reference is when a cell refers to itself directly or indirectly.

Are circular references bad?

In most cases, a circular reference should and can be avoided with some planning. However, in a complex financial, I found it easier to just use circular references in certain areas.

Circular References in Financial Models

Circular references are used to help calculate cash balances. Let’s walk through two typical cases.


The cash sitting in the bank generates interest. The interest income is taxed and lowers the net income. More cash -> more interest -> more tax -> lowers net income -> effects cash.

See the example below. To determine the amount of interst, we use an average of the forecasted beginning and ending cash balances. It’s not fair to use just the beginning or the ending cash balances to calculate interest because over the time period that balance will change.

Think about it another way, if you have $100 in the bank at the beginning of the month and $200 at the end earning 2% a month, what should the interst earned be? $2 of $4? Neither, it should be something in the middle because your cash blance grew during the month on its way to $200. So for simplicity of forecasting, we just average the beginning and the end and say $3 ($100+$200)/2 * 2%. It’s not perfect, but it’s a step in the right direction.


The amount of cash shoftfall determines the borrowing needs which determines the interest expense which determines the amount of debt.

How to enable circular reference

You have to check “Enable Iterative Calculation” in Excel Options -> Formulas -> “Enable iterative calcuation”
Maximum iterations should be 100 (default).

What happens when your circular reference errors out?

This happens pretty often as you’re developing your model because if you pass an error into a circular reference, by definition it won’t be able to solve the equation.

See the example below. All the forumlas are correct, but somewhere in the process there was a mistake made and it threw off all the calculations.

You can resolve this with a commonly used “jumpstart”. All bankers use this, so it’s not some random hack. Jumpstart is a two-part formula you stick into cell where there an error would throw off the ciruclar reference.
The first part is to define a cell called jumpstart and the value will be TRUE or FALSE.
The second part is to change a row of your formulas to incorporate jumpstart. In the example below, we’ve incorporate into the average cash calculation by changing it to =IF(Jumpstart,1,(C42+C40)/2) instead of =(C27+C25)/2

This means if Jumpstart is TRUE, insert 1, otherwise calculate the average. By inserting the 1, it allows the calculations to work again…by giving the calculation a “jumpstart” with a value instead of an error.

To see Jumpstart in action
1. Change the FALSE next to “See Error” to TRUE and then back to FALSE. This simulates as if an error was made and then corrected.
2. Change the FALSE next to “Jumpstart” to TRUE, this will fix the errors by making the average cash $1.00. Change back to FALSE (to turn off Jumpstart) and it will revert back to normal calculations.

** Modeling Tip – If/Else is a powerful forumla. Learn it and use it.

  • Dina Heriyati

    Hi, it seems your link is broken. Could you please fix it. Thanks