# How I Built It: Real-time goal-seek in Anaplan

Options

About the Author: Tristan Colgate is a Certified Master Anaplanner and Managing Director at Fidenda.

Hello, Anaplan Community!

One modeling challenge that we sometimes come across — especially when replacing a spreadsheet-based solution — is how to automatically goal-seek to calculate a result, when the calculation is circular. In Excel we have the goal-seek function, but this is clunky and manual. Our goal in Anaplan is to make the experience as real-time, automated, and easy to use as possible.

In this ‘How I Built It’ tutorial, I show you a technique I have used to automate the calculation of Residual Land Value. This is a concept from the real estate industry and is a calculation that determines the price that should be paid for a piece of land to achieve a certain profit margin. It’s circular because we calculate interest on a loan to fund the project, which impacts the profitability.

I would be really interested to hear from anyone who has other examples of where this technique can be used.

P.S. If you missed my first ‘How I Built It’ on solving the world’s hardest Sodoku puzzle, check it out here!

All ‘How I Built It’ tutorials can be found here.

• Options

Lovely stuff. Guess if you had a dimension attached to this then have a select time all periods would be the better option rather than doing timesum?

• Options

@tristan.colgate Thanks for sharing, Without a doubt, this solution looks absolutely great.

At present, we are using import actions to goal seek, having multiple actions(20+) in a process to iterate the right value. Can't wait to try this method!

• Options

Excellent way of hacking the time dimension! I will try this out soon

• Options

Thank you for contributing to the community again Tristan!

• Options

Great stuff Tristan !!! Kindly share the idea of workaround where the underlying module also has a time dimension. I came across these circular calculation frequently in Supply Chain use cases.

• edited July 15
Options

@mukulsharma because the time dimension is required for the "iterative" calculation, I believe the only way to get that to work on data already on the time dimension is to convert the data to a "fake time" list - you can see an example of that here:

That way the calculation can occur in the native time dimension. But I'd love to hear if anybody else knows of a different method!