---
title: "Precomputed toggle variants"
description: "Precomputed toggle variants are the finished result sets Fincanva computes for every combination of the three simulation assumptions in a single run."
canonical_url: "https://fincanva.com/docs/backtesting/precomputed-toggle-variants"
last_updated: "2026-08-27"
md_url: "https://fincanva.com/docs/backtesting/precomputed-toggle-variants.md"
---

# Precomputed toggle variants

Precomputed toggle variants are the finished result sets Fincanva computes for every combination of the three [simulation assumptions](/docs/backtesting/simulation-assumptions) — Costs & interests, Taxes, and Reinvest profits — inside one single run, so that flipping a toggle selects an already-computed result instead of starting a new [backtest](/docs/getting-started/backtest). Three independent on/off switches make eight combinations, and one run fills them. That is the whole reason the after-tax curve appears the moment you ask for it.

**Also seen as:** toggle combinations, assumption variants

## Why does flipping an assumption toggle update instantly?

Because the result you switch to already exists. The three toggles are not inputs the run is waiting on — they choose which finished variant is displayed, so switching one is a read, not a recomputation. A run therefore produces the gross view and the after-cost, after-tax and non-compounding views together, and the results page moves between them with no queue, no progress bar, and no change to the run's [status](/docs/backtesting/run-status).

## Why are there eight variants?

Three toggles with two states each give eight distinct combinations. Costs & interests, Taxes and Reinvest profits are each either on or off, and every way of setting the three of them together is one variant:

$$
2 \times 2 \times 2 = 2^3 = 8
$$

where: each factor is one assumption toggle with two states, on and off, and 8 is the number of distinct combinations of the three. All eight are produced when both costs and taxes are configured in your settings; fewer are produced when one of those sides is not configured, because a side with nothing set has nothing to switch between. Either way, every combination the app lets you select has a finished result behind it.

## Defaults in Fincanva

- The toggles read a variant; they never queue a run, so they work identically on an old result and a fresh one.
- The rates behind the toggles are a different kind of change: editing a cost or tax rate is a settings change, which flips the run to **Needs re-run** and takes effect only after a re-run.
- Reinvest profits also selects which annualized figure is shown — [CAGR](/docs/analysis/cagr) when it is on, [AAGR](/docs/analysis/aagr) when it is off — and that swap is instant for the same reason.
- The live holdings view is always served from the reinvesting, costs-off, taxes-off variant, whatever the toggles above the backtest results are set to: it answers "what would this strategy hold now", not "what did it net historically".
- Because the variants belong to the run, a strategy whose result is reused rather than recomputed (see [shared compute](/docs/backtesting/shared-compute)) arrives with all of its variants already in place.

## Worked example

You run a strategy once, with both cost and tax rates configured in your settings. The results open on the default view — gross of costs and tax, profits compounding. You flip **Taxes** on: the return, the annualized figure and the monthly table all drop to their after-tax values at once, because that variant was computed in the same run. You flip **Reinvest profits** off and the headline metric switches from CAGR to AAGR just as fast. Then you open Settings and change the capital-gains rate from 26% to 20%: nothing on the page moves, the run flips to **Needs re-run**, and the new rate only appears after you re-run — the eight variants belong to the run that produced them, and a new rate needs a new run.
