Getting Started

Formulas

Visuals & Dashboards

Managing models and collaboration

Functions

Math

Function

What it does

Example

abs

The absolute value of a number.

The absolute value of a number.

avg

The arithmetic mean (average) of the inputs. Can also be used as avgif.

avg(1, 2, 3) = 2

avg(if Var[all] % 2 = 0 then Var[all] else none = avg of all even values

first_nonzero_value

The first value that is not zero or empty.

first_nonzero_value(0,none,4,6) = 4

is_empty

Evaluates to 1 if variable has no expression, and otherwise to 0.

is_empty(Var[current])

log

Natural logarithm (base e).

log(e^2) = 2

log10

Common logarithm (base 10).

log10(100) = 2

max

The highest of the given values.

max(1, 2, 3) = 3; max([1, 2, 3]) = 3

min

The lowest of the given values.

min(1, 2, 3) = 1; min([1, 2, 3]) = 1

mod

The remainder of a division.
You can also use mod as "%"

mod(5, 2) = 1
5 % 2 = 1
reccurence every 4 months: if timeStep % 4 = 0 then 1 else 0

reverse

Reverses the order of an array.

reverse([1, 2]) = [2, 1]

round

Rounds the number to the closest integer.

round(2.3) = 2, round(2.5) = 3

rounddown

Rounds the number down, toward 0.

rounddown(2.8) = 2, rounddown(-2.8) = -2

roundup

Rounds the number up, away from 0.

roundup(2.2) = 3, roundup(-2.2) = -3

signchange

Timestep on which the first sign change occurs.

signchange(Var[all])

spread

spread(New Customers[0:t], Payments[0:t])

sqrt

Square root of a value.

sqrt(4) = 2

sum

The sum of the inputs. Can also be used as sumif or countif.

sum(1, 2, 3) = 6. sum(if Var[all] % 2 = 0 then Var[all] else 0) = sum of all even values

sumproduct

Multiplies two or more arrays together and returns the sum of products.

sumproduct(Var1[all], Var2[all])

exp

Exponential function

exp(2) = e^2

Time

Function

What it does

Example

date

The time step number of a date. Time steps start with 0.

date(2021,12,24) = 11 in a monthly model that starts in Jan 2021

month_from_date

Extracts the month of a date or time step.

month_from_date( date(2021,12,24) ) = 12

year_from_date

Extracts the year of a date or time step.

year_from_date( date(2021,12,24) ) = 2021

Financial

cumipmt

Cumulative interest paid

cumipmt(rate, periods, value, start, end, type)

finance. am, cagr, ci, df, fv, iar, kr, npv, pi, pmt, pp, pv, r72, wacc

Finance.js function

â€‹

finance.irr

Internal rate of return.

finance.IRR(Cashflows[all], [guess])

finance.roi

Return on investment

finance.ROI(Cashflows[all])

finance.xirr

Internal rate of return for a schedule of cash flows.

finance.xirr([-10,11], [0,12], 12) = 10%

fv

Future Value

fv(rate, nper, pmt, pv, [type])

fvifa

Future Value Interest Factor of an Annuity.

fvifa(rate, nper)

ipmt

Interest portion of a given loan payment.

ipmt(rate, per, nper, pv, [fv], [type])

pmt

Periodic payment for a loan.

pmt(rate, nper, pv, [fv], [type])

ppmt

Principal portion of a given loan payment.

ppmt(rate, per, nper, pv, [fv], [type])

pv

Present Value

pv(rate, nper, pmt, fv, [type])

pvif

Present Value Interest Factor

pvif(rate, nper)

rate

Interest rate per period of an annuity.

rate(nper, pmt, pv, [fv], [type], [guess])

Probability

beta

Beta distribution

beta(alpha, beta)

binominal

Binomial distribution

binomial(n, p)

cauchy

Cauchy distribution

cauchy(local, scale)

chisq

Chi-squared distribution

chisq(k)

exponential

Exponential distribution

exponential(rate)

gamma

Gamma distribution

gamma(shape, scale)

invgamma

Inverse-gamma distribution

invgamma(shape, scale)

lognormal

Log-normal distribution

lognormal(Î¼, Ïƒ^2)

lognormal_from

Log-normal distribution

lognormal_from_interval(from, to, confidence_percent)

normal

Normal distribution

normal(mean, variance)

normal_from

Normal distribution

normal_from_interval(from, to, confidence_percent)

pareto

Pareto distribution

pareto(min, alpha)

poisson

Poisson distribution

poisson(Î»)

stdev

The standard deviation of an array

stdev(Var[all])

triangle

Triangle distribution

triangle(from, to, confidence_percent)

uniform

Uniform distribution

uniform(from, to)

variance

The variance of an array

variance(Var[all])

Other

Function

What it does

Example

error

Error to assert an invalid state.

error()

flat_cohort_forecast

Forecasts cohort data without the cohort category.

flat_cohort_forecast(oldCohorts[all], newCohorts[all], retentionRates[all], lastDataDate, t, [additionalChurn])

gaussian_ramp

Ramping up a value over a time period in the shape of a gaussian bell curve.

gaussian_ramp(timestep,

date(2022,10), 2, 100)

is_data

Evaluates to 1 if argument is derived from a datasource, and otherwise to 0.

is_data(Variable[all])

is_locked

Evaluates to 1 if argument is a Locked Category Item, and otherwise to 0.

is_locked(categoryitem)

last_data_timestep

Returns the last timestep that is derived from a datasource.

last_data_timestep(Var[all])

logistic_ramp

Ramping up a value over a time period in an S-shape (logistic function).

logistic_ramp(timestep, date(2022,1), date(2022,10), 1.8, 100, 200)

quadratic_ramp

Ramping up a value quadratically over a time period.

quadratic_ramp(timestep,

date(2022,1), date(2022,10) [startValue], [endValue])

ramp

Ramping up a value linearly over a time period.

ramp(timestep, date(2022,1), date(2022,10), 100, 200)

ramp_normalized

A ramp with the cumulative sum of 1. Useful for distributing a fixed value over a time period.

ramp_normalized(timestep, date(2022,1), date(2022,10)

Last modified 1mo ago

Copy link