Monday's NRR eye popping realization

First post here. Apology in advance if my misunderstanding of a comment WSM made in his quarterly update and the NRR definition on MNDY’s site ends up making all that I’m about to share useless as I spent a good bit of time trying to put this all together. And apologies for the poor formatting in advance!

When reading through WSM’s summary yesterday:…
he made about’s net revenue retention rate that really caught my eye. He said, “And bear in mind that they define NRR as a 4 quarter moving average which likely means the current quarter’s NRR for 10+employees is above the 130%.” Now perhaps this is the case for all of our companies and maybe I’ve always misinterpreted it. But assuming it’s not, I think it’s prudent we take WSM’s statement that “which LIKELY means the current quarter’s NRR for 10+ employees is above the 130%” and dissect the numbers a bit more. What I mean is that I think we can arrive at much closer numbers to what the actual quarters NRR is (as it seems other companies normally report it) and not this rolling average nonsense (which allows the bright clever board members here to gain info that the rest of the market might miss).

First note that in the 21Q2 and 21Q3 reports that the retention rates came in “over 125%” and “over 130%.” So for the sake of being maximally conservative, Im going to assume they came in at 125.0001%, and 130.0000001%, and just round them both down.

Now, based on how monday claims they calculate NRR, it seems to me we can arrive at the following system of equations that calculate the actually quarterly NRR for each quarter:

Let a,b,…,f,g = 20q1,20q2,…,21Q2,21,Q3. Then,

1/4 (a + b + c + d) = 119
1/4 (b + c + d + e) = 121
1/4 (c + d + e + f) = 125
1/4 (d + e + f + g) = 130

(Now converting the system of equations to variables easier to read):

1/4 ((20q1) + (20q2) + (20q3) + (20q4)) = 119
1/4 ((20q2) + (20q3) + (20q4) + (21Q1)) = 121
1/4 ((20q3) + (20q4) + (21Q1) + (21Q2)) = 125
1/4 ((20q4) + (21Q1) + (21Q2) + (21Q3)) = 130

Solving this system of equations (google wolfram alpha system of equations solver and use variables a through g for the each quarter if you’d like to help be a number checker for me :), we find that

EQUATION 1: (21Q1) = (20q1) + 8,
EQUATION 2: (21Q1) = -(20q2)-(20q3)-(20q4) + 484,
EQUATION 3: (21Q2) = (20q2) + 16,
EQUATION 4: (21Q3) = (20q3) + 20

So what can we gather from this?
Well, from equation 1 we see that the true NRR of 21Q1 was 8 percent higher than it was in 20q1.
From equation 2 we find that the average rates for 20q2, 20q3, 20q4, and 21Q1 is 121.

So we can start here and throw in some test values to see some possible true quarterly retention rates for the last two quarters. Since the first equation informs us that Q121 is 8% higher than q120 was, we get a tighter window of possible values to plug in for the other quarters (I’m also going to assume each quarters rate improved sequentially, but even if this assumption is off as it will be in the final test numbers I provide, the final numbers we will arrive at should still be pretty accurate).

Possible NRR numbers example one:
Since the average of 20q2, 20q3, 20q4, and Q121 is 121, suppose the true percentages for those specific quarters were 117, 119, 123, and 125, respectively.


21Q1 = 125, and 20q1 = 117 = 20q2 (from equation 1)
21Q2 = (20q2) + 16 = 133 (from equation 3)
21Q3 = (20q3) + 20 = 139 (from equation 4)

*note that in this example both 20q1 and 20q2 would have come in at the same rate. Given their rate of product development I would assume this probably is not the case.

Possible NRR numbers example two:
Suppose 20q2, 20q3, 20q4, and 21Q1 = 118,120,122,and 124 respectively.

21Q1 = 124, and 20q1 = 116 (from equation 1)
21Q2 = 118 + 16 = 134 (from equation 3)
21Q3 = 120 + 20 = 140 (from equation 4)

