SGRP · XBRL financial data
SPAR Group financial statements, every fiscal year
The same tables from 10 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 (SGRP'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 |
|---|---|---|---|---|---|---|
| Cost of revenue | 185,329 | 208,197 | 201,452 | 202,070 | 130,032 | 114,411 |
| Gross profit | 45,188 | 47,522 | 51,012 | 55,480 | 33,597 | 21,693 |
| Selling, general and administrative | 33,336 | 36,778 | 41,135 | 43,673 | 33,880 | 32,197 |
| Operating income (loss) | 9,722 | 4,183 | 5,386 | 9,398 | 700 | (16,903) |
| Other income (expense) | 242 | 510 | 482 | (346) | (171) | (1,235) |
| Income tax expense (benefit) | 312 | 2,108 | 2,777 | 2,357 | 144 | 4,073 |
| Net income (loss) | 3,367 | (1,779) | 2,126 | 3,902 | (3,150) | (24,626) |
| Earnings per share, basic USD per share | 0.16 | (0.08) | (0.03) | 0.17 | (0.13) | (1.04) |
| Earnings per share, diluted USD per share | 0.16 | (0.08) | (0.03) | 0.16 | (0.13) | (1.04) |
| Weighted average shares, basic thousands of shares | 21,110 | 21,266 | 22,110 | 23,333 | 23,555 | 23,619 |
| Weighted average shares, diluted thousands of shares | 21,155 | 21,266 | 22,110 | 24,455 | 23,729 | 23,619 |
Balance sheet
CSVFiscal years (SGRP's year ends in late December)
Cash flows
CSVFiscal years (SGRP'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) | 3,367 | (1,779) | 2,126 | 3,902 | (3,150) | (24,626) |
| Stock-based compensation | 136 | 711 | 346 | 297 | 137 | 140 |
| Net cash from operating activities | 8,801 | 2,629 | (5,044) | 6,821 | (665) | (18,443) |
| Net cash from investing activities | (1,600) | (1,722) | (1,797) | (2,269) | 9,881 | (1,060) |
| Share repurchases | — | 0 | 181 | 0 | 1,800 | 0 |
| Net cash from financing activities | 131 | 1,326 | 3,489 | (3,020) | (1,656) | 4,526 |
| Net change in cash | 5,514 | (2,499) | (4,128) | 1,374 | 7,502 | (14,959) |
Compare with peers
SIC 7389 and related industry codes, similar size. Each row is the latest quarter reported.
How peers are chosen
- SIC 7389 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-K, the year less the first three quarters; 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.
| Company | Cash ($K) | Revenue, quarter ($K) | Operating cash flow, quarter ($K) | Shares outstanding | Runway | Quarter |
|---|---|---|---|---|---|---|
| SPAR Group | 2,947 | not reported | (4,784)* | 28.4M | 0.6 quarters | 10-QJun 30, 2026 |
| Janel | 33,697 | 67,512 | 29,830* | 1.2M | — | 10-QJun 30, 2026 |
| Sparta Commercial Services | 55 | 48 | (233) | 56.2M | 0.2 quarters | 10-QJul 31, 2026 |
| Treasure Global | 1,591 | 2,405* | (1,693)* | 5.2M | 0.9 quarters | 10-KJun 30, 2026 |
| Quotemedia | 187 | 5,450 | (148)* | 90.5M | 1.3 quarters | 10-QJun 30, 2026 |
| Callan JMB | 860 | 1,376 | (396)* | 5.8M | 2.2 quarters | 10-QJun 30, 2026 |
| Quantum X | 40 | 0 | (396)* | 7.7B | 0.1 quarters | 10-QJun 30, 2026 |
| Technology & Telecommunication Acquisition | 7.7 | not reported | (88)* | not reported | — | 10-QAug 31, 2026 |
| Paid | 1,078 | 5,866 | 218* | 8.5M | — | 10-QJun 30, 2026 |
Not investment advice. Not affiliated with the U.S. SEC.