Reddit, Inc. [RDDT] — Financial Model Notes
Every figure used anywhere in this memo, with its derivation and its source. As of 2026-07-29. Nothing below is asserted; each line is either quoted from a filing or arithmetically derived from lines that are, with the arithmetic shown.
1. Revenue
1.1 Annual, as filed
| $m | FY2022 | FY2023 | FY2024 | FY2025 |
|---|---|---|---|---|
| Advertising revenue | n/d | 788.782 | 1,185.456 | 2,062.480 |
| Other revenue | n/d | 15.247 | 114.749 | 140.026 |
| Total revenue | 666.7 | 804.029 | 1,300.205 | 2,202.506 |
| YoY | — | +20.6% | +61.7% | +69.4% |
FY2022 total from XBRL RevenueFromContractWithCustomerExcludingAssessedTax, tagged in the FY2024 10-K
(filed 2025-02-13). FY2023–FY2025 disaggregation from FY2025 10-K Note 3.
1.2 Quarterly, as filed and as derived
| $m | Q1 | Q2 | Q3 | Q4 | FY |
|---|---|---|---|---|---|
| 2023 | 163.663 | 182.987 | 207.489 | 249.890 (derived) | 804.029 |
| 2024 | 243.014 | 281.223 | 348.354 | 427.614 (derived) | 1,300.205 |
| 2025 | 392.361 | 499.6 | 584.9 | 725.645 (derived) | 2,202.506 |
| 2026 | 663.411 | 715–725 guided | — | — | — |
Q4 is derived, and this is the exact defect that broke other names tonight. US registrants do not tag
Q4 separately in XBRL. coverage_scan.ttm_revenue() sums the last four tagged quarterly periods without
checking they are consecutive — which on SMR summed 2025Q1+Q2+Q3+2026Q1 (a 15-month, gap-riddled window,
62% too high) and on BLLN summed 2024Q3+2025Q1+2025Q3+2026Q1 (18% too low). Here, Q4 is derived as
FY − (Q1+Q2+Q3), which is correct by construction, and the resulting TTM was checked against the screen:
TTM to 2026-03-31 = FY2025 2,202.506 + Q1'26 663.411 − Q1'25 392.361 = 2,473.556
Screen value = 2,473.556 ✓ exact
1.3 TTM revenue mix
Advertising TTM = 2,062.480 + 624.670 − 358.630 = 2,328.520 (94.14%)
Other TTM = 140.026 + 38.741 − 33.731 = 145.036 ( 5.86%)
Total TTM = 2,202.506 + 663.411 − 392.361 = 2,473.556
1.4 Demonstrated CAGR — window named
(2,202.506 / 666.7)^(1/3) − 1 = 3.30360^(0.33333) − 1 = 48.94%
FY2022 → FY2025, 3 years, 48.9%. This reproduces the screen's revenue_cagr_demonstrated exactly and
identifies the window the screen did not state.
Advertising-only CAGR. FY2022 advertising is not disaggregated in any filing. FY2023 "Other revenue" was
$15.247m, so FY2022 "Other" was at most that; taking FY2022 advertising at ~$655m gives
(2,062.480/655)^(1/3) − 1 ≈ 46.6%. The licensing contribution to the 48.9% headline is ≈ 2.3pp.
Labelled as an estimate because the FY2022 split is not filed.
2. Profitability
| $m | FY2023 | FY2024 | FY2025 | Q1'25 | Q1'26 | TTM to 2026-03-31 |
|---|---|---|---|---|---|---|
| Operating income (loss) | (140.2) | (560.6) | 442.0 | 3.903 | 182.912 | 621.0 |
| Operating margin | −17.4% | −43.1% | +20.1% | +1.0% | +27.6% | +25.11% |
| Net income (loss) | (90.8) | (484.3) | 529.7 | 26.158 | 203.981 | 707.5 |
| Stock-based compensation | 47.6 | 801.6 | 343.2 | 85.4 | 68.3 | 326.1 |
| CFO | (75.1) | 222.1 | 690.9 | 127.6 | 312.3 | 875.6 |
| Gross margin | n/d | 90.5% | 91.2% | 90.5% | 91.5% | ~91.3% |
TTM operating income = 442.0 + 182.912 − 3.903 = 621.009 → 621.009 / 2,473.556 = 25.11%
TTM net income = 529.7 + 203.981 − 26.158 = 707.523
TTM CFO = 690.9 + 312.3 − 127.6 = 875.6 → CFO/NI = 1.24x
The screen's op_margin_pct = 20.1 is FY2025 operating income over FY2025 revenue, then presented
alongside a TTM revenue figure. On a consistent TTM basis the margin is 25.11% — 5.0pp higher.
The screen's op_margin_delta_pp = 63.2 = 20.1% − (−43.1%). Arithmetically right, economically
misleading. Ex-SBC:
FY2024 ex-SBC operating income = −560.6 + 801.6 = +241.0 → +18.54% of 1,300.205
FY2025 ex-SBC operating income = +442.0 + 343.2 = +785.2 → +35.65% of 2,202.506
Ex-SBC margin expansion = +17.11pp (not +63.2pp)
FY2024 SBC contained a $577.5m single-quarter charge in Q1 2024 — the IPO RSU catch-up.
Gross profit is not XBRL-tagged. Reddit publishes no us-gaap:GrossProfit. The screen returned
gross_margin_pct: null. Under calibration item D1 that is INDETERMINATE, not FAIL — and the fact is
available in the MD&A: 91.5% (Q1'26), 91.2% (FY2025), 90.5% (FY2024).
3. Balance sheet and the net-cash bridge
As of 2026-03-31 (Q1 2026 10-Q, in $000):
| 2026-03-31 | 2025-12-31 | |
|---|---|---|
| Cash and cash equivalents | 1,374,348 | 953,569 |
| Marketable securities | 1,396,284 | 1,523,242 |
| Accounts receivable, net | 522,905 | 590,162 |
| Total assets | 3,484,283 | 3,239,173 |
| Accounts payable | 51,743 | 62,929 |
| Operating lease liabilities, current | 7,170 | 7,023 |
| Operating lease liabilities, noncurrent | 14,118 | 16,191 |
| Total liabilities | 304,567 | 310,135 |
| Debt | NONE | NONE |
| Total stockholders' equity | 3,179,716 | 2,929,038 |
Net-cash bridge:
Cash and cash equivalents 1,374.348
+ Marketable securities 1,396.284
− Operating lease liabilities (7.170 + 14.118) (21.288)
− Debt 0.000
= NET CASH 2,749.344
The screen used $1,374.348m — CashAndCashEquivalentsAtCarryingValue alone. Reddit holds more in
marketable securities than in cash. Net cash understated by 50.0%; EV overstated by $1,375.0m (+4.1%).
DSO check (the Applied Optoelectronics failure mode): 522,905 / 663,411 × 90 = 70.9 days, and
receivables fell $67.3m while quarterly revenue rose $271.1m. There is no receivable build and no
distributor. No analogue.
4. Share count — the dual-class check, run in both directions
| Shares | |
|---|---|
| Class A outstanding, 2026-04-29 (10-Q cover) | 141,965,642 |
| Class B outstanding, 2026-04-29 (10-Q cover) | 50,543,398 |
| Class C outstanding | 0 (100,000,000 authorised) |
| Total outstanding | 192,509,040 |
| Class A, balance sheet 2026-03-31 | 141,867,916 |
| Class B, balance sheet 2026-03-31 | 50,543,398 |
| Total, balance sheet 2026-03-31 | 192,411,314 |
| Basic weighted-average, Q1'26 | 191,518,973 |
| Diluted weighted-average, Q1'26 | 202,524,173 |
Cross-check as instructed — net income ÷ shares ≈ filed EPS:
203,981 / 191,518,973 = $1.0651 vs filed basic $1.07 ✓
203,981 / 202,524,173 = $1.0072 vs filed diluted $1.01 ✓
Both tie to the cent of the filed figure. The share count is confirmed from two independent directions, and the three-class structure is fully resolved (C is authorised but unissued).
The screen's shares: 202,524,173 is the diluted weighted average, not an outstanding count. For an EV
base on a company running 11.9% SBC-to-revenue, diluted is the defensible choice and it is what this memo
uses — but the field is mislabelled, and on outstanding shares the market cap is $34,333.7m, 4.9% lower
than the $36,119.2m the screen reports.
5. Valuation inputs, assembled
| Input | Value | Derivation |
|---|---|---|
| Spot | $178.345 | Alpaca close 2026-07-28 |
| Shares (diluted) | 202.524173m | §4 |
| Market cap | $36,119.2m | 178.345 × 202.524173 |
| Net cash | $2,749.344m | §3 |
| Enterprise value | $33,369.8m | 36,119.2 − 2,749.3 |
| TTM revenue | $2,473.556m | §1 |
| EV/Sales | 13.49x | 33,369.8 / 2,473.556 |
| TTM EBIT | $621.0m | §2 |
| EV/EBIT (TTM) | 53.7x | 33,369.8 / 621.0 |
| Terminal margin | 25.11% | max(own TTM 25.11%, growth-matched peer median 14.6%) |
| Exit multiple | 24.2x EV/EBIT | median EV/EBIT of 135 names with growth in 24.5–73.4% and EV ≥ $100m |
| WACC | 10.0% | framework standard |
| Horizon | 5 years | framework standard |
Reverse DCF output: required revenue CAGR 29.0%/yr. Demonstrated 48.9%. Margin +19.9pp.
6. Own multiple history — construction
| Price series | Alpaca daily bars, split-adjusted, IEX feed, 2024-03-21 (IPO) → 2026-07-28 (589 sessions) |
| Revenue series | As-known TTM, stepped in at each 10-K/10-Q filing date — so the series is never forward-looking. Nine step points from 2024-05-08 to 2026-05-01. |
| Shares / net cash | Held fixed at the verified current values. This makes the series a measure of multiple movement, which is what a percentile is for. Basis stated, not silent. |
| Usable sessions | 556 (from 2024-05-08, the first date with an as-known TTM behind it) |
| EV/Sales, diluted | EV/Sales, outstanding | |
|---|---|---|
| Current | 13.49x | 12.77x |
| Minimum | 7.68x | 7.16x |
| p25 | 11.89x | 11.23x |
| Median | 14.88x | 14.08x |
| p75 | 22.84x | 21.62x |
| Maximum | 38.20x | 36.19x |
| Current percentile | 41st | 41st |
Regime split. Median EV/Sales before 2025-07-28: 13.99x. Median over the trailing 12 months:
18.18x (n=252), with the current 13.49x at the 38th percentile of that sub-window. The series is
not stationary, which is one of three reasons the 12-month multiple anchor is declared UNIDENTIFIED
(RDDT_Valuation.md §2.2).
7. NTM revenue build — house, not consensus, and flagged as the weakest input
No Street consensus was obtainable. Alpha Vantage EARNINGS_ESTIMATES shares the same free-tier 25/day
cap as the transcript endpoint, and the cap was exhausted by parallel runs before this memo started.
valuation.md step 1 ("start from near-term consensus") could not be satisfied, and no consensus figure
is quoted anywhere in this memo.
The build, from the company's own guided quarter forward:
| Quarter | Revenue | YoY | Basis |
|---|---|---|---|
| Q2 2026 | $720m | +44.1% | Company guidance $715–725m, 8-K 2026-04-30 |
| Q3 2026E | $801m | +37% | House: 5pp deceleration off Q2 guide, on Q3'25 $584.9m |
| Q4 2026E | $943m | +30% | House: 7pp deceleration, on Q4'25 $725.6m |
| Q1 2027E | $829m | +25% | House: 5pp deceleration, on Q1'26 $663.4m |
| Q2 2027E | $871m | +21% | House: 4pp deceleration, on Q2'26 $720m |
| NTM (Q3'26E–Q2'27E) | $3,444m | +39% on TTM | Sum |
Sanity check on the deceleration assumption: Q1'26 printed +69% and Q2'26 is guided at +44% — a 25pp step down in one quarter. A further 5pp/quarter decay to +21% by Q2'27 is slower than the deceleration the company has just guided, so the build is not aggressive. It is nonetheless a house forecast and the single softest number in this memo.
8. Mention frequency — method
| Intended source | Alpha Vantage EARNINGS_CALL_TRANSCRIPT, per the skill's scope_unpublished.py transcripts |
| Outcome | Zero transcripts retrieved. The API returned {"Information": "…standard API rate limit is 25 requests per day…"} for all eight requested quarters. The fetcher correctly refused to cache the rate-limit body (a known cache-poisoning failure mode). |
| Substitute used | Quarterly Letter to Shareholders, Exhibit 99.2 to each Form 8-K Item 2.02, retrieved from EDGAR — nine consecutive quarters, 2024Q1 through 2026Q1 |
| Why this substitute | Management's own written prepared remarks, filed, dated, primary. The closest available analogue to prepared remarks. It is not a call transcript and carries no analyst Q&A, so the "unprompted in prepared remarks" signal is present but the "answered under questioning" signal is absent. Labelled as such at every point of use. |
| Normalisation | Per 10,000 words. Letter lengths range 5,716–6,875 words. The raw-count series must not be read: a real prior failure (ISRG) produced a false 4→10→25 "ramp" purely from a 2,400-word call against a 10,000-word norm. |
Word counts, so the normalisation is checkable: 2024Q1 6,031 · Q2 6,875 · Q3 6,621 · Q4 6,371 · 2025Q1 5,927 · Q2 6,158 · Q3 5,917 · Q4 5,861 · 2026Q1 5,716.
9. Screen-input audit — the four corrections, consolidated
| Field | Screen | Filed / corrected | Error | Direction of effect |
|---|---|---|---|---|
net_cash |
$1,374,348,000 | $2,749,344,000 | −50.0% | EV +4.1% too high → required CAGR too high → screen too harsh |
op_margin_pct |
20.1% (FY basis) | 25.11% (TTM basis) | −5.0pp | terminal margin too low → required CAGR too high → screen too harsh |
shares |
202,524,173, labelled shares |
diluted WA — outstanding is 192,509,040 | mislabel | none on EV (diluted is the right base); the label is wrong |
gross_margin_pct |
null |
91.5% | missing tag ≠ missing fact | D1: INDETERMINATE, not FAIL |
revenue_ttm |
$2,473,556,000 | $2,473,556,000 | none | ✓ verified exact |
revenue_cagr_demonstrated |
48.9% | 48.9% (FY2022→FY2025) | none | ✓ verified; window now named |
| Net effect on the Valuation Criteria | required 37.0%, margin +11.9pp | required 29.0%, margin +19.9pp | +8.0pp | The screen understated the margin by 8.0pp. |
10. Provenance
- Form 10-Q, quarter ended 2026-03-31, filed 2026-05-01, accession
0001713445-26-000069 - Form 10-K, year ended 2025-12-31, filed 2026-02-06, accession
0001713445-26-000022 - Form 10-K, year ended 2024-12-31, filed 2025-02-13, accession
0001713445-25-000018 - Form 8-K Item 2.02, filed 2026-04-30, accession
0001713445-26-000067, Exhibits 99.1 / 99.2 - Quarterly Letters to Shareholders, Ex-99.2 to 8-K Item 2.02, 2024Q1–2026Q1 (nine filings)
data.sec.govXBRL companyfacts, CIK 0001713445, retrieved 2026-07-29- Alpaca Markets: daily bars (split-adjusted, IEX feed) and options snapshots, close 2026-07-28
reports/scan_all_v2/RDDT_analysis.json(Tier-1 screen), as of 2026-07-28reports/scan_all_v2/*.json— 4,018 records withstatus == OK, used for the growth-matched comparator set