Send an email to support@fluxo.ai and we will reach out back soon.

Formulas and Models are your way of creating functions on Fluxo to automate your actuals and forecasts.

The major difference is that formulas apply to an entire row (actuals and forecasts), while models only apply to a certain period of forecasting.

Both formulas and models share the same set of functions:

**row reference:** references another row from the same or different table, from the same or different period. For example: if you want your formula to reference the Revenue row from the P&L table, the function would be row("Revenue","P&L",0). If you want the same thing, but actually you want to reference the previous month's revenue, formula would be: row("Revenue","P&L",1) .

**self:** similar to row reference, with the difference that it's a reference to the value of the current row. So, for example, self(1) repeats the value from the previous month.

**abs:** returns the absolute value of the parameter. So, for example abs(-5) = 5.

**avg:** returns the arithmetic average of a set of values, that should be separated by commas. One way to use it is for example to return the average of the last 3 months of a value, which would be avg(self(1), self(2), self(3)).

**log:** returns the logarithm of a certain value at a certain base. If no base is specified, it defaults to base 10. So, for example log(10) = log(10,10) = 1.

**max:** returns the maximum of a set of values or functions, separated by comma.

**min:** returns the minimum of a set of values or functions, separated by comma.

**ln:** returns the natural logarithm of a certain value.

**pow:** returns the exponentiation of a base to an exponent. For example pow(2,3) = 2 * 2 * 2 = 8 .

**round:** returns the closest number to a value with a pre-determined number of digits. For example round(3.14, 1) = 3.1 .

**sqrt:** returns the square root of the provided value.

Models can be created with a variety of types, which are all based on the functions above, but can speed up the process of creating your models.

**Custom Formula:** uses the formula builder interface, so you can type functions as described above.

**Growth:** returns a result based on a % growth of the previous period. If you select growth per year, the % is adjusted as *(1 + growth) ^ (1/12) - 1*

**Ratio:** returns the value that maintains the ratio of the assigned row to another selected row, based on the average of a certain number of periods.

**Constant:** repeats a value from the past, you can use it for all constant rows or for seasonal rows, which repeat every certain number of months or years.

**Moving Average:** returns the moving average of a number of periods.

To utilize the full power of models, we added a few more options than you have with formulas.

Every time you create a model, you can name it. Use the model name as a way to clearly identify your assumption.

Good model names are descriptive and specific such as "growth 3%am" or "constant gross margin"

Another setting for models is that you will see a sentence saying "Apply every __ months, from __/____ to __/____".

To speed up the model creation, fields come pre-filled with 1 for interval and with the whole range of your plan for dates. However, you can select whichever interval and range within your plan. This allows you to add multiple models for a single row, as long as they never apply for the same month.