Allowed Operators

This article explains the allowed operators in Model Reef formulas.

You will learn:

  • Which operators you can use.

  • Which constructs are not supported.

  • How to express logic using arithmetic only.

Model Reef uses an arithmetic only formula engine to keep models deterministic and vector friendly.

1

Supported operators

You can use the following operators:

  • Addition: a + b

  • Subtraction: a - b

  • Multiplication: a * b

  • Division: a / b

  • Parentheses: (a + b) * c

These operators work on complete time series, not single cells. The engine applies them period by period across the model timeline.

2

Supported operands

Formulas can reference:

  • Variables.

  • Drivers (economic, operational, modifier).

  • Imported series exposed in sidebars.

  • Sometimes report lines or categories, depending on context.

All operands represent time series, so the operations are vectorised automatically.

3

Not supported

The following are not supported in formulas:

  • IF statements or any conditional logic.

  • Logical operators such as AND, OR or NOT.

  • Cell style references like A1 or B5.

  • Text functions or string concatenation.

  • Aggregation functions over time such as SUM over a range, moving averages or lags.

This design avoids circular references and hidden complexity.

4

Expressing logic with arithmetic only

Common patterns expressed with arithmetic only include:

  • Percentage based calculations

    • Margin % = (Revenue - COGS) / Revenue

  • Growth or escalation

    • Future value = Base value * (1 + Growth driver)

  • FX conversion

    • Local value = Foreign value * FX driver

  • Scenario scaling

    • Scenario B = Scenario A * Scenario modifier driver

Careful structuring of variables and drivers lets you build complex models without conditional formulas.

5

Validation of operator use

The Formula editor validates:

  • That only supported operators are used.

  • That parentheses are balanced.

  • That all references are to known series.

If an unsupported operator or construct appears, you will see an error message before saving.

Last updated