OKTA · Forward model · Subscription · Bear case
What has to happen in Subscription
Model as of
This page changes Subscription inside the complete OKTA model. Every other vertical, corporate programme and valuation assumption stays in the selected portfolio case.
Shares this vertical and portfolio case. Slider and horizon edits stay in your browser.
Subscription
98.5% of revenue and effectively all of the value. Multi-year contracts recognised ratably, so the quarter's revenue is the run-off of a backlog that is itself disclosed ($2.585bn of cRPO) rather than the result of a sale. The two halves Okta publishes multiply out to the growth rate exactly: 5,255/4,945 = +6.27% on the large-customer count and 150,904/143,782 = +4.95% on subscription revenue per large customer, and 1.0627 x 1.0495 = 1.1153, which is 793/711 to four decimal places.
Latest: $1.05B (2031Q3E)
| Period | Value |
|---|---|
| 2023Q2 | $503M |
| 2023Q3 | $542M |
| 2023Q4 | $569M |
| 2024Q1 | $591M |
| 2024Q2 | $603M |
| 2024Q3 | $632M |
| 2024Q4 | $651M |
| 2025Q1 | $670M |
| 2025Q2 | $673M |
| 2025Q3 | $711M |
| 2025Q4 | $724M |
| 2026Q1 | $747M |
| 2026Q2 | $750M |
| 2026Q3 | $793M |
| 2026Q4E | $807M |
| 2027Q1E | $822M |
| 2027Q2E | $820M |
| 2027Q3E | $852M |
| 2027Q4E | $864M |
| 2028Q1E | $877M |
| 2028Q2E | $873M |
| 2028Q3E | $905M |
| 2028Q4E | $916M |
| 2029Q1E | $929M |
| 2029Q2E | $923M |
| 2029Q3E | $955M |
| 2029Q4E | $965M |
| 2030Q1E | $977M |
| 2030Q2E | $970M |
| 2030Q3E | $1.00B |
| 2030Q4E | $1.01B |
| 2031Q1E | $1.02B |
| 2031Q2E | $1.02B |
| 2031Q3E | $1.05B |
Assumptions & reasoning
- The driver's three traces need reading with care. 'Subscribers' is the disclosed count of customers with annual contract value above $100,000 - 5,255 at 31 July 2026 - not Okta's total customer count, which the fiscal 2026 10-K gives only as a floor of 'more than 20,000'. 'ARPU' is therefore the WHOLE subscription line divided by that cohort, so it absorbs the revenue of the sub-$100k long tail as well. The identity is exact and nothing is invented, but the number is a blended revenue-per-large-customer figure, not a price.
- The long tail is deliberately NOT split out. Okta discloses the large-customer count and total subscription revenue and nothing that connects them, so apportioning revenue between the cohort and the tail would manufacture a sub-line the company does not report. Non-subscriber revenue is set to zero and the disclosed count carries the entire line.
- The net-adds input is GROSSED UP because the engine damps adds by the headroom left against TAM. At 5,255 of a 20,000 base that headroom is 73.8%, so the input carries 106.8 and the published trace prints 75 net adds in the first projected quarter, which is what Okta reported for the quarter ended 31 July 2026. The 41.0 ceiling is the same gross-up of a 30-a-quarter printed floor. The trace fades from 75 to 38 by 2031 Q3 and the base rises from 5,255 to 6,294.
- The decomposition earns its place because the two halves behave differently. The count is the smoothest series Okta publishes - net adds of 85, 70, 80 and 75 over the last four quarters, flat in level for two years - so on a base rising toward 6,294 it is a mechanically decaying growth contribution. Revenue per customer carries all of the volatility and all of the seasonality: it drifts from $50,416 a month in the first projected quarter to $59,212 in the last.
- Seasonality is encoded here and the cause is the CALENDAR, not bookings. Ratio-to-centred-four-quarter-moving-average over the fourteen disclosed quarters gives factors of 1.0045 / 0.9851 / 1.0062 / 1.0041 on the spec's own Q1-Q4 labelling, where Q1 is the quarter ending 31 January and Q3 the quarter ending 31 July. Okta's February-to-April quarter is 89 or 90 days against 92 for each of the other three, and ratable recognition is proportional to elapsed days: pure day-count factors normalise to 1.0082 / 0.9753 / 1.0082 / 1.0082, the same sign and shape at about 60% of the magnitude. Only the Q2 trough is robust. The Q4 factor has a window-to-window spread of 0.84 points against a signal of 0.51, so it carries no information and is left effectively at 1.0; do not read a Q1 or Q4 peak into these numbers.
- The ARPU input is DESEASONALISED on purpose. The engine deseasonalises only a vertical's base value, which the subscription curve never reads, so the input is (793m / 1.0062) / 5,255 / 3 = $49,991 a month rather than the raw $50,301. Feeding the raw figure would apply the July factor twice.
- cRPO is the better mechanism and the engine cannot carry it, so it is used as a cross-check instead. Quarterly subscription revenue has been 29.7% to 31.7% of end-of-quarter cRPO for eleven straight quarters, but cRPO's own path is a staircase - January-quarter increments of +122, +186 and +185 against April-quarter increments of -3, -21 and -14 - and no constant capacity add can express that. Applying the disclosed +14.1% cRPO growth to $3,014m of trailing subscription revenue implies about $3,439m over the next twelve months; this model projects $3,330m of subscription revenue across the same four quarters, 3.2% below. That gap is deliberate: management guided cRPO growth back to 11-12% in the very release that printed 14%.