Metrics

Learn how to write and display metrics in the output table.

Updated over a week ago

# How do I add a row to the output table? What information can I include in a new row?

New rows in the output table can be used to display two different types of Metrics:

1. Calculations can be used to write custom expressions based on the results of your model. For example, Profit Margin using Revenue and Net Income events from your model like so:

2. Measurements allow you to copy an event from your model and display the results in a different format. For example, in addition to a row that displays your Checking Account ending balance each period, you can add a row that also displays the net change in the balance per period like so:

# How do I write an expression for my calculation?

Calculations are an easy way to display custom metrics associated with your Summit model in the output table. Calculations run "separately" from the model itself. Said another way, they are a helpful tool for analyzing the performance of, rather than actors in, your business.

Calculations are derived from custom expressions you can write in the Metrics Editor. Unlike events on the canvas which use SEL (Summit Event Language) to dictate their behavior, custom expressions use SQL (Structured Query Language) to return results.

SQL is a standard language used to update databases and is written with familiar mathematical operations. The available operations in Summit are:

• Arithmetic operators: `+` Add, `-` Subtract, `*` Multiply, `/` Divide

• Absolute value: `abs(x)` ➡️ Returns the absolute value of x

• If: `iif(x, y, z)` ➡️ If x is true, return y, if not, return z

• Ceiling: `ceil(x)` ➡️ Returns the next integer value above x

• Floor: `floor(x)` ➡️ Returns the next lower integer value less than x

• Maximum value: `max(x, y, ...z)` ➡️ Returns highest value of values passed

• Minimum value: `min(x, y, ...z)` ➡️ Returns lowest value of values passed

• Round: `round(x)` ➡️ Round x to the next whole number

• Round to a specific number of digits: `round(x, y)` ➡️ Round x to y digits to the right of the decimal point

• Pi: `pi()` ➡️ Returns the number pi

• Random number: `random()` ➡️ Returns a random number

• Exponent: `power(x, y)` ➡️ x raised to the y-th power

• Square: `square(x)` ➡️ Returns x squared

• Square root: `sqrt(x)` ➡️ Returns the square root of x

• Natural logarithm: `ln(x)` ➡️ Natural logarithm of x

• Common logarithm: `log10(x)` ➡️ Base-10 logarithm of x

• Exponential function: `exp(x)` ➡️ Returns e (the base of the natural logarithm) to the power of x

• Display sign: `sign(x)` ➡️ Returns -1 if x is negative, 0 if x is zero, and 1 if x is positive

🔔 Note: You do not need to include `=` for calculations written in the Metrics Editor.

# Can I reference a prior or future period within the same row? For example, can I calculate the difference between this month's and last month's results?

Yes! You can use the SQL functions `lag()` to reference the value in the previous period and you can use `lead()` to reference a value in the next, future period.

So, using the described example, subtracting the `lag()` value from the current value will then display the difference between the two periods. Change in MRR per period (e.g. `MRR Growth` in raw dollars) could then be written as `mrr - lag(mrr)` and the growth rate could be calculated as `mrr growth / lag(mrr)`.

# What are some common metrics used on Summit models?

The calculations you write will depend on the purpose of your model, but since forecasting business financial performance is a common reason people start to use Summit, we've listed some of the metrics most often associated with those models below for inspiration:

• Compare Results: Value 1 (e.g. Actuals) - Value 2 (e.g. Forecast)

You can compare the difference between any two results with simple subtraction. If you're comparing a positive and negative value, but don't want to consider the sign, wrap the event name in an absolute value operator `abs()`.

• Growth Rates: (New Value - Original Value) / Original Value OR 1-((Original Value - Change in Value) / Original Value)

The percentage change in a value like Revenue, Expenses, Bank Balance, etc. between two time periods.

• Quick Ratio: (New MRR + Expansion MRR + Reactivation MRR) / (Contraction MRR + Churned MRR)

The quick ratio helps you understand the health of your revenue growth, given customer churn. A higher quick ratio indicates strong growth performance.

• Net Churn Rate: (Churn Revenue - Expansion Revenue) / Total Revenue

Net churn rate can tell you whether revenue increases from existing accounts outpaces churn. A negative value means expansion is overtaking churn and can indicate strong retention and overall customer health.

• Average Revenue Per User (ARPU): Total Revenue / Total Customer Count

The average value of a customer. The higher your ARPU, the better!

• Customer Lifetime Value (CLTV): ARPU / Churn Rate

An estimate of the total revenue you can expect to receive over the life of a customer. This provides a helpful target for your customer acquisition and support costs (i.e. you should make sure the costs of CAC and support is less than CLTV!).

• Customer Acquisition Cost (CAC): Total Sales & Marketing Expenses / Number of New Customers

The amount of sales and marketing dollars spent in a given period to convert new customers. This is a helpful metric to determine whether you can grow your business in a cost-efficient manner.

• Gross Margin: Revenue - Cost of Goods Sold (COGS)

Gross margin is the gross profit retained after incurring the direct costs associated with producing the goods and services being sold. This is profit before deducting general and administrative costs.

• Gross Margin Ratio: (Revenue - COGS) / Revenue

This is Gross Margin in percentage terms and is helpful for comparing a business against its competitors or raising attention to temporary production costs spikes or even broader cost management challenges.

• Profit Margin: Net Income (i.e. Profit) / Revenue

Profit margin compares profit to sales and can indicate how well the company is handling all finances including operational expenses.

# Why are some values listed as "Unavailable" in the Metrics Editor?

The unavailable values are metrics that were created using a combination of an event value and a custom metric. These cannot be used in new metrics because they create a technical conflict that would prevent the system from generating results in the output table, similar to a circular reference in other spreadsheet software.