This article contains the object model used to generate the ARR Momentum and other ARR metrics.
ARR by Period
Overview
The ARR by Period table is a time series table, storing the Opening and Closing ARR values for each fiscal month, of each active order product, constituting a substantial dataset. This information serves as the foundation for generating various reports on ARR trends and other essential booking metrics.
The ARR by Period table operates on a strictly incremental basis. Once generated, the records within this table remain static and are not subject to updates. When a new change order is initiated and activated, fresh ARR by Period records are generated specifically for this newly activated order.
EXAMPLE
VROOM Inc. follows a fiscal period aligned with the calendar year, with quarters beginning on 01/01, 04/01, 07/01, and 10/01.
Given this scenario, what are Chloe's contributions to the Opening and Closing ARR from Customer A and Customer B for each quarter in fiscal year 2023? |
To answer this question, let's first take a look at all the 3 orders Chloe created:
ORDER | ORDER PRDUCT | CUSTOMER | SUBSCRIPTION | START DATE | END DATE | DELTA MRR | DELTA ARR |
O-1 | OP-001 | Customer A | S-001 | 01/15/2023 | 01/14/2024 | $1000 | $12000 |
O-2 | OP-002 | Customer B | S-002 | 02/01/2023 | 04/30/2024 | $2000 | $24000 |
O-3 | OP-003 | Customer A | S-001 | 04/01/2023 | 01/14/2024 (Co-term with OP-001) | $600 | $7200 |
Upon the activation of every order, Nue generates ARR by Period records for each product within the order on a monthly basis, aligning with the company's fiscal year.
Therefore, the following ARR by Period records are generated (A full description of the object can be found later in this article):
ORDER | ORDER PRDUCT | CUSTOMER | USER | SUBSCRIPTION | CHANGE CATEGORY | START DATE | END DATE | OPENING CMRR | CLOSING CMRR |
Order O-1 for Customer A, Subscription S-001 | |||||||||
O-1 | OP-001 | Customer A | Chloe | S-001 | New Business | 01/01/2023 | 01/31/2023 | $0 | $1000 |
O-1 | OP-001 | Customer A | Chloe | S-001 | New Business | 02/01/2023 | 02/282023 | $1000 | $1000 |
O-1 | OP-001 | Customer A | Chloe | S-001 | New Business | 03/01/2023 | 03/31/2023 | $1000 | $1000 |
O-1 | OP-001 | Customer A | Chloe | S-001 | New Business | 04/01/2023 | 04/30/2023 | $1000 | $1000 |
O-1 | OP-001 | Customer A | Chloe | S-001 | New Business | 05/01/2023 | 05/31/2023 | $1000 | $1000 |
O-1 | OP-001 | Customer A | Chloe | S-001 | New Business | 06/01/2023 | 06/30/2023 | $1000 | $1000 |
O-1 | OP-001 | Customer A | Chloe | S-001 | New Business | 07/01/2023 | 07/31/2023 | $1000 | $1000 |
O-1 | OP-001 | Customer A | Chloe | S-001 | New Business | 08/01/2023 | 08/31/2023 | $1000 | $1000 |
O-1 | OP-001 | Customer A | Chloe | S-001 | New Business | 09/01/2023 | 09/30/2023 | $1000 | $1000 |
O-1 | OP-001 | Customer A | Chloe | S-001 | New Business | 10/01/2023 | 10/31/2023 | $1000 | $1000 |
O-1 | OP-001 | Customer A | Chloe | S-001 | New Business | 11/01/2023 | 11/30/2023 | $1000 | $1000 |
O-1 | OP-001 | Customer A | Chloe | S-001 | New Business | 12/01/2023 | 12/31/2023 | $1000 | $1000 |
O-1 | OP-001 | Customer A | Chloe | S-001 | New Business | 01/01/2024 | 01/31/2024 | $1000 | $0 |
Order O-2 for Customer B, Subscription S-002 | |||||||||
O-2 | OP-002 | Customer B | Chloe | S-002 | New Business | 02/01/2023 | 02/282023 | $0 | $2000 |
O-2 | OP-002 | Customer B | Chloe | S-002 | New Business | 03/01/2023 | 03/31/2023 | $2000 | $2000 |
O-2 | OP-002 | Customer B | Chloe | S-002 | New Business | 04/01/2023 | 04/30/2023 | $2000 | 0 |
Change Order O-3 for Customer A, Subscription S-001 | |||||||||
O-3 | OP-003 | Customer A | Chloe | S-003 | Upsell/Expansion | 04/01/2023 | 04/30/2023 | $0 | $600 |
O-3 | OP-003 | Customer A | Chloe | S-003 | Upsell/Expansion | 04/01/2023 | 04/30/2023 | $600 | $600 |
O-3 | OP-003 | Customer A | Chloe | S-003 | Upsell/Expansion | 05/01/2023 | 05/31/2023 | $600 | $600 |
O-3 | OP-003 | Customer A | Chloe | S-003 | Upsell/Expansion | 06/01/2023 | 06/30/2023 | $600 | $600 |
O-3 | OP-003 | Customer A | Chloe | S-003 | Upsell/Expansion | 07/01/2023 | 07/31/2023 | $600 | $600 |
O-3 | OP-003 | Customer A | Chloe | S-003 | Upsell/Expansion | 08/01/2023 | 08/31/2023 | $600 | $600 |
O-3 | OP-003 | Customer A | Chloe | S-003 | Upsell/Expansion | 09/01/2023 | 09/30/2023 | $600 | $600 |
O-3 | OP-003 | Customer A | Chloe | S-003 | Upsell/Expansion | 10/01/2023 | 10/31/2023 | $600 | $600 |
O-3 | OP-003 | Customer A | Chloe | S-003 | Upsell/Expansion | 11/01/2023 | 11/30/2023 | $600 | $600 |
O-3 | OP-003 | Customer A | Chloe | S-003 | Upsell/Expansion | 12/01/2023 | 12/31/2023 | $600 | $600 |
O-3 | OP-003 | Customer A | Chloe | S-003 | Upsell/Expansion | 01/01/2024 | 01/31/2024 | $600 | $0 |
The table above provided displays the Opening CMRR, Closing CMRR, Opening ARR, and Closing ARR generated by each order product on a monthly basis throughout the entire subscription term. This detailed breakdown enables us to analyze and manipulate the data in various ways, facilitating comprehensive aggregation and analysis.
For the above example, If I want to calcualted the Opening and Closing ARR contributed by Chloe for each fiscal quarter, I can simply find the ARR by Period records with Start Date on the following start dates of each quarter:
- 01/01/2023
- 04/01/2023
- 07/01/2023
- 10/01/2023
The records retrieved are as follows:
ORDER | ORDER PRDUCT | CUSTOMER | USER | SUBSCRIPTION | CHANGE CATEGORY | START DATE | END DATE | OPENING CMRR | CLOSING CMRR |
O-1 | OP-001 | Customer A | Chloe | S-001 | New Business | 01/01/2023 | 01/31/2023 | $0 | $1000 |
O-1 | OP-002 | Customer A | Chloe | S-001 | New Business | 04/01/2023 | 04/30/2023 | $1000 | $1000 |
O-2 | OP-002 | Customer B | Chloe | S-002 | New Business | 04/01/2023 | 04/30/2023 | $2000 | 0 |
O-3 | OP-003 | Customer A | Chloe | S-003 | Upsell/Expansion | 04/01/2023 | 04/30/2023 | $0 | $600 |
O-1 | OP-001 | Customer A | Chloe | S-001 | New Business | 07/01/2023 | 07/31/2023 | $1000 | $1000 |
O-3 | OP-003 | Customer A | Chloe | S-003 | Upsell/Expansion | 07/01/2023 | 07/31/2023 | $600 | $600 |
O-1 | OP-001 | Customer A | Chloe | S-001 | New Business | 10/01/2023 | 10/31/2023 | $1000 | $1000 |
O-3 | OP-003 | Customer A | Chloe | S-003 | Upsell/Expansion | 10/01/2023 | 10/31/2023 | $600 | $600 |
Now we can do a simple aggregation, and get the following results:
QUARTER | OPENING CMRR | CLOSING CMRR |
Q1 | $0 | $3000 |
Q2 | $3000 | $1600 |
Q3 | $1600 | $1600 |
Q4 | $1600 | $1600 |
To accommodate the potential volume of data, we utilize the ARR by Period big object within Salesforce. Salesforce permits storage of up to 1 million records for each Big Object. If your organization maintains a significant number of subscriptions (for instance, if the average subscription term spans 12 months, surpassing 83,333 subscriptions would likely exceed the Big Object storage limit), please contact Salesforce to raise the limit of the storage capacity.
In addition to ARR by Period big object table, we also provide ARR by Period by Customer big object table. The field definitions for these two big objects are identical, with the only distinction lying in their indexes. The ARR by Period table is tailored for efficient querying by Start Date, while the ARR by Period by Customer table is optimized for queries based on Customer and Subscription parameters.
Nue also generates an ARR by Period view within our Snowflake data warehouse, enabling the creation of more sophisticated metrics and analytics. For further insights into analytics within Revenue Lifecycle Intelligence, please refer to this article.
Field Definitions
Object Name: ARR By Period
API Name: ArrByPeriod (Salesforce: Ruby__ArrByPeriod__b)
FIELD NAME |
DATA TYPE |
DESCRIPTION |
---|---|---|
Asset Order Product | Lookup (Asset Order Product) | |
Change Category | Text |
Available values are:
New Business Upsell/Expansion Cross-sell Downsell/Contraction Cancel/Churn Renewal |
Change In ARR | Decimal: Currency |
Added and lost ARR occurred any day in a fiscal period.
|
Change In CMRR | Decimal: Currency |
Added and lost CMRR occurred any day in a fiscal period.
|
Closing ARR | Decimal: Currency |
ARR as of the closing of this period, not including the ARR lost on the last day of this period.
|
Closing CMRR | Decimal: Currency |
CMRR as of the closing of this period, not including the CMRR lost on the last day of this period.
|
Currency Code | Text |
Associated currency ISO code
|
Customer | Lookup(Account) |
The reference to customer.
|
Customer Name | Text |
The name of the customer
|
End Date | Date |
The end date of this period
|
ID | ID | The record ID. |
Opening ARR | Decimal: Currency |
ARR as of the opening of this period, not including the ARR added on the first day of this period.
|
Opening CMRR | Decimal: currency |
CMRR as of the opening of this period, not including the ARR added on the first day of this period.
|
Order Product | Lookup(Order Product) |
The reference to order product.
|
Product | Lookup(Product) |
The reference to product.
|
Product Name | Text |
The name of the product
|
Quantity | Number(15,3) |
The quantity of the order product.
|
Start Date | Date |
The start date of this period
|
Subscription | Lookup(Subscription) |
The reference to the subscription.
|
Subscription Number | Text |
The subscription number
|
User | Lookup(User) |
Owner of the order
|
ARR By Period Data Generation
Define Fiscal Periods in Salesforce
ARR by Period records are generated in real-time when orders are activated. Before creating your first active order, either on UI or via order imports, you need to have Fiscal Periods created in Salesforce. Please refer to this Salesforce article for creating fiscal periods in Salesforce, or consult your Salesforce consultant.
Regenerate ARR by Period Data
In certain cases, when there are updates to Fiscal Periods or the creation of older ones to synchronize with historical data, you must regenerate ARR by Period data. Please follow the steps below:
- Login to Nue App, and navigate to Settings
- In the search bar, enter the keyword 'Regenerate', then choose the 'Generate or regenerate monthly delta ARR for active orders' option. Click on the 'Run Now' button located next to the selected option. Please be aware that it might require a few minutes for the ARR Regeneration process to finish entirely.