> For the complete documentation index, see [llms.txt](https://cenit-finance-1.gitbook.io/generic-simulation-tool-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cenit-finance-1.gitbook.io/generic-simulation-tool-docs/advanced-editor/how-to-adjust-parameters-in-the-simulation.md).

# How to adjust parameters in the simulation

Most of the time, the simulations generated with the Basic editor are almost what we need for our project, but we want some further adjustments. Some instances where this might be the case are:

* We want to add some different hypothetical scenarios for the users to test (e.g. base scenario, pessimistic, and optimistic)&#x20;
* We want to adapt some incentive schedule to a formula more complex than what is available in the Basic editor, for instance one that depends on a given protocol performance parameter, and not just time.
* We want to change protocol fee distribution percentages over time.

These are the easiest changes and can be done by modifying only some “Input parameters” and “Simulation equations”. Here are examples of the steps to follow:

### Example: Add scenarios with different hypotheses

For this example, we want to add a selector available to the results dashboard end-users where they can change between different hypothetical scenarios for the future growth of the protocol. We would do the following:

1. Find each time-dependent parameter representing a growth hypothesis of the protocol. Usually there is one for each value proposition defined (for example TDP\_VP\_1\_GROWTH\_PARAM)
2. Create one  time-dependent parameters for each growth scenario we want to consider for the selector
3. Generate the selector in “Input parameters” with the different options desired (e.g. “Low adoption”, “Mid adoption”, and “High adoption”)
4. Find in the “Simulation equation” the references to the original time dependent parameter and replace them with the selector.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXce_DOBAaMqStitMSbAEntmJJ7ffmzyhg6fB1vun0zlLiDfIZ9Q9BUdCHBrQtl_rTvfUj9VSDecbni17JQg0gOxAYV6SJiw-KTIGLl_mBBW9-SifxtpogSHrvjV9-E5tpwhwVqtKZg5hHw4l4DC36pivf8?key=gBdoBauPQRHBeCJCAQCSUw" alt=""><figcaption></figcaption></figure>

For example: *TDP\_vp\_1\_growth\_param* should be replaced with *SE\_preset\_scenarios.case("High adoption": TDP\_vp\_1\_growth\_param\_high, "Mid adoption": TDP\_vp\_1\_growth\_param\_mid, "Low adoption": TDP\_vp\_1\_growth\_param\_low)*.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcaFA_lP5FLMG7bFPMTK0XPaGUuCG8roA32UBYv8ZAzXVjhJCCINbirpt46dCFFS4Oiz1pf2SuVAajxREQjHLdcpA2KNBlBhaIk_5NDTrzhQy2Z25cA7-6WHZ4xQ3KaUgRpayihhsX6cOStScO9kCm0igsV?key=gBdoBauPQRHBeCJCAQCSUw" alt=""><figcaption></figcaption></figure>

Then, add the selector to the inputs available to the user through the “Sidebar Configuration” section.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeJd5TydYopz-w94KW1EupJ2BhO4uD8F6jKIuWNlUN7A6T8PBNBtl50--0zGfX_aCf_dGB0h34WaM1_lXJvx_dDCmkZKMA-ZUopiQBpeLfAeovzTNZDZib2oSOnMPfnjnsidflV8IUmX9QivB_ehaYa5iU?key=gBdoBauPQRHBeCJCAQCSUw" alt=""><figcaption></figcaption></figure>

### Example: Adjust an incentive release schedule

For this example, we want to adjust the release schedule of a token incentive. Following the recommended workflow, we generated the starting point for this simulation through the Basic editor, which included an Incentives Reserve and a linear incentive release schedule. When we converted the simulation to the Advanced editor mode, this got interpreted as an “Incentives Reserve” agent to hold the token incentives and a “Incentives Reserve distribution” flow to release them. In order to adjust it to our precise definition:

1. Identify the agent that holds the tokens for that incentive, in the “Agents and Token Flows” section.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfo104vtfquTb4tfYIWl59BoYQSlSgMVqLvkqs6u274UNxQ20LEV8OTTVu_lJrUaNXyI0k2FGcgYkRVTPJB7sxqdMZ5jA3b1u3vRijNfCEMAxB6eoPBCg4L-XNE6smdyeXcIuHnhVS86CcC_TZWW2u-zOk?key=gBdoBauPQRHBeCJCAQCSUw" alt=""><figcaption></figcaption></figure>

2\. In the “Token Exchange Flows” table of the same section, identify the token flow that distributes those tokens to their recipients. It will have the previously identified agent as its “Source”.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc1qQiVCy9g6tG6NJwEGOffwbFFEbGVvCZzmjyTm5lnBtto1bzO2JsDXLX9YbEIDiZwKwI_1sJXv9gc_JpjSWyClpUt6sKQ4Yeb0wibswULi5wCMPPrzMqR5Hkw0KQvzVCAr1N7lGm6i7H4S9O305aHRSRm?key=gBdoBauPQRHBeCJCAQCSUw" alt=""><figcaption></figcaption></figure>

3\. Find the equation corresponding to the value of the token flow in the “Simulation Equations” section and substitute with the appropriate formula.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdlHq-KFYNL9jOPrQpJhFvaTJ11TvzFraBeE6iu7ZSM-8EVXoF6xpptdtZfIAhyRZBEFRv6UK4izMLQXlvubyvIuDGCEzSRpBmPT_seirOJTRmEIY7Q4bZjrrdRfcgf3ctw25ItLCCyrK8WKBh1cXWjSIQ4?key=gBdoBauPQRHBeCJCAQCSUw" alt=""><figcaption></figcaption></figure>

In the example shown in the images, the original amount of tokens distributed as incentives is all of the amount vested at each timestep (which means that in the Basic editor we selected “distribute as it vests”).

If instead we want to distribute rewards each year at a rate that decreases over time, we would change the formula to:

*(1 - SP\_yearly\_rewards\_decay\_percent / 100)^(time.years // 1) \* time\_step.years \* SP\_initial\_tokens\_incentives*

In this formula, every year there is a decay of *SP\_yearly\_rewards\_decay\_percent* relative to the original amount of tokens given *SP\_initial\_tokens\_incentives*.

We can also introduce a threshold to ensure the tokens given are not greater than the tokens that the reserve has:

*MIN(A\_incentives\_reserve\_1.total\_tokens.previous, (1 - SP\_yearly\_rewards\_decay\_percent / 100)^(time.years // 1) \* time\_step.years \* SP\_initial\_tokens\_incentives)*

This is our new *“F\_INCENTIVE\_1”.*

We will also need to add the static parameters SP\_yearly\_rewards\_decay\_percent and SP\_initial\_tokens\_incentives that we introduced in the formula to the “Input Parameters” section, and assign them default values.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cenit-finance-1.gitbook.io/generic-simulation-tool-docs/advanced-editor/how-to-adjust-parameters-in-the-simulation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
