Loading institutional data...
Loading institutional data...
Insufficient data to determine institutional momentum.
Data as of Q3 2026
Loading snapshot...
Loading financials...
Loading valuation...
Loading analysis...
Loading dividends & returns...
Loading capital allocation...
Loading debt & leverage...
Loading performance...
Loading peer comparison...
Loading insider activity...
Loading ownership map...
Loading crowding analysis...
Loading conviction analysis...
Loading buy/sell flow...
Loading ownership trends...
Loading top holders...
Loading top holders...
Total shares institutions bought (green) vs sold (red) each quarter across all holders.
Inferred from quarter-over-quarter change in each fund's 13F position (new stakes count as buys, exits as sells). Not tick-level trades.
Ranked against 19 sector peers with collected financials. Valuation from latest close × latest fiscal-year fundamentals; 13F conviction as of 2026-09-30.
Percentile is “goodness” within the peer set (100 = best). For valuation and leverage that means cheaper / less-levered ranks higher.
| Company | Mkt cap ▼ | P/E | EV/EBITDA | P/S | Rev gr | Gross | Net | ROE | ROIC | Net D/EBITDA | 13F |
|---|---|---|---|---|---|---|---|---|---|---|---|
| AVT | $7.6B | 23.1× | — | 0.3× | 24.5% | 10.4% | 1.2% | 6.7% | 4.1% | — | 138 |
| POOL | $7.3B | 18.8× | 13.6× | 1.4× | -0.4% | 29.7% | 7.7% | 34.3% | 17.0% | 1.9× | 117 |
| MSM | $6.9B | 30.9× | 18.0× | 1.7× | 6.4% | 40.9% | 5.6% | 15.6% | 11.7% | 1.0× | 113 |
| INGM | $6.6B | 20.6× | 7.4× | 0.1× | 9.5% | 6.7% | 0.6% | 7.7% | 4.4% | 1.2× | 33 |
| SITE | $4.8B | 32.9× | — | 1.0× | 3.6% | 34.8% | 3.2% | 9.1% | 7.4% | — | 74 |
| LKQ | $4.6B | 7.7× | 3.0× | 0.3× | -1.2% | 38.6% | 4.5% | 9.3% | 9.3% | -0.2× | 114 |
| REZI | $2.9B | — | 7.9× | 0.4× | 10.5% | 29.4% | -7.1% | -18.1% | -8.6% | 3.7× | 101 |
| DXPE | $2.7B | 32.8× | 17.4× | 1.4× | 11.9% | 31.5% | 4.4% | 17.8% | 6.7% | 2.8× | 61 |
| BCC | $2.7B | 22.1× | 7.9× | 0.4× | -4.8% | — | 2.1% | 6.4% | 5.3% | -0.1× | 62 |
| PLUS | $2.5B | 19.0× | 10.7× | 1.0× | 22.1% | 25.2% | 5.4% | 12.4% | 12.4% | -2.1× | 62 |
| CNXN | $2.2B | 26.2× | 17.9× | 0.8× | 2.5% | 18.8% | 2.9% | 9.2% | 9.2% | -1.8× | 49 |
| GIC | $1.7B | 23.9× | 15.4× | 1.2× | 4.8% | 35.5% | 5.2% | 23.0% | 23.0% | -0.6× | 26 |
| DSGR | $1.6B | 194.5× | 14.2× | 0.8× | 9.8% | 33.4% | 0.4% | 1.3% | 0.6% | 4.0× | 25 |
| RYZ | $1.6B | — | 32.4× | 0.3× | -0.6% | 17.1% | -1.2% | -7.5% | -7.5% | -0.5× | — |
| SCSC | $1.2B | 16.2× | 9.9× | 0.4× | 6.1% | 13.6% | 2.4% | 8.7% | 7.8% | 0.1× | 46 |
| GOLD | $1.1B | 12.8× | 7.7× | 0.0× | 132% | 1.8% | 0.3% | 9.4% | 9.4% | 0.0× | 37 |
| ITRN | $1.1B | 18.3× | 10.5× | 3.0× | 6.8% | 49.7% | 16.1% | 26.6% | 26.6% | -1.2× | 33 |
| WLFC | $885M | 2.7× | 16.5× | 1.2× | 28.3% | — | 15.6% | 17.2% | 3.4% | 12.4× | 22 |
| CLMB | $781M | 9.0× | 20.2× | 1.2× | 40.1% | 16.1% | 3.3% | 18.3% | 18.3% | -1.0× | 24 |
| EACO | $729M | 22.8× | 16.8× | 1.7× | 20.1% | 30.1% | 7.5% | 20.7% | 20.2% | 0.1× | — |
Peers = companies sharing CNXN's sector (Wholesale-Computers & Peripheral Equipment & Software) with collected SEC financials. Multiples use the most recent end-of-day close and latest fiscal-year fundamentals (trailing, not forward). Missing cells mean the peer never reported that line item, has no collected price, or has a non-positive denominator. Not investment advice.
Top 40 institutional holders — bubble size is position value, color is the move since last quarter. Hover any holder for detail.
Drag any bubble to rearrange · size = dollar value of the position
What the company returns to shareholders — and whether it's covered by cash.
The dividend is comfortably covered — only 26% of free cash flow, leaving room to grow it and fund buybacks. Last year: $15.3M dividends + $76.3M buybacks = $91.6M returned on $58.0M FCF.
2 consecutive years of dividend increases · 7%/yr.
Yields use the latest fiscal-year dividends/buybacks over current market cap. Dividends and buybacks from the SEC cash-flow statement; payout coverage vs net income and free cash flow. Educational — not a recommendation.
How management deployed cash over 10 years — and what it earned on reinvestment.
A cash-return story — far more went to shareholders than back into the business (mature, low-reinvestment).
Reinvestment has been productive — operating income grew well per dollar put in. Current ROIC on all capital: 9%. Rough measure (includes maintenance capex).
Cash uses aggregated from the SEC cash-flow statement over 10 fiscal years. "Return on reinvestment" is a rough proxy — operating-income change ÷ cumulative CapEx + M&A — and includes maintenance capex. Educational — not a recommendation.
Solve the discounted cash flow backwards, then stress-test the assumptions.
Average free cash flow across the last 3 positive fiscal years (FY2023, FY2024, FY2025). Smooths the cycle. Stock compensation is NOT charged — it is added back inside operating cash flow.
To be worth $85.62 today, the market must believe free cash flow compounds 2.1%/yr for a decade (off $137.6M on the 3-yr avg basis).
On the basis ($129.3M) the requirement is 2.9%/yr. Shares issued to employees are added back in operating cash flow, so this basis treats them as free.
The market's 2.1% is more conservative than its 9-yr track record.
Default is 9.4% — this company's computed cost of capital (computed WACC), the same rate the Analysis tab discounts at.
2-stage DCF · 0.03B shares (market data) · net debt -$193.2M
mean 146.0% · volatility σ 376% · implied rate exceeded in 3/9 yrs
Central path = implied 2.1%/yr growth; shaded band = ±1σ (376%) of this company's historical FCF volatility, widening with time. The wider the band, the less certain the growth.
Reverse DCF: rather than guessing a fair value, we solve for the growth the current price implies, then you stress-test the assumptions. Enterprise value of the FCF stream, less net debt, ÷ shares. Educational — not a recommendation.
How much the company owes, how it's trended, and how comfortably it's serviced.
Insufficient EBITDA/debt history.
Green ≤ 1.5× · amber ≤ 3× · red > 3× (leverage relative to cash earnings).
Interest is easily covered by operating profit. Interest last disclosed in FY2020 (no longer broken out).
Cash vs short-term debt unavailable.
Short-term / long-term split not separately reported.
Debt, cash, interest and equity from the SEC balance sheet & income statement. Effective rate = interest ÷ average debt. Educational — not a recommendation.
EOD close · as of 2026-10-29
How a revenue dollar becomes profit — FY2025
Dividends and buybacks are cash paid out, shown here against the same year's profit for scale — not funded from it. This year they exceeded net income, so the ribbons are capped at earnings and understate what was actually returned.
Each value shows its share of revenue below it (common-size).
| Line Item | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $2.87B 100.0% | $2.80B 100.0% | $2.85B 100.0% | $3.12B 100.0% | $2.89B 100.0% | $2.59B 100.0% | $2.82B 100.0% | $2.70B 100.0% | $2.91B 100.0% | $2.69B 100.0% |
| Cost of Revenue | $2.33B 81.2% | $2.28B 81.4% | $2.34B 82.0% | $2.60B 83.2% | $2.43B 83.9% | $2.17B 83.8% | $2.37B 84.0% | $2.29B 84.8% | $2.53B 86.9% | $2.32B 86.2% |
| Gross Profit | $539.3M 18.8% | $519.8M 18.6% | $511.7M 18.0% | $526.2M 16.8% | $464.6M 16.1% | $418.8M 16.2% | $451.3M 16.0% | $411.1M 15.2% | $382.1M 13.1% | $371.2M 13.8% |
| Selling, General & Admin | $434.0M 15.1% | $422.3M 15.1% | $405.9M 14.2% | $405.6M 13.0% | $368.1M 12.7% | $345.7M 13.3% | $338.6M 12.0% | $324.4M 12.0% | $300.9M 10.3% | $287.2M 10.7% |
| Operating Income | $99.3M 3.5% | $97.1M 3.5% | $103.2M 3.6% | $120.6M 3.9% | $96.5M 3.3% | $72.1M 2.8% | $112.0M 4.0% | $85.7M 3.2% | $77.5M 2.7% | $80.5M 3.0% |
| Interest Expense | — | — | — | — | — | $107K 0.0% | $107K 0.0% | $145K 0.0% | — | — |
| Interest & Investment Income | — | — | — | — | — | $168K 0.0% | $814K 0.0% | $3.1M 0.1% | — | — |
| Other Income (Expense), net | — | — | $10.0M 0.3% | $1.1M 0.0% | $5K 0.0% | $1.1M 0.0% | $707K 0.0% | $3.0M 0.1% | $98K 0.0% | -$67K -0.0% |
| Pretax Income | $113.7M 4.0% | $117.5M 4.2% | $113.1M 4.0% | $121.6M 3.9% | $96.5M 3.3% | $73.2M 2.8% | $112.7M 4.0% | $88.7M 3.3% | $77.6M 2.7% | $80.5M 3.0% |
| Income Tax Expense | $30.0M 1.0% | $30.4M 1.1% | $29.8M 1.0% | $32.4M 1.0% | $26.6M 0.9% | $17.4M 0.7% | $30.6M 1.1% | $24.1M 0.9% | $22.8M 0.8% | $32.3M 1.2% |
| Net Income | $83.7M 2.9% | $87.1M 3.1% | $83.3M 2.9% | $89.2M 2.9% | $69.9M 2.4% | $55.8M 2.2% | $82.1M 2.9% | $64.6M 2.4% | $54.9M 1.9% | $48.1M 1.8% |
| Per Share | ||||||||||
| EPS (Basic) | $3.28 | $3.31 | $3.17 | $3.40 | $2.67 | $2.13 | $3.12 | $2.42 | $2.05 | $1.81 |
| EPS (Diluted) | $3.27 | $3.29 | $3.15 | $3.37 | $2.65 | $2.12 | $3.10 | $2.41 | $2.04 | $1.80 |
| Weighted Avg Shares (Basic) | 25.5M | 26.3M | 26.3M | 26.3M | 26.2M | 26.2M | 26.3M | 26.7M | 26.8M | 26.5M |
| Weighted Avg Shares (Diluted) | 25.6M | 26.5M | 26.4M | 26.4M | 26.4M | 26.3M | 26.5M | 26.9M | 26.9M | 26.7M |
Source: SEC EDGAR XBRL filings (annual, fiscal year). Quarterly flow items are derived from cumulative filings; balance-sheet figures are as-of each period end. Ratios and margins are computed, not reported.
Total return (dividends reinvested) vs the market, from quarter-end prices.
Above 0 = ahead of the S&P 500 since the window start; below 0 = behind. Rising means it's pulling ahead.
How far the stock fell below its prior peak. Deeper, longer drawdowns = a rougher ride to the same return.
Quarter-end, dividend-adjusted (total return). Beta & volatility from quarterly returns (annualized). Benchmark is the S&P 500 (SPY total return). Annual returns compound the quarters ending in each calendar year; the first and last years in a window may be partial. Past performance doesn't predict future results.
Last reported position per insider, carried forward. Steps can be a holding disclosed for the first time rather than a trade.
| Date | Insider | What it was | Shares | Price | Value |
|---|---|---|---|---|---|
| 2026-10-21 | 8 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 6,084 | $87.12 | $530k |
| 2026-10-21 | 8 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 1,108 | $87.64 | $97k |
| 2026-10-20 | 8 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 7,925 | $86.56 | $686k |
Every row is classified by what it MEANT, not by its SEC code. A code is not a meaning: code P (“purchase”) also covers dividend reinvestment and employee stock purchase plans, and code S (“sale”) also covers 10b5-1 plan sales scheduled months earlier and option exercises sold the same day.
Across 30 days of all filings, $5.08bn of insider selling contained $3.50bn of plan sales and $0.46bn of exercise-and-sell. Only 29% was discretionary. Reading an unclassified feed badly overstates how much insiders decided.
Buys and sales are counted separately and never netted. They are different decisions by different people; a company where one officer bought while another sold is not “neutral”.
The holding line carries each insider's last reported position forward, so it shows the total held rather than a sawtooth of whoever traded that day. It covers only insiders who filed in the window.
“Filed late” counts calendar days past the two-business-day deadline with five days' grace, so a Thursday or Friday trade crossing a weekend is never flagged. It describes the company's filing discipline, not the trade.
Insider activity is descriptive. Nothing here is investment advice.
| 2026-10-20 | 8 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 79 | $87.33 | $7k |
| 2026-10-12 | Zafirovski Matthew David President & COO | Grant | 25,000 | $0.00 | — |
| 2026-10-06 | 8 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 6,174 | $92.07 | $568k |
| 2026-10-06 | 8 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 56 | $92.95 | $5k |
| 2026-10-05 | 8 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 5,570 | $92.42 | $515k |
| 2026-10-05 | 8 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 1,572 | $93.06 | $146k |
| 2026-09-15 | 10 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 5,124 | $85.01 | $436k |
| 2026-09-15 | 10 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 2,018 | $85.61 | $173k |
| 2026-09-14 | 10 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 1,799 | $84.42 | $152k |
| 2026-09-14 | 10 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 3,551 | $85.62 | $304k |
| 2026-09-14 | 10 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 1,792 | $86.04 | $154k |
| 2026-09-02 | 8 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 4,458 | $80.40 | $358k |
| 2026-09-02 | 8 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 2,684 | $80.88 | $217k |
| 2026-09-01 | 8 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 4,872 | $78.76 | $384k |
| 2026-09-01 | 2 co-filers Group filing | Option exercise | 500 | $0.00 | $0 |
| 2026-09-01 | 2 co-filers Group filing | Option exercise | 500 | $0.00 | $0 |
| 2026-09-01 | 2 co-filers Chairman & Chief Admin Officer | Option exercise | 500 | $0.00 | $0 |
| 2026-09-01 | 2 co-filers Group filing | Option exercise | 500 | $0.00 | $0 |
| 2026-09-01 | 3 co-filers President & CEO | Option exercise | 10,000 | $0.00 | $0 |
| 2026-09-01 | 8 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 2,270 | $79.39 | $180k |
| 2026-09-01 | 2 co-filers Group filing | Option exercise | 500 | $0.00 | — |
| 2026-09-01 | 2 co-filers Group filing | Option exercise | 500 | $0.00 | — |
| 2026-09-01 | 2 co-filers Group filing | Option exercise | 500 | $0.00 | — |
| 2026-09-01 | 3 co-filers President & CEO | Tax withholding | 3,935 | $80.07 | $315k |
| 2026-09-01 | 2 co-filers Chairman & Chief Admin Officer | Option exercise | 500 | $0.00 | — |
| 2026-09-01 | 3 co-filers President & CEO | Option exercise | 10,000 | $0.00 | — |
| 2026-08-18 | 10 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 3,922 | $78.36 | $307k |
| 2026-08-18 | 10 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 3,220 | $78.83 | $254k |
| 2026-08-17 | 10 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 5,066 | $78.16 | $396k |
| 2026-08-17 | 10 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 1,358 | $79.61 | $108k |
| 2026-08-17 | 10 co-filers Chairman & Chief Admin Officer | 10b5-1 plan saleindirect | 718 | $80.21 | $58k |
| 2026-08-14 | Beffa Negrini David Director | Open-market sale49d late | 5,000 | $81.05 | $405k |
| 2026-08-05 | 12 co-filers Group filing | 10b5-1 plan saleindirect | 3,383 | $84.09 | $284k |
| 2026-08-05 | 12 co-filers Group filing | 10b5-1 plan saleindirect | 3,559 | $84.77 | $302k |
| 2026-08-05 | 12 co-filers Group filing | 10b5-1 plan saleindirect | 200 | $85.82 | $17k |
| 2026-08-04 | 12 co-filers Group filing | 10b5-1 plan saleindirect | 3,968 | $85.79 | $340k |
| 2026-08-04 | 12 co-filers Group filing | 10b5-1 plan saleindirect | 3,041 | $87.01 | $265k |
EOD close · as of 2026-10-29
Where each multiple sits in its own 14-yr range · 100th pct blended
Dot = today · shaded = middle 50% · line = median. Lower percentile = cheaper vs its own 14-yr history.
Is the profit real, and how strong is the balance sheet?
FY2025 · every deduction from revenue to net income
DuPont — the three levers
ROE 9% against ROIC 9% — 0% of the return on equity comes from leverage and buybacks rather than from the operating business.
What the company owes vs. what it holds
This shows debt/cash structure and net leverage. The year-by-year maturity schedule is on the Debt & Leverage tab.
Latest year: profit growth vs revenue growth
Low operating leverage — profit tracks sales closely (stable, less cyclical).
Each line as % of revenue — the trend in color
| % of revenue | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 |
|---|---|---|---|---|---|---|---|---|
| Cost of Revenue | 84.8 | 84.0 | 83.8 | 83.9 | 83.2 | 82.0 | 81.4 | 81.2 |
| Gross Profit | 15.2 | 16.0 | 16.2 | 16.1 | 16.8 | 18.0 | 18.6 | 18.8 |
| SG&A | 12.0 | 12.0 | 13.3 | 12.7 | 13.0 | 14.2 | 15.1 | 15.1 |
| Operating Income | 3.2 | 4.0 | 2.8 | 3.3 | 3.9 | 3.6 | 3.5 | 3.5 |
| Income Tax | 0.9 | 1.1 | 0.7 | 0.9 | 1.0 | 1.0 | 1.1 | 1.0 |
| Net Income | 2.4 | 2.9 | 2.2 | 2.4 | 2.9 | 2.9 | 3.1 | 2.9 |
Green = margin-favorable vs the row's own range · red = unfavorable.
The metrics that matter, over time
A 30-second read on CNXN: price, valuation and headline fundamentals from SEC filings. The four questions at the top of the page are where the judgements live.
Earns -0.27pts against its cost of capital — capital is being consumed, not created.
| Period | ROIC | Cost of capital | Spread |
|---|---|---|---|
| FY2019 | 14.3% | 9.4% (today's — no rate published for this year) | 4.8pts |
| FY2020 | 8.8% | 9.4% (today's — no rate published for this year) | -0.7pts |
| FY2021 | 11.1% | 9.4% (today's — no rate published for this year) | 1.7pts |
| FY2022 | 12.5% | 9.4% (today's — no rate published for this year) | 3.0pts |
| FY2023 | 10.1% | 9.4% (today's — no rate published for this year) | 0.6pts |
| FY2024 | 9.0% | 9.4% (today's — no rate published for this year) | -0.4pts |
| FY2025 | 9.4% | 9.4% (today's — no rate published for this year) | 0.0pts |
| Now | 9.2% | 9.4% | -0.2pts |
| Fiscal year | Gross margin | Operating margin | Net margin |
|---|---|---|---|
| FY2016 | 13.8% | 3.0% | 1.8% |
| FY2017 | 13.1% | 2.7% | 1.9% |
| FY2018 | 15.2% | 3.2% | 2.4% |
| FY2019 | 16.0% | 4.0% | 2.9% |
| FY2020 | 16.2% | 2.8% | 2.2% |
| FY2021 | 16.1% | 3.3% | 2.4% |
| FY2022 | 16.8% | 3.9% | 2.9% |
| FY2023 | 18.0% | 3.6% | 2.9% |
| FY2024 | 18.6% | 3.5% | 3.1% |
| FY2025 | 18.8% | 3.5% | 2.9% |
Return on equity (9%) and return on invested capital (9%) are within a couple of points in FY2025, so the headline return is the operating return — there is no meaningful leverage effect to strip out.
$74M of goodwill — 9% of invested capital. The gap is what was paid above the fair value of what was bought; it is real capital shareholders provided, so neither bar is the whole answer.
The spread is -0.27pts and would invert under a ±2% move in WACC, so the verdict rests on the cost-of-capital assumption rather than on the business.
Accruals are positive and DSO is up +11 days over 3 years — profit is being recognised ahead of collection.
Reported free cash flow is $58M; after share-based compensation it is $49M. The difference is a real cost that the cash flow statement adds back.
Debt is present but there is no positive EBITDA or no reported interest expense, so coverage cannot be measured.
Balance sheet at 2025-12-31. Undrawn revolving credit is not shown: the tag is collected but not yet mapped through to the API.
No material counter-signal in the checked set: net debt / EBITDA, interest coverage, stressed coverage, maturity schedule vs cash and one year of FCF, liquidity ratios.
Missing from our data, so excluded from this answer: interest_expense.
At $85.62, free cash flow must compound 2.08%/yr for 10 years. It has done 7.99%/yr over 6 years.
| Fiscal year | FCF growth | Price requires |
|---|---|---|
| FY2020 | −1.4% | 2.1% |
| FY2021 | 60.0% | 2.1% |
| FY2022 | −39.6% | 2.1% |
| FY2023 | 439.9% | 2.1% |
| FY2024 | −11.7% | 2.1% |
| FY2025 | −65.1% | 2.1% |
The percentile ranks the FISCAL-YEAR point, because the distribution behind each strip is built from fiscal-year closes — ranking a TTM figure inside it would compare two different bases. TTM basis: TTM (share count from the last fiscal year — the TTM window reports none).
The implied rate has been matched or beaten in 2 of the last 6 years.
| Step | Amount | Running total |
|---|---|---|
| Net income | $84M | $84M |
| Share-based comp | $9M | $93M |
| Other non-cash & working capital | −$28M | $65M |
| Operating cash flow | $65M | $65M |
| Capex | −$7M | $58M |
| Free cash flow | $58M | $58M |
| FCF after SBC | $49M | $49M |
| Fiscal year | Revenue growth | Receivables growth | Gap |
|---|---|---|---|
| FY2020 | -8.2% | 11.2% | 19.3 points |
| FY2021 | 11.7% | -0.6% | -12.2 points |
| FY2022 | 8.0% | 0.5% | -7.6 points |
| FY2023 | -8.8% | -0.6% | 8.2 points |
| FY2024 | -1.7% | 0.8% | 2.5 points |
| FY2025 | 2.5% | 6.0% | 3.5 points |
| Fiscal year | DSO | DIO | DPO | Cash conversion cycle |
|---|---|---|---|---|
| FY2019 | 71.1 days | 19.2 days | 36.3 days | 54 days |
| FY2020 | 86.1 days | 23.7 days | 44.9 days | 64.9 days |
| FY2021 | 76.7 days | 31.1 days | 42.4 days | 65.3 days |
| FY2022 | 71.3 days | 29.3 days | 32.7 days | 67.9 days |
| FY2023 | 77.7 days | 19.4 days | 41.1 days | 55.9 days |
| FY2024 | 79.6 days | 15.2 days | 48 days | 46.8 days |
| FY2025 | 82.3 days | 22.5 days | 52.9 days | 51.9 days |
| Fiscal year | Accruals / assets |
|---|---|
| FY2019 | 4.9 percent |
| FY2020 | 1.9 percent |
| FY2021 | 1.1 percent |
| FY2022 | 4.9 percent |
| FY2023 | -9.7 percent |
| FY2024 | -6.7 percent |
| FY2025 | 1.4 percent |
Below the line, the asset base is being consumed faster than it is replaced.
Below the line for 7 consecutive years to the latest.
Depreciation here includes amortisation of acquired intangibles — goodwill written down over time, customer lists, acquired technology. Capex does not replace those and is not meant to, so an acquisitive or asset-light company sits below 1.0 permanently and correctly. The signal is cleanest for capital-intensive businesses, where the two measure the same physical base. For that reason this informs the earnings-quality verdict but never caps it.
SBC is added back inside operating cash flow, so reported free cash flow treats shares issued to employees as free. Percent of revenue says how expensive the payroll is; percent of operating cash flow says how much of the cash exists only because the charge was added back. The buyback offset is buybacks over SBC — below 1.0 the repurchase does not cover the shares issued.
Figures are the latest fiscal year (FY2025) from the company's own filings, not a trailing-twelve-month window — Q2 reads fiscal years throughout so the cash-conversion ratios and these share one basis. A blank is a line the filer did not report; it is never read as zero.