Original research · Fiscal year 2025
Financial benchmarks for small US public companies, by industry
The 25th percentile, median and 75th percentile of 10 financial metrics across 9 industries, computed from the fiscal 2025 annual reports (Form 10-K) of 724 small US public companies: non-accelerated filers with revenue of $1 million to $250 million.
Updated
- Filings read
- Filed October 2025 to September 2026
- Data
- 83 published benchmarks
Key findings
- The typical company in the set made an operating loss: the median operating margin was −48.2% across 703 companies, and a quarter of them were at −207.4% or below. The industry median was below zero in all 9 industries with enough companies to publish.
- Median gross margin was 41.4% across all industries, from 26.6% in Wholesale & retail trade to 65.0% in Biotech & pharmaceuticals.
- Median revenue growth over the prior fiscal year was 5.8% across all industries, from −17.8% in Energy & mining to 17.4% in Biotech & pharmaceuticals.
- Customers took a median of 42.7 days to pay (days sales outstanding) across all industries, from 12.8 days in Wholesale & retail trade to 53.0 days in Medical devices & health services.
- The median current ratio was 2.08; counting only cash, short-term investments and receivables, the median quick ratio was 1.34. The lowest industry median quick ratio was in Wholesale & retail trade, at 0.29.
- Among the 253 companies that report receivables, inventory and payables, the median cash conversion cycle was 91.2 days; the middle half ran from 9.8 days to 188.6 days.
By industry, at a glance
Each bar runs from the 25th to the 75th percentile, so the middle half of companies sits inside it; the tick is the median. Industries are sorted by median, with all industries first. Hover a row for its figures; every value is also in the tables below.
Gross margin by industry
Gross profit ÷ Revenue
Days sales outstanding (DSO) by industry
Accounts receivable ÷ Revenue × 365
Current ratio by industry
Current assets ÷ Current liabilities
The benchmarks
One table per metric. "Companies" is how many reported every input the metric needs. An industry is listed only where at least 30 companies did.
Gross margin
Gross profit ÷ Revenue
| Industry | Companies | 25th percentile | Median | 75th percentile |
|---|---|---|---|---|
| All industries | 539 | 21.9% | 41.4% | 59.9% |
| Software & IT services | 76 | 29.3% | 50.4% | 68.2% |
| Biotech & pharmaceuticals | 57 | 41.4% | 65.0% | 76.5% |
| Medical devices & health services | 78 | 45.7% | 61.9% | 76.2% |
| Electronics & computer hardware | 82 | 13.0% | 34.1% | 49.7% |
| Other manufacturing | 102 | 15.4% | 27.8% | 46.8% |
| Wholesale & retail trade | 34 | 13.3% | 26.6% | 51.2% |
| Business & consumer services | 48 | 25.7% | 38.0% | 61.4% |
Not shown, with fewer than 30 companies reporting the inputs: Energy & mining, Transport, telecom & utilities, Agriculture & construction.
Operating margin
Operating income ÷ Revenue
| Industry | Companies | 25th percentile | Median | 75th percentile |
|---|---|---|---|---|
| All industries | 703 | −207.4% | −48.2% | −5.3% |
| Software & IT services | 80 | −161.5% | −56.9% | −11.5% |
| Biotech & pharmaceuticals | 146 | −1,017.6% | −242.0% | −45.1% |
| Medical devices & health services | 83 | −144.5% | −55.6% | −11.7% |
| Electronics & computer hardware | 91 | −176.5% | −43.3% | −14.2% |
| Energy & mining | 35 | −62.7% | −8.8% | 10.8% |
| Other manufacturing | 108 | −157.0% | −37.5% | −1.1% |
| Transport, telecom & utilities | 38 | −105.3% | −38.1% | 0.4% |
| Wholesale & retail trade | 40 | −77.8% | −9.2% | −0.7% |
| Business & consumer services | 66 | −77.2% | −10.3% | 0.9% |
Not shown, with fewer than 30 companies reporting the inputs: Agriculture & construction.
Net margin
Net income ÷ Revenue
| Industry | Companies | 25th percentile | Median | 75th percentile |
|---|---|---|---|---|
| All industries | 722 | −217.9% | −49.4% | −3.9% |
| Software & IT services | 83 | −179.8% | −50.3% | −8.7% |
| Biotech & pharmaceuticals | 147 | −846.0% | −225.6% | −23.5% |
| Medical devices & health services | 85 | −186.8% | −63.8% | −21.5% |
| Electronics & computer hardware | 92 | −199.0% | −49.8% | −13.5% |
| Energy & mining | 38 | −57.4% | −4.5% | 13.3% |
| Other manufacturing | 110 | −214.8% | −31.9% | −1.4% |
| Transport, telecom & utilities | 40 | −102.3% | −30.4% | −0.8% |
| Wholesale & retail trade | 40 | −130.4% | −13.7% | −1.1% |
| Business & consumer services | 69 | −67.7% | −7.0% | 4.7% |
Not shown, with fewer than 30 companies reporting the inputs: Agriculture & construction.
Revenue growth
Revenue ÷ Prior-year revenue − 1
| Industry | Companies | 25th percentile | Median | 75th percentile |
|---|---|---|---|---|
| All industries | 695 | −12.2% | 5.8% | 40.2% |
| Software & IT services | 80 | −8.3% | 4.9% | 53.1% |
| Biotech & pharmaceuticals | 133 | −13.4% | 17.4% | 123.6% |
| Medical devices & health services | 83 | −1.1% | 15.8% | 35.5% |
| Electronics & computer hardware | 92 | −8.4% | 9.2% | 41.7% |
| Energy & mining | 37 | −27.8% | −17.8% | 13.0% |
| Other manufacturing | 107 | −11.3% | 6.5% | 37.4% |
| Transport, telecom & utilities | 38 | −12.5% | 1.1% | 12.5% |
| Wholesale & retail trade | 41 | −14.4% | 2.0% | 23.8% |
| Business & consumer services | 67 | −11.2% | 0.8% | 17.4% |
Not shown, with fewer than 30 companies reporting the inputs: Agriculture & construction.
Days sales outstanding (DSO)
Accounts receivable ÷ Revenue × 365
| Industry | Companies | 25th percentile | Median | 75th percentile |
|---|---|---|---|---|
| All industries | 591 | 21.3 days | 42.7 days | 69.4 days |
| Software & IT services | 71 | 23.7 days | 43.1 days | 66.4 days |
| Biotech & pharmaceuticals | 93 | 16.0 days | 45.2 days | 101.5 days |
| Medical devices & health services | 73 | 37.3 days | 53.0 days | 70.1 days |
| Electronics & computer hardware | 84 | 31.1 days | 50.3 days | 82.8 days |
| Energy & mining | 31 | 19.4 days | 29.2 days | 46.9 days |
| Other manufacturing | 97 | 27.1 days | 42.9 days | 69.4 days |
| Transport, telecom & utilities | 34 | 17.2 days | 26.6 days | 56.6 days |
| Wholesale & retail trade | 30 | 1.9 days | 12.8 days | 34.1 days |
| Business & consumer services | 61 | 19.5 days | 39.4 days | 70.8 days |
Not shown, with fewer than 30 companies reporting the inputs: Agriculture & construction.
Days payable outstanding (DPO)
Accounts payable ÷ Cost of revenue × 365
| Industry | Companies | 25th percentile | Median | 75th percentile |
|---|---|---|---|---|
| All industries | 376 | 36.2 days | 70.8 days | 131.2 days |
| Software & IT services | 54 | 36.1 days | 89.6 days | 204.4 days |
| Biotech & pharmaceuticals | 30 | 52.7 days | 96.8 days | 382.7 days |
| Medical devices & health services | 58 | 47.7 days | 88.4 days | 134.2 days |
| Electronics & computer hardware | 70 | 37.9 days | 59.4 days | 104.6 days |
| Other manufacturing | 77 | 30.0 days | 62.8 days | 101.5 days |
Not shown, with fewer than 30 companies reporting the inputs: Energy & mining, Transport, telecom & utilities, Wholesale & retail trade, Business & consumer services, Agriculture & construction.
Days inventory outstanding (DIO)
Inventory ÷ Cost of revenue × 365
| Industry | Companies | 25th percentile | Median | 75th percentile |
|---|---|---|---|---|
| All industries | 373 | 33.9 days | 108.4 days | 192.2 days |
| Biotech & pharmaceuticals | 39 | 111.6 days | 164.6 days | 211.5 days |
| Medical devices & health services | 63 | 104.5 days | 177.4 days | 257.9 days |
| Electronics & computer hardware | 75 | 67.2 days | 131.2 days | 184.8 days |
| Other manufacturing | 88 | 56.6 days | 105.6 days | 198.6 days |
Not shown, with fewer than 30 companies reporting the inputs: Software & IT services, Energy & mining, Transport, telecom & utilities, Wholesale & retail trade, Business & consumer services, Agriculture & construction.
Cash conversion cycle
DSO + DIO − DPO
| Industry | Companies | 25th percentile | Median | 75th percentile |
|---|---|---|---|---|
| All industries | 253 | 9.8 days | 91.2 days | 188.6 days |
| Medical devices & health services | 46 | 63.6 days | 164.0 days | 231.0 days |
| Electronics & computer hardware | 59 | 38.0 days | 128.8 days | 190.1 days |
| Other manufacturing | 64 | 21.3 days | 91.0 days | 216.0 days |
Not shown, with fewer than 30 companies reporting the inputs: Software & IT services, Biotech & pharmaceuticals, Energy & mining, Transport, telecom & utilities, Wholesale & retail trade, Business & consumer services, Agriculture & construction.
Current ratio
Current assets ÷ Current liabilities
| Industry | Companies | 25th percentile | Median | 75th percentile |
|---|---|---|---|---|
| All industries | 717 | 0.88 | 2.08 | 4.97 |
| Software & IT services | 82 | 0.59 | 1.28 | 3.80 |
| Biotech & pharmaceuticals | 146 | 1.62 | 4.02 | 6.97 |
| Medical devices & health services | 85 | 1.09 | 2.13 | 5.20 |
| Electronics & computer hardware | 92 | 1.16 | 2.62 | 5.06 |
| Energy & mining | 38 | 0.66 | 2.52 | 7.45 |
| Other manufacturing | 109 | 1.12 | 2.06 | 4.37 |
| Transport, telecom & utilities | 39 | 0.53 | 1.06 | 2.45 |
| Wholesale & retail trade | 40 | 0.37 | 1.03 | 2.92 |
| Business & consumer services | 68 | 0.67 | 1.33 | 2.36 |
Not shown, with fewer than 30 companies reporting the inputs: Agriculture & construction.
Quick ratio
(Cash + Short-term investments + Accounts receivable) ÷ Current liabilities
| Industry | Companies | 25th percentile | Median | 75th percentile |
|---|---|---|---|---|
| All industries | 650 | 0.48 | 1.34 | 3.77 |
| Software & IT services | 72 | 0.36 | 1.01 | 3.47 |
| Biotech & pharmaceuticals | 137 | 1.11 | 3.05 | 6.34 |
| Medical devices & health services | 82 | 0.68 | 1.77 | 3.70 |
| Electronics & computer hardware | 85 | 0.63 | 1.55 | 4.00 |
| Energy & mining | 34 | 0.57 | 2.20 | 5.00 |
| Other manufacturing | 99 | 0.34 | 0.89 | 2.81 |
| Transport, telecom & utilities | 35 | 0.30 | 0.66 | 1.42 |
| Wholesale & retail trade | 30 | 0.11 | 0.29 | 1.37 |
| Business & consumer services | 62 | 0.41 | 0.76 | 1.68 |
Not shown, with fewer than 30 companies reporting the inputs: Agriculture & construction.
Method
Source. The Financial Statement Data Sets published by the SEC's Division of Economic and Risk Analysis: the numbers (num.txt) and submission details (sub.txt) of every financial statement filed with the SEC in XBRL. We read the quarterly files 2025q4, 2026q1, 2026q2, 2026q3, which hold the filings made from October 2025 to September 2026.
Which companies. Each step below keeps a subset of the one before it; the count is what was left.
| Step | Left |
|---|---|
| All submissions in the four quarterly files | 26,703 |
| Original annual reports (Form 10-K, no amendments) | 5,529 |
| Fiscal year 2025, as labelled by the filer | 4,874 |
| Filed as a non-accelerated filer | 2,463 |
| One filing per company (the latest filed) | 2,462 |
| Business address in the United States | 2,256 |
| Operating industry (SIC code present, not 6000-6799 finance, insurance, real estate and blank checks, not 9000+ shells and nonclassifiable) | 1,467 |
| Full-year revenue reported in US dollars | 1,099 |
| Revenue between $1 million and $250 million | 724 |
Why non-accelerated filers. The data set's readme lists two smaller-reporting filer-status codes, but none of the submissions in these four quarters carries either: every one is a large accelerated, accelerated or non-accelerated filer, or has no status. On today's 10-K cover page smaller-reporting status is a separate check box the data set does not record. We therefore keep non-accelerated filers (status 4-NON). Under the SEC's filer-status rules that is, broadly, a company with a public float under $75 million or a smaller reporting company with annual revenue under $100 million; a company in its first year of SEC reporting is also non-accelerated, which the revenue band bounds.
Fiscal year. A filing counts when the filer labels it fiscal 2025. 652 of the 724 companies have a fiscal year ending in December 2025; the rest end in another month. A company whose fiscal 2025 report was filed before the first quarter read is not included. Where a company filed more than one such report, the latest is used.
Industries. From the company's SIC code on EDGAR, grouped as below; the first group whose range contains the code wins, so the broad groups hold what the specific ones above them do not. Excluded: SIC 6000-6799 (finance, insurance, real estate and blank-check companies, whose statements have no comparable gross margin or working capital) and 9000 and above (shell companies and nonclassifiable establishments).
| Industry | SIC codes | Companies |
|---|---|---|
| Software & IT services | 7370-7379 | 84 |
| Biotech & pharmaceuticals | 2830-2836, 8731 | 147 |
| Medical devices & health services | 3840-3851, 8000-8099 | 85 |
| Electronics & computer hardware | 3570-3579, 3600-3699, 3810-3839 | 92 |
| Energy & mining | 1000-1499, 2900-2999 | 38 |
| Other manufacturing | 2000-3999 | 110 |
| Transport, telecom & utilities | 4000-4999 | 40 |
| Wholesale & retail trade | 5000-5999 | 41 |
| Business & consumer services | 7000-8999 | 69 |
| Agriculture & construction | 0100-0999, 1500-1799 | 18 |
Figures read. US dollar values of standard US GAAP tags, for the whole company (no segment or co-registrant breakdown): full fiscal-year amounts for income-statement lines, fiscal-year-end balances for balance-sheet lines. Each line is read from the first tag below that the filing reports; tags are never added together. When a filing reports only one of gross profit and cost of revenue, the other is revenue minus it. Prior-year revenue, for growth, is the comparative column of the same 10-K under the same tag as this year's.
| Line | US GAAP tags, in order of preference |
|---|---|
| Revenue | Revenues, RevenueFromContractWithCustomerExcludingAssessedTax, RevenueFromContractWithCustomerIncludingAssessedTax, SalesRevenueNet, SalesRevenueGoodsNet, SalesRevenueServicesNet |
| Cost of revenue | CostOfRevenue, CostOfGoodsAndServicesSold, CostOfGoodsSold, CostOfServices, CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization |
| Gross profit | GrossProfit |
| Operating income | OperatingIncomeLoss |
| Net income | NetIncomeLoss, ProfitLoss |
| Accounts receivable | AccountsReceivableNetCurrent, ReceivablesNetCurrent, AccountsNotesAndLoansReceivableNetCurrent |
| Accounts payable | AccountsPayableCurrent, AccountsPayableTradeCurrent |
| Inventory | InventoryNet |
| Current assets | AssetsCurrent |
| Current liabilities | LiabilitiesCurrent |
| Cash and cash equivalents | CashAndCashEquivalentsAtCarryingValue, Cash |
| Short-term investments | ShortTermInvestments, MarketableSecuritiesCurrent, AvailableForSaleSecuritiesDebtSecuritiesCurrent |
Revenue was read from RevenueFromContractWithCustomerExcludingAssessedTax for 367 companies, Revenues for 273 companies, RevenueFromContractWithCustomerIncludingAssessedTax for 84 companies. Accounts payable and accrued liabilities reported as one line is not used for payables, and cash including restricted cash is not used for cash.
Metrics and drop rules. Each metric is computed for every company that reports its inputs, so each has its own sample. A value is dropped when an input that cannot be negative is negative (or a denominator is zero or below), or when it is above the metric's bound:
| Metric | Bound | Kept | Inputs not reported | Dropped |
|---|---|---|---|---|
| Gross margin Above 100% the cost of revenue would be negative, which is impossible. |
At most 100.0% | 539 | 185 | 0 |
| Operating margin Kept whatever its size: a company with $2 million of revenue and $30 million of costs really does report a margin near −1,400%, and dropping such companies would flatter the medians. |
No bound | 703 | 21 | 0 |
| Net margin Kept whatever its size: a company with $2 million of revenue and $30 million of costs really does report a margin near −1,400%, and dropping such companies would flatter the medians. |
No bound | 722 | 2 | 0 |
| Revenue growth Kept whatever its size: very high growth on a small prior-year base is real. |
No bound | 695 | 16 | 13 |
| Days sales outstanding (DSO) Above 1,000 days (almost three years) the denominator is too small for the figure to describe how the business runs. |
At most 1,000.0 days | 591 | 133 | 0 |
| Days payable outstanding (DPO) Above 1,000 days (almost three years) the denominator is too small for the figure to describe how the business runs. |
At most 1,000.0 days | 376 | 323 | 25 |
| Days inventory outstanding (DIO) Above 1,000 days (almost three years) the denominator is too small for the figure to describe how the business runs. |
At most 1,000.0 days | 373 | 341 | 10 |
| Cash conversion cycle Computed only when DSO, DIO and DPO were all kept, so it inherits their bounds. |
No bound | 253 | 458 | 13 |
| Current ratio Above 100 the current liabilities are too small for the ratio to describe liquidity. |
At most 100.00 | 717 | 6 | 1 |
| Quick ratio Above 100 the current liabilities are too small for the ratio to describe liquidity. |
At most 100.00 | 650 | 73 | 1 |
- An input that cannot be negative is negative (receivables, payables, inventory, cash, short-term investments, current assets, cost of revenue), or current liabilities or prior-year revenue are zero or below.
- The value is above the metric's stated bound.
Percentiles. Linear interpolation between the closest ranks (the default of NumPy and of the spreadsheet function PERCENTILE.INC), rounded half up to one decimal place, two for ratios. Days use a 365-day year and fiscal-year-end balances, not averages.
Suppression. An industry's figure for a metric is published only when at least 30 companies reported its inputs: 83 figures are published and 27 were held back. No filing reported the same figure twice with different values.
Reproducible. The computation is a deterministic script: run again on the same four quarterly files, it writes the same CSV byte for byte.
Limitations
- Small public companies are not private small businesses. A listed company can sell shares to fund losses, and many in this set report deep ones, most of all in biotech and pharmaceuticals; they also carry the costs of a stock listing. Read the medians as a picture of small listed companies, not as a target for a private business of the same size.
- XBRL tagging varies. Companies choose their own tags. A company that reports revenue, cost of revenue or a balance only under its own custom tag is missing from that metric, and a mis-tagged or mis-scaled figure is read as filed. Percentiles limit the weight of any one wrong value but do not remove it.
- Each metric has its own sample. Gross margin, inventory days and payable days exist only for companies that report cost of revenue or inventory, so the companies behind one metric are not the same as those behind another. The company count is printed in every row.
- Year-end balances. Receivable, payable and inventory days use the balance on the last day of the fiscal year, so a seasonal business can read high or low.
- "Small" is a proxy. Non-accelerated filer status leaves out small companies that are accelerated filers and includes companies in their first year of reporting; the revenue band narrows both effects without removing them.
- Industry codes are EDGAR's. A company's SIC code is assigned at registration and may not describe what it does today.
Download and cite
Download the CSV (ataski-small-company-financial-benchmarks-fy2025.csv). It is the file every number on this page is read from: one row per industry and metric, with the columns industry_key, industry, metric_key, metric, unit, n, p25, median, p75. Percent metrics are in percent, day metrics in days and ratios as plain ratios.
Licence: CC BY 4.0 — free to reuse with attribution.
Two sources, two statuses. The SEC data the study is computed from is in the public domain. Ataski's dataset derived from it — the CSV and every figure on this page — is published under CC BY 4.0: you may copy, adapt and reuse it, commercially too, as long as you credit it. Attribute it as:
Source: Ataski analysis of SEC Financial Statement Data Sets (FY2025 10-K filings). https://ataski.com/research/small-company-financial-benchmarks-2026