BEKE · XBRL financial data
KE Holdings financial statements, every fiscal year
The same tables from 6 filings, lined up. Matched by XBRL tag: renamed lines keep their history.
How these numbers work
- Every number comes from the company's XBRL financial data filed with the SEC, and each one links to its filing.
- Lines are matched by XBRL tag, so a line renamed between filings keeps its history.
- * marks a quarter worked out from the filing totals: the 10-K year minus the first three quarters, or a year-to-date total minus the earlier one. Fourth-quarter earnings per share is fourth-quarter net income over the fourth-quarter weighted shares.
- 0 means a filing states zero; a dash (—) means no filing states that number.
- “year only” means the 10-K gives the full year but not the quarters needed to work out the fourth. A worked-out quarter of revenue, cost of revenue or operating cash flow more than twice the company's largest quarter of the two years before is shown this way too.
- Gross profit is shown as the company reports it; a worked-out quarter must equal revenue less cost of revenue for that quarter, or it is a dash.
- Operating income can be above gross profit when the company books other operating income between the two, shown on its own line.
- Shares outstanding come from each filing's cover page, as of the date printed there.
- Quarters are fiscal: Q2 FY27 is the second quarter of the company's fiscal 2027.
Income statement
CSVFiscal years (BEKE's year ends in late December)
| In millions of CNY | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Revenue from contracts with customers | 70,481 | 80,752 | 60,669 | 77,777 | 93,457 | 94,580 |
| Cost of revenue | 53,621 | 64,933 | 46,888 | 56,059 | 70,513 | 74,368 |
| Gross profit | 16,860 | 15,819 | 13,781 | 21,718 | 22,944 | 20,212 |
| Research and development | 2,478 | 3,194 | 2,546 | 1,937 | 2,283 | 2,581 |
| General and administrative | 7,589 | 8,924 | 7,347 | 8,237 | 8,961 | 8,075 |
| Total operating expenses | 14,018 | 17,174 | 14,614 | 16,921 | 19,179 | 18,101 |
| Operating income (loss) | 2,842 | (1,355) | (833) | 4,797 | 3,765 | 2,111 |
| Interest income | — | 426 | 767 | 1,413 | 253 | — |
| Interest expense | 188 | 6 | 14 | 17 | 13 | 7 |
| Other income (expense) | 1,056 | 1,702 | 1,569 | 1,869 | 1,566 | 1,446 |
| Income tax expense (benefit) | 1,609 | 1,665 | 1,690 | 1,994 | 2,792 | 1,686 |
| Net income (loss) | 2,778 | (524) | (1,386) | 5,883 | 4,065 | 2,994 |
| Earnings per share, basic CNY per share | 0.32 | (0.15) | (0.39) | 1.67 | 1.19 | 0.90 |
| Earnings per share, diluted CNY per share | 0.32 | (0.15) | (0.39) | 1.63 | 1.15 | 0.86 |
| Weighted average shares, basic millions of shares | 2,226 | 3,549 | 3,569 | 3,521 | 3,410 | 3,326 |
| Weighted average shares, diluted millions of shares | 2,267 | 3,549 | 3,569 | 3,612 | 3,537 | 3,472 |
Balance sheet
CSVFiscal years (BEKE's year ends in late December)
Cash flows
CSVFiscal years (BEKE's year ends in late December)
| In millions of CNY | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Net income (loss) | 2,778 | (524) | (1,386) | 5,883 | 4,065 | 2,994 |
| Stock-based compensation | 2,253 | 1,538 | 2,425 | 3,216 | 2,726 | 1,905 |
| Net cash from operating activities | 9,362 | 3,595 | 8,461 | 11,158 | 9,447 | (376) |
| Net cash from investing activities | (14,978) | (24,884) | (8,472) | (3,977) | (9,378) | 5,894 |
| Proceeds from issuing common stock | 15,284 | — | — | — | — | — |
| Share repurchases | — | — | 1,320 | 5,151 | 5,101 | 6,581 |
| Dividends paid | — | — | — | 1,426 | 2,831 | 2,881 |
| Net cash from financing activities | 25,406 | (1,074) | (1,155) | (6,962) | (5,795) | (9,793) |
| Net change in cash | 17,607 | (22,805) | (1,138) | 263 | (5,556) | (4,358) |
Compare with peers
SIC 6531 and related industry codes, similar size. Each row is the latest quarter reported.
How peers are chosen
- SIC 6531 and related industry codes with public float (or, where float is missing, quarterly revenue) between 0.2x and 5x the company's.
- Each row is the latest quarter the company has reported, named in the Quarter column; when that filing is a 10-K, it is the fourth quarter, never the full year.
- Runway shows only for companies burning cash with under $10B of public float.
- * marks a quarter worked out from the filing totals: for a 10-Q, the year-to-date total less the earlier one.
- A cell reading “not reported” means the filings give no figure for that quarter alone.
- A cell reading “year only” links to a 10-K that gives only the full year: without all three earlier quarters there is no fourth quarter to work out, and the year total is never shown as a quarter.
| Company | Cash ($M) | Revenue, quarter ($M) | Operating cash flow, quarter ($M) | Shares outstanding | Runway | Quarter |
|---|---|---|---|---|---|---|
| KE Holdings | 7,773 | year only | year only | not reported | — | 20-FDec 31, 2025 |
| AGNT | 111 | 1,450 | 39* | 167.1M | — | 10-QJun 30, 2026 |
| Compass | 694 | 4,306 | 191* | 757.5M | — | 10-QJun 30, 2026 |
| Douglas Elliman | 105 | 283 | 12* | 90.9M | — | 10-QJun 30, 2026 |
| Fathom Holdings | 4.5 | 115 | (4.5)* | 34.2M | 1.0 quarters | 10-QJun 30, 2026 |
| Galaxy Enterprises | 0 | not reported | (0)* | 4.2M | 0.7 quarters | 10-QApr 30, 2026 |
| Anywhere Real Estate | 139 | 1,626 | 118* | 112.1M | — | 10-QSep 30, 2025 |
| Jones Lang Lasalle | 514 | 7,281 | 610* | 45.7M | — | 10-QSep 30, 2026 |
| Linkhome Holdings | 5.1 | 5.4 | 1.6* | 16.5M | — | 10-QJun 30, 2026 |
Not investment advice. Not affiliated with the U.S. SEC.
