EIGENN.
docsguidesapichangelogpricingsign in
EIGENN.

Common formulas: SaaS metrics

Formulas for MRR movement, ARR, net revenue retention, gross churn, and CAC.

A subscription business tracks how its monthly recurring revenue (MRR) moves. New customers add MRR, upgrades expand it, and churn removes it. The ratios on this page show how efficient that growth is.

The formulas come from the SaaS Metrics and SaaS Churn Stress templates. To start from a template, go to Scenario planning → New model, type the template name, and press Enter.

MRR movement

SaaS Metrics has six inputs: Beginning MRR, New MRR, Expansion MRR, Churned MRR, Sales and marketing spend, and New customers.

VariableFormulaExample result
Ending MRRBeginning MRR + New MRR + Expansion MRR - Churned MRR225,000
ARREnding MRR * 122,700,000
Net new MRRNew MRR + Expansion MRR - Churned MRR25,000

The example results use the template inputs, in the order above: 200,000, 30,000, 10,000, 15,000, 60,000, and 50.

Efficiency ratios

VariableFormulaExample result
Net revenue retention(Beginning MRR - Churned MRR + Expansion MRR) / Beginning MRR97.5%
CACSales and marketing spend / New customers1,200
Gross churn rateChurned MRR / Beginning MRR7.5%

Each ratio uses the movement of one period. In a monthly model, these are monthly rates.

A division by zero gives an error. If a month can have no new customers, test for it:

if New customers = 0 then blank else Sales and marketing spend / New customers

Carry MRR to the next period

In the template, Beginning MRR is an input in each period. To link the periods, add a Starting MRR input and give Beginning MRR this formula:

if Ending MRR[previous] = blank then Starting MRR else Ending MRR[previous]

A reference to [previous] does not make a circular reference.

Drive MRR from a churn rate

SaaS Churn Stress uses a churn rate in place of a churned amount.

VariableFormula
MRRif MRR[previous] = blank then Starting MRR else MRR[previous] * (1 - Monthly churn rate) + New MRR per month
Churned MRRMRR * Monthly churn rate
Retention rate1 - Monthly churn rate

Patterns in Formula templates

The SaaS Metrics template does not calculate lifetime value or payback. Formula templates in the formula bar has patterns for them:

TemplateExample after you fill it
Customer acquisition cost(Sales payroll + Marketing spend) / New customers
CAC paybackCAC / (ARPU * Gross margin)
Lifetime valueARPU * Gross margin / Churn rate
Burn multiple-Net operating cash flow / Net new ARR
Magic number(New ARR + Expansion ARR - Churned ARR) / CAC

Eigenn inserts each pattern with placeholders. Replace each placeholder with one of your variables.

Related

  • Common formulas: cohorts
  • Time references
  • Conditionals
  • Write a formula
  • Revenue forecasting
  • Formulas concept

Common formulas: headcount and payroll

Formulas that roll headcount forward and turn people into payroll cost, by department or by employee.

Common formulas: seasonality

Formulas that raise or lower a value in named months, quarters, or by last year's pattern.

On this page

MRR movementEfficiency ratiosCarry MRR to the next periodDrive MRR from a churn ratePatterns in Formula templatesRelated

Eigenn docs

current product

Overview
Overview
OverviewAccount PreferencesApproval PoliciesAssistant AutomationAssistant Command CenterAssistant Workspace and Saved WorkBank ConnectionsBilling and UsageBudgets and ForecastCommand CenterCustomer FieldsCustomer LifecycleCustomer RecordsCustomersDeveloper PlatformDocument Processing and ExtractionFiles and Document VaultFinancial Analytics and ReportsFinancial OverviewInbox and ApprovalsInvoice InsightsInvoice ProductsInvoicesMarketplace IntegrationsNotifications and BrandingOnboarding and SupportOverviewPlanning Data and DimensionsPlanning Models and FormulasPlanning Time and ActualsPlanning UncertaintyPlanning Versions and CollaborationPlanning Views and ExportsPlans and AdjustmentsReceivablesReceivables AnalyticsReceivables ControlsRolling Budget CloseScenario PlanningSecurity and AccessSettings OverviewStress TestsTeams and OrganizationsTone Profiles and ExperimentsTransaction Categories and RulesTransaction CodingTransactionsWeekly Finance RitualWorkflow ExecutionsWorkflow OutcomesWorkflow PausesWorkflows
OverviewBudget vs. ActualsBuild a Driver-Based Planning ModelBuild and Review a ForecastBuild Your First WorkflowCollaborate on a Planning ModelCompare and Share Planning ScenariosConfigure Approval PoliciesConfigure Assistant OperationsConfigure Customer FieldsConfigure Notifications and BrandingConfigure Planning Time and ActualsConfigure Receivables ControlsConnect Planning Data and ActualsConnect Transaction RecordsConsolidationCreate and Manage CustomersCreate and Send InvoicesCreate Your First Planning ModelDeveloper API SetupFirst Cash ReviewHeadcount PlanningInvoice Collection WorkflowMaintain Transaction RulesManage Security and BillingManage Team AccessManage the Invoice LifecycleMCP WorkflowsMonitor and Recover WorkflowsOrganize and Share DocumentsProcess Inbox ItemsReconcile and Categorize TransactionsRevenue ForecastingReview a Customer Finance RecordReview, Restore, and Export a Planning ModelRun a Finance Operating ReviewRun a Receivables Tone ExperimentRun a Runway Stress TestRun Planning Uncertainty AnalysisRun Your First Command Center ReviewSave and Share Assistant WorkSet Up a WorkspaceTroubleshoot Account AccessWebhook DeliveryWeekly CFO Review
Overview

Concepts

DataDimensionsFormulasScenarios

Variables

VariablesChange an input over timeCreate a variableFormat a variableOrganize variablesTime totalsUse a variable from another modelVariable types

Time

TimeLast actual dateRoll the model forwardTime granularityTime settings

Formulas

FormulasBlanks and helpersCommon formulas: cash and balance sheetCommon formulas: cohortsCommon formulas: currency and multiple entitiesCommon formulas: headcount and payrollCommon formulas: SaaS metricsCommon formulas: seasonalityConditionalsDimension referencesFormula syntaxFunctionsTime referencesTroubleshoot formulasValues with uncertaintyWrite a formula

Charts and Dashboards

Charts and dashboardsCompare scenarios and versionsCreate a chartExport and shareTablesTime aggregation in charts

Dimensions

DimensionsApply a dimensionCreate a dimensionDimension examplesDimension totalsThe Dimensions page

Data

DataChoose cash or accrual for XeroConnect a data sourceLink a variable to dataRefresh and check actualsUse transaction categories as actuals

Data Integrations

Data integrationsBank transactionsCSV importFortnoxQuickBooksStripeXero

Views

ViewsCreate and edit a viewFilter a viewShare a view

Versions

VersionsCompare versionsRestore a versionSave a version

Scenarios

ScenariosCompare scenariosCreate a scenarioPlans and adjustmentsStress tests and shocks

Collaboration

CollaborationComment on a modelShare a model and set accessTeam roles and planning access

Managing Models

Managing modelsDuplicate a modelExport a modelModel limits and performanceStart from a templateThe models home and foldersTrash, restore, and delete a model
OverviewIntegrationsMCPSDKsWebhooks
OverviewAuthenticationBank Accounts APICustomers APIErrorsForecasts and Stress Tests APIInvoice Payments APIInvoices APIPaginationRate LimitsRemote Tracker API StatusTracker Categories APITracker Entries and Timers APITracker Projects APITransactions APIWebhooks API StatusWorkflows API
Overview
Overview