Possible NRR numbers example three:
Perhaps in the ‘worst case’ for our last 2 quarters retention rates (and these numbers would seem pretty bumpy if they are indeed true, so I think this case is the least likely), suppose 20q2, 20q3, 20q4, and 21Q1 = 115,117,125,and 127 respectively (be mindful, if these were the real numbers, then 20q1 would have been 119 which would have meant a dip for two quarters which again seems extremely unlikely or maybe even numerically impossible given our other numbers.

This would imply,

21Q1 = 127, and 20q1 = 119 (from equation 1)
21Q2 = 115 + 16 = 131 (from equation 3)
21Q3 = 117 + 20 = 137 (from equation 4)

And please remember, don’t look at the numbers in any of these examples these numbers and mistakenly think, "they cant be correct because 21Q2 reported at +125% but these numbers suggest they came in at over 130, because the percentages they are reporting are the rolling 4 quarter averages and not the current quarters actual number itself. Mixing that up will undoubtedly lead to confusion and I would like to avoid that!

So after reviewing these numbers and WSM’s super helpful side comment that was very very valuable, It looks like MNDY’s NRR has actually been accelerating quite well compared to last year (it took four quarters to get the rate up 8% between 20q1 and 21Q1), and then only took 1 more quarter to boost it again by 8%, and most recently, a 4% jump.

Hope this is helpful. Please remember that I certainly could have made human error in my calculations, and could have also made an error copying and pasting things around. And if it turns out that this is how all of our companies are reporting NRR and Ive just been misunderstanding it all this time then please let me know! And remember, even though some of these numbers involve hypothetical numbers, the range of the hypothetical numbers is so tight that they cant possibly be that far off of the true numbers for the most conservative case (re-read my assumptions about the "over 125% and over 130%s monday reported)! As each new quarter’s numbers come in we will be able to get a better idea of the exact values for the most recent quarters, which should hopefully help us pick up on acceleration and deceleration faster than the rest of the market!


I feel like I didn’t sum up my takeaway very well from this post so here’s why it was “eye popping” to me as I suggested in the subject line.

Given that I started with the most conservative rolling retention rates possible (125 for a quarter where they reported “over 125%” and 130 for “over 130%”), in basically all the examples we still end up with a true quarter NRR for q3 that is around or just under 140%! Read that again. MONDAY probably clocked in close to or slightly under 140% NRR for q3 in THE MOST CONSERVATIVE CASE. AND, when you look at the big jumps between the true quarterly NRR of 20q2 and 21Q2 (16 point jump) and 20q3 vs 21Q3 (20 point jump), we are clearly looking at a company whose NRR will climb when these older quarters get rotated out of the rolling average. This suggests to me not just a strong durability of revenue, but a strong durability of their NRR. And given that this company is adding customers like mad, they should have tons of new customers for their great NRR to benefit off of!

So those were sort of my thoughts and why they stood out to me.


Hi FlyForest,

Yes that’s exactly what I meant with that comment. The only caveat is that it is possible that there is a bump up and then down in the NRR numbers in one of the quarters and not a steadily increasing NRR, hence my slight hedge “likely”. I say possible, because it is unlikely given what we know of Monday. So your calcs will seem to be in the ballpark.

About your question on Monday’s NRR definition vs others, yes you are correct in your interpretation, and no, this is not the same as our other companies. NRR/DBNRR is non-GAAP so the companies can and do define it differently.

Here is Monday’s definition:

We calculate Net Dollar Retention Rate as of a period end by starting with the ARR from customers as of the 12 months prior to such period end (“Prior Period ARR”). We then calculate the ARR from these customers as of the current period end (“Current Period ARR”). The calculation of Current Period ARR includes any upsells, contraction and attrition. We then divide the total Current Period ARR by the total Prior Period ARR to arrive at the net dollar retention rate. We then use a weighted average of this calculation of our quarterly Net Dollar Retention Rate for the four quarters ending with the most recent quarter.

→ So MNDY publishes a 4-qtr moving average NRR.

And Datadog’s:

We calculate dollar-based net retention rate as of a period end by starting with the ARR from the cohort of all customers as of 12 months prior to such period-end, or the Prior Period ARR. We then calculate the ARR from these same customers as of the current period-end, or the Current Period ARR. Current Period ARR includes any expansion and is net of contraction or attrition over the last 12 months, but excludes ARR from new customers in the current period. We then divide the total Current Period ARR by the total Prior Period ARR to arrive at the point-in-time dollar-based net retention rate. We then calculate the weighted average of the trailing 12-month point-in-time dollar-based net retention rates, to arrive at the dollar-based net retention rate.

→ So it seems DDOG publishes their 12-month moving average NRR.


We calculate our dollar-based net retention rate as follows:
Denominator: To calculate our dollar-based net retention rate as of the end of a reporting period, we first establish the annual recurrent revenue (“ARR”) from all active subscriptions as of the last day of the same reporting period in the prior fiscal year. This effectively represents recurring dollars that we expect in the next 12- month period from the cohort of customers that existed on the last day of the same reporting period in the prior fiscal year.
Numerator: We measure the ARR for that same cohort of customers representing all subscriptions based on confirmed customer orders booked by us as of the end of the reporting period.
Dollar-based net retention rate is obtained by dividing the numerator by the denominator.

→ So Zscaler seems to publish the point-value / end of period value of NRR in each period. If NRR is increasing they will therefore publish a higher NRR than DDOG all things being equal.

For interest’s sake I also nitpicked ASANA’s NRR here: . I did not like how they defined NRR for larger customers and I compared it to Crowdstrike’s, who has a similar definition to Zscaler.

And lastly Snowflake’s:

To calculate this metric, we first specify a measurement period consisting of the trailing two years from our current period end. Next, we define as our measurement cohort the population of customers under capacity contracts that used our platform at any point in the first month of the first year of the measurement period. Starting with the fiscal quarter ended October 31, 2021, the cohorts used to calculate net revenue retention rate include end-customers under a reseller arrangement. Although the impact is not material, we have adjusted all prior periods presented to reflect this inclusion. We then calculate our net revenue retention rate as the quotient obtained by dividing our product revenue from this cohort in the second year of the measurement period by our product revenue from this cohort in the first year of the measurement period. Any customer in the cohort that did not use our platform in the second year remains in the calculation and contributes zero product revenue in the second year.

→ They publish a point value, and only include product revenue in the calc, not total revenue.

Also note that some use ARR (forward-looking, non-GAAP value) and others use revenue (backwards-looking, GAAP number)

So without getting too lost in the details, it is useful to look at the definitions of any non-GAAP measurement so that we know what we’re looking at.

For Monday, because their NRR was trending up so nicely, I thought the fact that it was a moving average was quite interesting exactly for the reasons you highlighted (if NRR is relatively stable of course this would not matter).