BMI · XBRL financial data
Badger Meter 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 (BMI's year ends in late December)
| In thousands of dollars | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Revenue from contracts with customers | 425,544 | 505,198 | 565,568 | 703,592 | 826,558 | 916,663 |
| Cost of goods and services sold | 257,295 | 299,714 | 345,598 | 427,154 | 497,374 | 534,593 |
| Gross profit | 168,249 | 205,484 | 219,970 | 276,438 | 329,184 | 382,070 |
| Research and development | 11,600 | 14,700 | 15,800 | 19,000 | 19,200 | 21,600 |
| Selling, general and administrative | 103,093 | 126,761 | 132,675 | 158,389 | 171,248 | 198,649 |
| Operating income (loss) | 65,156 | 78,723 | 87,295 | 118,049 | 157,936 | 183,421 |
| Income tax expense (benefit) | 15,638 | 17,739 | 21,221 | 29,368 | 41,558 | 47,023 |
| Net income (loss) | 49,343 | 60,884 | 66,496 | 92,598 | 124,942 | 141,634 |
| Earnings per share, basic USD per share | 1.70 | 2.09 | 2.28 | 3.16 | 4.26 | 4.82 |
| Earnings per share, diluted USD per share | 1.69 | 2.08 | 2.26 | 3.14 | 4.23 | 4.79 |
| Weighted average shares, basic thousands of shares | 29 | 29 | 29 | 29 | 29 | 29,398 |
| Weighted average shares, diluted thousands of shares | 29 | 29 | 29 | 29 | 30 | 29,569 |
Balance sheet
CSVFiscal years (BMI's year ends in late December)
Cash flows
CSVFiscal years (BMI's year ends in late December)
| In thousands of dollars | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Net income (loss) | 49,343 | 60,884 | 66,496 | 92,598 | 124,942 | 141,634 |
| Stock-based compensation | 1,415 | 2,330 | 3,148 | 5,188 | 6,182 | 9,190 |
| Net cash from operating activities | 89,578 | 87,510 | 82,451 | 110,117 | 155,034 | 183,698 |
| Purchases of property and equipment | 9,059 | 6,746 | 5,891 | 12,003 | 12,818 | 14,026 |
| Net cash from investing activities | (38,193) | (51,423) | (5,891) | (29,130) | (15,818) | (198,050) |
| Share repurchases | 3,116 | 460 | 427 | 0 | 0 | 15,002 |
| Dividends paid | 20,340 | 22,155 | 24,881 | 29,052 | 35,847 | 43,529 |
| Net cash from financing activities | (27,819) | (20,507) | (24,605) | (28,085) | (35,096) | (57,977) |
| Net change in cash | 23,402 | 14,901 | 50,878 | 53,730 | 103,523 | (69,289) |
Compare with peers
SIC 3824 and related industry codes, similar size. Each row is the latest quarter reported.
How peers are chosen
- SIC 3824 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.
- * marks a quarter worked out from the filing totals: for a 10-Q, the year-to-date total less the earlier one.
| Company | Cash ($K) | Revenue, quarter ($K) | Operating cash flow, quarter ($K) | Shares outstanding | Quarter |
|---|---|---|---|---|---|
| Badger Meter | 67,928 | 235,938 | 43,274* | 28.6M | 10-QSep 30, 2026 |
| MKS | 454,000 | 1,248,000 | 243,000* | 67.6M | 10-QJun 30, 2026 |
| Itron | 840,323 | 599,333 | 101,953* | 43.9M | 10-QSep 30, 2026 |
| Avantor | 464,300 | 1,698,300 | 195,100* | 677.6M | 10-QSep 30, 2026 |
| Illumina | 1,289,000 | 1,129,000 | 419,000* | 151.2M | 10-QSep 27, 2026 |
| Vontier | 265,800 | 756,700 | 116,300* | 135.2M | 10-QJul 3, 2026 |
| Cognex | 302,521 | 291,263 | 69,153* | 168.2M | 10-QJul 5, 2026 |
| Onto Innovation | 1,253,205 | 343,129 | 61,507* | 49.1M | 10-QJun 30, 2026 |
| Mirion Technologies | 408,700 | 277,800 | 59,200* | not reported | 10-QSep 30, 2026 |
Not investment advice. Not affiliated with the U.S. SEC.