VNET Group, Inc.

VNETdata completeness 75%15 fiscal years on file
The thesis, from the filings

VNET Group, Inc. earns about 9% on invested capital, but has diluted owners by 77% over 5 years — worth asking whether the growth reaches owners. The cash-flow models don't apply cleanly here — the ledger says why below.Whether it’s worth owning at today’s price is the last question — and yours to answer, below.

i. The business — what you’d actually own
FigureFY 2021FY 2022FY 2023FY 2024FY 2025
Revenue
Net income$78.5M1−$112.5M2−$372.4M3$25.1M4−$36M5
Operating cash flow$217.8M6$353.8M7$290.6M8$274.7M9$274.4M10
Capital expenditure$422.4M11$434.3M12$418M13$674.5M14$1.09B15
Free cash flow (derived)−$204.6M6−$80.5M7−$127.3M8−$399.8M9−$820.5M10
Total debt$60.3M16$70.2M17
Cash & equivalents$215.4M18$385.9M19$316M20$204.5M21$789.9M22
Diluted shares911.6M886.8M901.1M1.74B1.61B

Superscripts are receipts. Each links to the SEC filing the number came from (full list at the bottom).

ii. Your slice — ownership made literal
If you owned
shares
Net assets behind them
$5.52
your share of equity
Profit it earned you last year
−$0.22
Free cash flow it threw off
−$5.09
Debt you’d be carrying

10 shares is a claim on $5.52 of net worth that earned you −$0.22 and generated −$5.09 of cash last year.

iii. Is this a good business?
Moat signal · return on invested capital
9% avg · 5y
FY21 13%FY22 -6%FY23 -46%FY24 9%FY25 73%

It earned an average 9% on invested capital over 5 years. Compare that to what it costs to fund the business.

seeing a moat in the numbers →
Management signal · capital allocation
+77% shares · 5y

Share count is up 77% over 5 years — owners have been diluted. Worth asking what they got for it. Total debt has risen 16% over the same window.

reading capital allocation →

Signals, not verdicts — read from the filings above. Numbers don’t prove a moat; they show its footprint. You decide.

iv. What it’s worth — engine v0.1.0
DCF · Growth Exit 10Y
not applicable
3y-median FCF non-positive — growth-exit DCF not applicable (see EPV)
DCF · Growth Exit 5Y
not applicable
3y-median FCF non-positive — growth-exit DCF not applicable (see EPV)
Earnings Power Value
not applicable
normalized (5y-median) earnings non-positive — EPV undefined
Graham Number
not applicable
diluted EPS missing or non-positive — Graham Number undefined

Different models answer different questions — which to trust when →

Sources — the receipts
  1. 20-F · period ending 2021-12-31 · accession 0001104659-22-050369 (NetIncomeLoss)
  2. 20-F · period ending 2022-12-31 · accession 0001104659-23-050330 (NetIncomeLoss)
  3. 20-F · period ending 2023-12-31 · accession 0001104659-24-052273 (NetIncomeLoss)
  4. 20-F · period ending 2024-12-31 · accession 0001410578-25-000905 (NetIncomeLoss)
  5. 20-F · period ending 2025-12-31 · accession 0001104659-26-044361 (NetIncomeLoss)
  6. 20-F · period ending 2021-12-31 · accession 0001104659-22-050369 (NetCashProvidedByUsedInOperatingActivities)
  7. 20-F · period ending 2022-12-31 · accession 0001104659-23-050330 (NetCashProvidedByUsedInOperatingActivities)
  8. 20-F · period ending 2023-12-31 · accession 0001104659-24-052273 (NetCashProvidedByUsedInOperatingActivities)
  9. 20-F · period ending 2024-12-31 · accession 0001410578-25-000905 (NetCashProvidedByUsedInOperatingActivities)
  10. 20-F · period ending 2025-12-31 · accession 0001104659-26-044361 (NetCashProvidedByUsedInOperatingActivities)
  11. 20-F · period ending 2021-12-31 · accession 0001104659-22-050369 (PaymentsToAcquirePropertyPlantAndEquipment)
  12. 20-F · period ending 2022-12-31 · accession 0001104659-23-050330 (PaymentsToAcquirePropertyPlantAndEquipment)
  13. 20-F · period ending 2023-12-31 · accession 0001104659-24-052273 (PaymentsToAcquirePropertyPlantAndEquipment)
  14. 20-F · period ending 2024-12-31 · accession 0001410578-25-000905 (PaymentsToAcquirePropertyPlantAndEquipment)
  15. 20-F · period ending 2025-12-31 · accession 0001104659-26-044361 (PaymentsToAcquirePropertyPlantAndEquipment)
  16. 20-F · period ending 2021-12-31 · accession 0001104659-22-050369 (LongTermDebtCurrent)
  17. 20-F · period ending 2022-12-31 · accession 0001104659-23-050330 (LongTermDebtCurrent)
  18. 20-F · period ending 2021-12-31 · accession 0001104659-22-050369 (CashAndCashEquivalentsAtCarryingValue)
  19. 20-F · period ending 2022-12-31 · accession 0001104659-23-050330 (CashAndCashEquivalentsAtCarryingValue)
  20. 20-F · period ending 2023-12-31 · accession 0001104659-24-052273 (CashAndCashEquivalentsAtCarryingValue)
  21. 20-F · period ending 2024-12-31 · accession 0001410578-25-000905 (CashAndCashEquivalentsAtCarryingValue)
  22. 20-F · period ending 2025-12-31 · accession 0001104659-26-044361 (CashAndCashEquivalentsAtCarryingValue)