ARR accounts vs projects
An ARR account is a customer marked ICP in Salesforce (Account.ICP__c). Unless a view says otherwise, “ARR” and every retention rate cover ARR accounts only — the same convention as the ARR Data Room.
Customers not marked ICP are projects: their revenue is reported as non-recurring revenue. The “ARR accounts / Projects / All accounts” switch above every view chooses which accounts count.
Small accounts: an ICP customer with 300 licensed servers or fewer (Salesforce: Number of Servers Limit) counts as ARR only from its first renewal, or from the start if its first contract is for two years or more. Its first-year revenue still appears under “All accounts” and in LTV. Customers with no server count in Salesforce count as ARR from the start.
Contract value over time
A contract has a start date and a term in months; it ends (exclusive) at start + term. It is split into ordered periods, each with a number of months, an amount in the contract currency and an FX rate to USD. Periods must add up to the term.
annualised USD value of a period = amount × fx_to_usd × 12 ÷ months
Example: a 24-month contract priced 10,000 for year 1 and 12,000 for year 2 contributes 10,000 ARR on any day of year 1 and 12,000 on any day of year 2.
From Salesforce, a deal's yearly prices come from its ARR schedule (the ARR__c records, one per contract year). When the yearly amounts differ, each contract year becomes its own period, so ARR steps up on each anniversary; otherwise the deal has one price for its whole term.
Quarterly figures credit a contract in every quarter whose last day falls within its term, starting with the quarter it was signed in — a 12-month contract earns exactly 4 quarters. Each quarter's figure is the ARR in force at quarter end ÷ 4.
Renewals
When a customer's next contract starts within 120 days of the previous one ending, the customer never left: the earlier contract is a renewal, even if Salesforce still marks it “Churn”. A short gap is bridged at the old value, so a late signature does not show as churn and a new logo.
A renewed contract stops counting on the day its successor starts, so an early renewal never counts twice.
When churn is recognised: Salesforce decides, not the app. An ARR account whose last contract has expired stays a customer, at its last value, for as long as its Salesforce account Status is “Win”. Churn is recorded in the quarter the CRO's team sets the Status to “Churn”. They do this in a batch when a quarter closes, so a change made on a quarter's last day, or in the first 21 days of the next quarter, counts for the quarter that just closed. Example: an account set to Churn on 1 October shows as churn in the Q3 quarter-end figures.
An expired account still marked “Win” appears in Alerts as awaiting churn decision. If it is still “Win” after the end of the quarter following its expiry quarter (when churn is normally reported), it becomes churn decision overdue. Accounts with no Status change on record (churned before Salesforce's field history begins, or with a status other than Win or Churn) fall back to that usual timing: churn at the end of the quarter after expiry. A renewal signed within 120 days of expiry bridges the gap, so it is never churn.
ARR= Annual Recurring Revenue
ARR is a snapshot at a date. A contract's ARR at date D is the annualised value of the period that contains D (0 outside the contract, and 0 for draft or cancelled contracts). A customer's ARR is the sum over its contracts; the ARR of a slice is the sum over its customers. A customer is active at D when its ARR is above zero.
MRR = ARR ÷ 12
Retention window
Retention metrics are measured over a window from a start date S to an end date E (default: the trailing 12 months ending on the as-of date). The cohort is every customer active at S. Customers first active after S are new.
Movement categories
Each customer in the window falls in one category. For each cohort customer compare ARR at S (a₀) and at E (a₁):
- Churn: a₁ = 0 → churned ARR += a₀
- Contraction: 0 < a₁ < a₀ → contraction += a₀ − a₁
- Expansion: a₁ > a₀ → expansion += a₁ − a₀
- New: customers with a₀ = 0 and a₁ > 0 → new ARR += a₁
Ending ARR = Starting − Churn − Contraction + Expansion + New (= ARR at E)
GRR= GDR (Gross Revenue / Dollar Retention)
How much of the cohort's starting ARR survived, ignoring expansion. Never above 100%.
GRR = (Starting − Churn − Contraction) ÷ Starting
Gross dollar churn rate = 1 − GRR. GDR is a synonym; the app labels it “GRR / GDR”.
NRR= NDR (Net Revenue / Dollar Retention)
The same, but expansion counts. Can exceed 100%; new customers are excluded.
NRR = (Starting − Churn − Contraction + Expansion) ÷ Starting
Quarterly measures
- TTM NDR / TTM GDR: NRR and GRR over the trailing 12 months ending at each quarter end, on ARR accounts.
- Quarterly GDR (annualized): the quarter's own GRR raised to the 4th power. Left blank for the quarter in progress.
- Deals over $50K: closed-won deals whose total contract value (Salesforce Amount, TCV) is at least $50K, by the quarter or year they closed — all accounts.
- Average sale price: the average first-year ARR of new-business deals closed in the quarter — all accounts.
- Non-recurring revenue: for projects, the contract value in force at quarter end ÷ 4.
Logo retention
logo retention = cohort customers still active at E ÷ cohort size · logo churn = 1 − logo retention
Average LTV= Customer Lifetime Value
A customer's LTV is the revenue it brings over its whole life, credited per quarter as in the Data Room's “ARR LTV” sheet: from its first contract to the end of its last one, each quarter adds the ARR in force at quarter end ÷ 4. Quarters already contracted but still in the future are included.
Average LTV = sum of customers' LTV ÷ number of customers
It covers the customers in the current scope and filters (ARR accounts by default), active and churned. The churned average is shown alongside it, because those lifetimes are complete.
Filters (criteria)
Every metric accepts the same slice. Filters combine with AND; several values of one filter are OR.
- Customer attributes: region, country, segment, industry, status, owner.
- Contract attributes: product, currency — only matching contracts count towards ARR.
- ARR tier: a customer's ARR (after contract filters) at the reference date must fall in [min, max]. The reference date is S for cohort membership, E for new customers and the as-of date for snapshots.
- Contact persona / title: the customer must have at least one active contact matching.
- Accounts: ARR accounts (ICP), projects, or all.
Data source
Everything is synced from Salesforce every night at 03:00 UTC (and on demand from Settings): Accounts with at least one closed-won Opportunity become customers, their Contacts become people, and each closed-won Opportunity becomes a contract whose annual value is the Opportunity's ARR and whose term runs from its close date to its end date.
The connection is read-only: nothing in this app writes to Salesforce.