SPS Commerce [SPSC]
Every figure traced to a filed document. USD thousands unless marked.
| Quarter | Revenue | YoY |
|---|---|---|
| Q1-2022 | 105,193 | |
| Q2-2022 | 109,178 | |
| Q3-2022 | 114,486 | |
| Q4-2022 | 122,018 (FY22 450,875 − 9M 328,857) | |
| Q1-2023 | 125,868 | +19.7% |
| Q2-2023 | 130,416 | +19.5% |
| Q3-2023 | 135,661 | +18.5% |
| Q4-2023 | 144,965 | +18.8% |
| Q1-2024 | 149,576 | +18.8% |
| Q2-2024 | 153,596 | +17.8% |
| Q3-2024 | 163,686 | +20.7% |
| Q4-2024 | 170,907 | +17.9% |
| Q1-2025 | 181,549 | +21.4% |
| Q2-2025 | 187,400 | +22.0% ← peak |
| Q3-2025 | 189,904 | +16.0% |
| Q4-2025 | 192,652 | +12.7% |
| Q1-2026 | 192,121 | +5.8% |
TTM to 2026-03-31 = 762,077 (FY2025 751,505 − Q1-2025 181,549 + Q1-2026 192,121). Matches the screen exactly.
Fiscal years: FY2021 385,276 · FY2022 450,875 · FY2023 536,910 · FY2024 637,765 · FY2025 751,505. - 3-year CAGR FY2022→FY2025 = 18.57% — this is the screen's 18.6%. - 4-year CAGR FY2021→FY2025 = 18.18%.
Q1-2026 is the first sequential revenue decline in the disclosed series ($192,652 → $192,121). The "100th consecutive quarter of revenue growth" claim is measured year-over-year and survives; the sequential print does not.
Guidance (Q1-2026 release, 2026-04-30): Q2-2026 revenue $194.5–196.5m (+4–5%); FY2026 revenue $796.0–802.0m (+6–7%); FY2026 GAAP diluted EPS $2.66–2.69; non-GAAP diluted EPS $4.73–4.76; adjusted EBITDA $262.8–267.3m (+14–16%); diluted share count 37.3m.
| FY2023 | FY2024 | FY2025 | Q1-2025 | Q1-2026 | TTM | |
|---|---|---|---|---|---|---|
| Revenues | 536,910 | 637,765 | 751,505 | 181,549 | 192,121 | 762,077 |
| Cost of revenues | 56,914 | 59,217 | ||||
| Gross profit | 124,635 | 132,904 | ||||
| Gross margin | 69.2% | 68.7% | 69.2% | |||
| Sales and marketing | 41,634 | 44,734 | ||||
| Research and development | 17,439 | 17,917 | ||||
| General and administrative | 31,018 | 36,374 | ||||
| Amortisation of intangibles | 13,659 | 23,510 | 37,169 | 8,588 | 9,320 | |
| Income from operations | 77,248 | 88,883 | 118,303 | 25,956 | 24,559 | 116,906 |
| Operating margin | 14.4% | 13.9% | 15.7% | 14.3% | 12.8% | 15.3% |
| Other income, net | 10,593 | 5,532 | 2,207 | 1,405 | ||
| Income tax expense | 22,422 | 30,496 | 5,967 | 6,235 | ||
| Net income | 65,824 | 77,054 | 93,339 | 22,196 | 19,729 | |
| Diluted EPS | $1.76 | $2.04 | $2.46 | $0.58 | $0.53 |
Three things the screen's op_margin_delta_pp: +1.8 hides:
1. It is FY2025-vs-FY2024. The current direction is −1.5pp (12.8% vs 14.3%).
2. GAAP operating income fell 5.4% YoY in Q1-2026 ($24,559 vs $25,956) on +5.8% revenue.
3. Amortisation of acquired intangibles nearly tripled FY2023→FY2025 ($13.7m → $37.2m) — an
acquisition-driven charge that is then added back in the non-GAAP figures used to guide.
EPS cross-check (the brief's net income ÷ shares ≈ filed EPS test), Q1-2026:
19,729 ÷ 37,442 (weighted diluted, thousands) = $0.527 vs filed diluted $0.53. ✓
Basic: 19,729 ÷ 37,379 = $0.528 vs filed basic $0.53. ✓ Single share class; no Up-C, no NCI, no trap.
| 2025-12-31 | 2026-03-31 | |
|---|---|---|
| Cash and cash equivalents | 151,355 | 154,271 |
| Marketable securities | — | none |
| Accounts receivable, gross | 75,295 | 72,003 |
| Allowance for credit losses | (7,129) | (6,897) |
| Deferred costs (current + non-current) | 87,412 | 86,200 |
| Goodwill | 541,719 | 540,836 |
| Intangible assets, net | 215,815 | 206,069 |
| Total assets | 1,169,859 | 1,161,208 |
| Deferred revenue (current + non-current) | 80,878 | 85,700 |
| Operating lease liabilities (current + non-current) | 7,192 | 6,618 |
| Deferred income tax liabilities | 33,201 | 33,801 |
| Debt of any kind | 0 | 0 |
| Total liabilities | 195,966 | 199,048 |
| Total stockholders' equity | 973,893 | 962,160 |
Net cash = $154,271 (cash only). $147,653 if operating lease liabilities are deducted — a 0.3% effect on EV, immaterial, and disclosed here so the choice is visible.
The screen's $154,271 is correct. No convertibles, no marketable securities portfolio, no finance leases,
no TRA. The MarketableSecuritiesNoncurrent tag exists in companyfacts but is a historical concept with no
current-period value — a filer-level trap that did not fire here.
Share count: cover page dei:EntityCommonStockSharesOutstanding = 36,712,702 (as of the 2026-04-30
filing date). Balance sheet at 2026-03-31: 40,240,558 issued less 3,292,276 treasury = 36,948,282
outstanding. Both are correct for their respective dates; the screen used the cover figure, which is the more
recent. Difference 0.6% — immaterial.
Receivables quality: DSO ≈ 31 days ($72.0m gross ÷ $192.1m × 91). Receivables fell while revenue grew. No build, no channel exposure, no single distributor. Largest customer <1% of revenue for each of FY2023, FY2024 and FY2025.
| Target | Effective | Cash | Equity (treasury shares) | Total | Goodwill | Customer relationships | Developed tech |
|---|---|---|---|---|---|---|---|
| Vision33 SAP B1 tech | 2024-04-10 | $3.3m (+$1.0m deferred) | — | $4.3m | $2.2m | $0.4m | $1.7m |
| Traverse Systems | 2024-05-08 | $25.0m | 22,874 sh @ $4.4m | $29.4m | — | disclosed | disclosed |
| SupplyPike | 2024-07-31 | $124,769 | 404,587 sh @ $87,156 | $211,925 | $133,829 | $62,967 | $21,090 |
| Carbon6 | 2025-02-04 | $144,855 | 378,100 sh @ $67,672 | $212,527 | $136,272 | $44,535 | $29,370 |
Goodwill trajectory: $143,663 (FY2021) → $197,284 (FY2022) → $199,001 (Q1-2023) → $540,836 (Q1-2026).
Carbon6 pro forma (FY2025 10-K Note B, unaudited):
| FY2025 | FY2024 | |
|---|---|---|
| Pro forma revenue | 755,686 | 680,890 |
| Actual revenue | 751,505 | 637,765 |
| Implied Carbon6 standalone revenue | 4,181 (Jan-2025 stub) | 43,125 (full FY2024) |
Independent corroboration (auditor's ICFR scope exclusion, a different disclosure written for a different purpose): "Carbon6 … represented … approximately 5% of consolidated revenues for the year ended December 31, 2025" → ~$37.6m of FY2025 revenue, i.e. 33% of the $113.7m FY2025 revenue increase from one deal.
The pro forma still overstates organic, because it adjusts for Carbon6 only. SupplyPike (5 months in FY2024, 12 in FY2025), Traverse (≈7.8 months / 12) and Vision33 (≈8.7 months / 12) each contribute incremental acquired months to FY2025 that the pro forma leaves in. SupplyPike's revenue is not disclosed and I have not estimated a point figure for it.
Estimated organic FY2025 revenue growth: ~9–11% (floor = the company's own audited pro forma of 11.0% less the un-adjusted 2024 deals). Reported: 17.8%. Screened: 18.6%. Roughly 40–45% of FY2025 reported growth was acquired.
| FY2024 | FY2025 | Δ | |
|---|---|---|---|
| Recurring revenue customers | ~45,350 | ~54,600 | +9,250 (+20%) |
| — of which added by Carbon6 (Feb-2025) | — | ~8,500 | 92% of net adds |
| — of which 1P | — | ~46,900 | |
| — of which 3P | — | ~7,700 | mostly Carbon6 Amazon sellers |
| Implied organic net adds | — | ~750 | +1.7% |
Prior-year acquired adds: ~50 customers from Traverse (May 2024), ~200 from SupplyPike (July 2024).
Company definition: "annualized recurring revenues for the period divided by the average of the beginning and ending number of recurring revenue customers."
Reported: $13,300 (FY2024) → $14,350 (FY2025), +8%. Verified: $718,000 ÷ ((45,350 + 54,600) / 2 = 49,975) = $14,367 ✓
The 8,500 Carbon6 customers arrived in February 2025 — mid-period. They add ~11 months of (low) revenue to the numerator but only half of 8,500 to the denominator. Reported ARPU therefore rose 8% in the same year 15% of the customer base arrived at explicitly below-average ARPU. No organic ARPU is disclosed.
Recurring revenues: $718.0m in FY2025, +20%, = 96% of total (94% in FY2024 and FY2023).
SPSC_Valuation.md is company guidance (Q2-2026 and FY2026) plus a labelled +6.0%
extrapolation for FY2027 quarters. No consensus was used (Alpha Vantage quota; Consensus Criteria
INDETERMINATE).