Hollow marker is the consensus estimate; filled is the reported figure, colored by beat or miss.
Outlined bar is the consensus estimate; solid is reported.
Periods without a consensus estimate or a reported figure show a dash.
| Period | EPS estimate | EPS actual | EPS surprise % | Revenue estimate | Revenue actual | Revenue surprise % |
|---|---|---|---|---|---|---|
| Q2 26 | $0.28 | $0.27 | -3.6% | — | $78.4M | — |
| Q1 26 | $0.28 | $0.28 | 0.0% | — | $78.2M | — |
| Q4 25 | $0.28 | $0.28 | 0.0% | — | $75.7M | — |
| Q3 25 | $0.28 | $0.28 | 0.0% | — | $74.1M | — |
| Q2 25 | $0.27 | $0.28 | +3.7% | — | $72.8M | — |
| Q1 25 | $0.27 | $0.26 | -3.7% | — | $71.5M | — |
| Q4 24 | $0.28 | $0.27 | -3.6% | — | $68.3M | — |
| Q3 24 | $0.27 | $0.27 | 0.0% | — | $66.8M | — |
| Q2 24 | $0.27 | $0.27 | 0.0% | — | $66.5M | — |
| Q1 24 | $0.26 | $0.26 | 0.0% | — | $66.5M | — |
| Q4 23 | $0.26 | $0.27 | +3.8% | — | $65.1M | — |
| Q3 23 | $0.28 | $0.27 | -3.6% | — | $64.8M | — |
| Q2 23 | $0.26 | $0.27 | +3.8% | — | $60.7M | — |
| Q1 23 | $0.27 | $0.27 | 0.0% | — | $60M | — |
| Q4 22 | $0.28 | $0.27 | -3.6% | — | $57.4M | — |
| Q3 22 | $0.28 | $0.3 | +7.1% | — | $56M | — |
Reported per-share earnings by fiscal year; the line turns dotted where reported figures end and the analyst consensus begins, with the shaded band marking the low–high range.
Reported revenue by fiscal year; the line turns dotted where reported figures end and the analyst consensus begins, with the shaded band marking the low–high range.
Periods without a consensus estimate or a reported figure show a dash.
| Period | EPS estimate | EPS actual | EPS surprise % | Revenue estimate | Revenue actual | Revenue surprise % |
|---|---|---|---|---|---|---|
| FY25 | — | $1.09 | — | — | $294.1M | — |
| FY24 | — | $1.07 | — | — | $268.1M | — |
| FY23 | — | $1.08 | — | — | $250.6M | — |
| FY22 | — | $1.2 | — | — | $223.2M |
Reported revenue per period; the line is the change from the same period a year earlier, on its own left axis.
| Period | FY16 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $124M | $133.2M | $143.6M | $160.2M | $170.9M | $199.4M | $223.2M | $250.6M | $268.1M | $294.1M |
| YoY change | +270.7% | +7.41% | +7.83% | +11.6% | +6.68% | +16.6% | +11.9% | +12.3% | +6.97% | +9.72% |
Reported revenue per period; the line is the change from the same period a year earlier, on its own left axis.
Revenue, gross profit, operating income, and net income per period.
Click a row to chart it; unreported figures show a dash.
| Period | FY16 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | 124M | 133.2M | 143.6M | 160.2M | 170.9M | 199.4M | 223.2M | 250.6M | 268.1M | 294.1M |
| Cost of revenue | 17.9M | 18.9M | 19.4M | 21.2M | 19.6M | 29.6M | 35.8M | 40.3M | 40.6M | 43M |
| Gross profit | 106.2M | 114.3M | 124.2M | 139M | 151.4M | 169.8M | 187.4M | 210.3M | 227.5M | 251.1M |
| Gross margin | 85.6% | 85.8% | 86.5% | 86.8% | 88.5% | 85.2% | 84% | 83.9% | 84.9% | 85.4% |
| Research & development | — | — | — | — | — | — | — | — | — | — |
| Selling, general & administrative | 11M | 12M | 13.2M | 13.9M | 15M | 17.6M | 20M | 22.7M | 23.8M | 26.8M |
| Operating expenses | 11M | 12M | 13.2M | 13.9M | 15M | 17.6M | 20M | 22.7M | 23.8M | 26.8M |
| Operating income | 74.6M | 80.5M | 87.1M | 98.8M | 106.9M | 117.3M | 125.9M | 136.9M | 149.2M | 163.9M |
| Operating margin | 60.2% | 60.4% | 60.6% | 61.6% | 62.5% | 58.8% | 56.4% | 54.6% | 55.6% | 55.7% |
| Non-operating income, net | 16.7M | 10.9M | 16.1M | 944K | 170K | 467K | 8.7M | 3.3M | 963K | 800K |
| Pretax income | 76.5M | 71.9M | 83.2M | 73.2M | 77.8M | 85.2M | 98.1M | 95.6M | 100.9M | 112.8M |
| Income tax | -80.3M | -18K | 262K | 265K | 247K | -534K | 237K | 130K | 308K | 303K |
| Net income | 156.8M | 71.9M | 82.9M | 72.9M | 77.6M | 85.7M | 97.9M | 95.5M | 100.6M | 112.5M |
| Net margin | 126.5% | 54% | 57.7% | 45.5% | 45.4% | 43% | 43.9% | 38.1% | 37.5% | 38.2% |
| EBITDA | 95.3M | 102.6M | 111.8M | 126M | 136.5M | 152.2M | 167.9M | 188.6M | 204.6M | 225.1M |
| EPS | 3.02 | 1.18 | 1.29 | 1.06 | 1.08 | 1.12 | 1.2 | 1.08 | 1.07 | 1.09 |
| Diluted EPS | 2.89 | 1.18 | 1.28 | 1.06 | 1.08 | 1.11 | 1.2 | 1.07 | 1.07 | 1.09 |
Revenue, gross profit, operating income, and net income per period.
Click a row to chart it; unreported figures show a dash.
| Period | Q3 23 | Q4 23 | Q1 24 | Q2 24 | Q3 24 | Q4 24 | Q1 25 | Q2 25 | Q3 25 | Q4 25 | Q1 26 | Q2 26 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | 64.8M | 65.1M | 66.5M | 66.5M | 66.8M | 68.3M | 71.5M | 72.8M | 74.1M | 75.7M | 78.2M | 78.4M |
| Cost of revenue | 10.1M | 9.8M | 10.6M | 10.2M | 9.6M | 10.1M | 10.8M | 10.7M | 10.9M | 10.5M | 11.3M | 11.4M |
| Gross profit | 54.7M | 55.3M | 55.8M | 56.3M | 57.1M | 58.2M | 60.7M | 62.1M | 63.2M | 65.1M | 66.9M | 67M |
| Gross margin | 84.4% | 85% | 84% | 84.7% | 85.6% | 85.2% | 84.9% | 85.2% | 85.3% | 86.1% | 85.6% | 85.4% |
| Research & development | — | — | — | — | — | — | — | — | — | — | — | — |
| Selling, general & administrative | 5.5M | 5.5M | 6.2M | 6M | 5.8M | 5.7M | 7.6M | 6.4M | 6.5M | 6.2M | 7.5M | 7.2M |
| Operating expenses | 5.5M | 5.5M | 6.2M | 6M | 5.8M | 5.7M | 7.6M | 6.4M | 6.5M | 6.2M | 7.5M | 7.2M |
| Operating income | 35.8M | 36.5M | 36.1M | 37M | 37.7M | 38.4M | 38.6M | 41M | 41.7M | 42.6M | 43.2M | 43.2M |
| Operating margin | 55.2% | 56% | 54.4% | 55.6% | 56.4% | 56.2% | 54% | 56.3% | 56.2% | 56.3% | 55.3% | 55.1% |
| Non-operating income, net | 601K | 398K | 240K | 150K | 331K | 242K | 392K | 113K | 188K | 107K | 342K | 684K |
| Pretax income | 24.1M | 24.5M | 24.1M | 24.8M | 25.7M | 26.3M | 26.2M | 28.1M | 28.9M | 29.6M | 30.5M | 30.1M |
| Income tax | -89K | 80K | 27K | 86K | 90K | 105K | 63K | 112K | 30K | 98K | 98K | 67K |
| Net income | 24.2M | 24.5M | 24.1M | 24.7M | 25.6M | 26.2M | 26.2M | 28M | 28.9M | 29.5M | 30.4M | 30M |
| Net margin | 37.3% | 37.5% | 36.2% | 37.2% | 38.3% | 38.4% | 36.6% | 38.4% | 38.9% | 38.9% | 38.8% | 38.3% |
| EBITDA | 49.5M | 49.9M | 49.8M | 50.5M | 51.6M | 52.7M | 53.4M | 55.8M | 56.9M | 59M | 59.8M | 60.4M |
| EPS | 0.27 | — | 0.26 | 0.27 | 0.27 | 0.27 | 0.26 | 0.28 | 0.28 | 0.28 | 0.28 | 0.27 |
| Diluted EPS | 0.27 | — | 0.26 | 0.27 | 0.27 | 0.27 | 0.26 | 0.28 | 0.28 | 0.28 | 0.28 | 0.27 |
Annual history by fiscal year; click a table row below to chart a different metric.
Current values are trailing twelve months where available, otherwise the latest fiscal year; unreported figures show a dash.
| Metric | FY16 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Market cap | — | 1.6B | 1.7B | 1.9B | 2.1B | 2.3B | 2.1B | 2.2B | 2.5B | 2.4B | 2.4B |
| Enterprise value | — | 2B | 2.2B | 2.6B | 2.9B | 3.1B | 3.1B | 3.3B | 3.7B | 3.6B | 3.7B |
| Shares outstanding | 57M | 60.6M | 64M | 68.4M | 71.3M | 76.7M | 81.6M | 88.5M | 93.6M | 102.7M | 102.7M |
| Metric | FY16 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|---|---|
| P/E | — | 21.7 | 20.2 | 26.4 | 27.4 | 26.3 | 21.6 | 23.5 | 25.3 | 21.1 | 20.2 |
| P/S | — | 11.7 | 11.7 | 12 | 12.4 | 11.3 | 9.48 | 8.94 | 9.48 | 8.05 | 7.95 |
| P/B | — | 2.98 | 2.4 | 2.65 | 2.51 | 2.34 | 1.86 | 1.78 | 1.75 | 1.45 | 1.5 |
| EV/EBITDA | — | 19.6 | 19.7 | 20.6 | 21.1 | 20.6 | 18.4 | 17.7 | 18 | 15.8 | 15.6 |
| EV/Sales | — | 15.1 | 15.3 | 16.2 | 16.8 | 15.7 | 13.9 | 13.3 | 13.7 | 12.1 | 11.9 |
| Earnings yield | — | 4.61% | 4.94% | 3.78% | 3.65% | 3.8% | 4.63% | 4.26% | 3.96% | 4.75% | 4.95% |
| FCF yield | — | 5.07% | 4.82% | 5.43% | 4.31% | 5.43% | 6.71% | 7.37% | 5.67% | 8.12% | 7.85% |
| PEG | — | — | — | — | — | — | — | — | — | — | -5.65 |
| Metric | FY16 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Gross margin | 85.6% | 85.8% | 86.5% | 86.8% | 88.5% | 85.2% | 84% | 83.9% | 84.9% | 85.4% | 85.4% |
| Operating margin | 60.2% | 60.4% | 60.6% | 61.6% | 62.5% | 58.8% | 56.4% | 54.6% | 55.6% | 55.7% | 55.1% |
| Net margin | 126.5% | 54% | 57.7% | 45.5% | 45.4% | 43% | 43.9% | 38.1% | 37.5% | 38.2% | 38.7% |
| ROE | 33.4% | 13.8% | 11.9% | 10% | 9.18% | 8.9% | 8.6% | 7.58% | 6.93% | 6.9% | 7.65% |
| ROA | 16.7% | 6.73% | 6.17% | 5.04% | 4.65% | 4.51% | 4.45% | 3.89% | 3.79% | 3.85% | 3.7% |
| ROIC | 8.46% | 8.27% | 7.1% | 7.04% | 6.68% | 6.37% | 5.94% | 5.79% | 5.74% | 5.78% | 5.96% |
| Return on tangible assets | 16.8% | 6.78% | 6.35% | 5.48% | 5.26% | 5.06% | 4.93% | 4.31% | 4.18% | 4.23% | 4.33% |
| Metric | FY16 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Current ratio | 1.13 | 2.57 | 3.99 | 0.31 | 0.51 | 0.3 | 0.09 | 0.06 | 0.2 | 0.3 | 0.25 |
| Quick ratio | 1.12 | 2.57 | 3.99 | 0.3 | 0.43 | 0.29 | 0.07 | 0.06 | 0.19 | 0.29 | 0.34 |
| Debt / equity | 0.93 | 0.99 | 0.88 | 0.93 | 0.9 | 0.92 | 0.88 | 0.89 | 0.79 | 0.74 | 0.78 |
| Debt / assets | 0.47 | 0.48 | 0.46 | 0.47 | 0.46 | 0.47 | 0.46 | 0.46 | 0.43 | 0.41 | 0.42 |
| Net debt / EBITDA | 4.33 | 4.4 | 4.69 | 5.32 | 5.5 | 5.78 | 5.81 | 5.84 | 5.57 | 5.32 | 5.23 |
| Interest coverage | 6.16 | 4.69 | 5.17 | 3.76 | 3.66 | 3.62 | 3.7 | 3.14 | 3.05 | 3.17 | 3.25 |
| Effective tax rate | 0% | 0% | 0.31% | 0.36% | 0.32% | 0% | 0.24% | 0.14% | 0.31% | 0.27% | 0.25% |
| Metric | FY16 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue per share | 2.18 | 2.2 | 2.24 | 2.34 | 2.4 | 2.6 | 2.74 | 2.83 | 2.86 | 2.86 | 2.86 |
| EPS (basic) | 3.02 | 1.18 | 1.29 | 1.06 | 1.08 | 1.12 | 1.2 | 1.08 | 1.07 | 1.09 | 1.09 |
| EPS (diluted) | 2.89 | 1.18 | 1.28 | 1.06 | 1.08 | 1.11 | 1.2 | 1.07 | 1.07 | 1.09 | 1.1 |
| Book value per share | 8.25 | 8.61 | 10.9 | 10.6 | 11.8 | 12.6 | 14 | 14.2 | 15.5 | 15.9 | 14.8 |
| FCF per share | 1.24 | 1.3 | 1.26 | 1.53 | 1.28 | 1.6 | 1.74 | 1.87 | 1.54 | 1.87 | 1.77 |
| Cash per share | 0.47 | 1.06 | 1.44 | 0.07 | 0.16 | 0.08 | 0.32 | 0.18 | 0.04 | 0.12 | 0.36 |
| Capex per share | 0.42 | 0.26 | — | — | — | — | — | — | — | — | — |
| Metric | FY16 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Capex / revenue | 19.4% | 11.7% | — | — | — | — | — | — | — | — | — |
| Capex / operating cash flow | 31.1% | 19.5% | — | — | — | — | — | — | — | — | — |
| Payout ratio | 77.5% | 81.6% | 83.8% | 107.6% | 111.3% | 113% | 109.8% | 125.4% | 127.3% | 128% | 132.2% |
| Dividend yield | — | 3.77% | 4.14% | 4.07% | 4.07% | 4.3% | 5.08% | 5.35% | 5.04% | 6.08% | 2.21% |
Split-adjusted payout per share by ex-dividend date.
| Ex-dividend | Amount |
|---|---|
| Aug 31, 2026 | $0.122 |
| Jul 31, 2026 | $0.122 |
| Jun 30, 2026 | $0.367 |
| Mar 31, 2026 | $0.367 |
| Dec 31, 2025 | $0.367 |
| Sep 30, 2025 | $0.355 |
| — |
| FY21 | — | $1.12 | — | — | $199.4M | — |
| FY20 | — | $1.08 | — | — | $170.9M | — |
| FY19 | — | $1.06 | — | — | $160.2M | — |
| FY18 | — | $1.29 | — | — | $143.6M | — |
| FY17 | — | $1.18 | — | — | $133.2M | — |
| FY16 | — | $3.02 | — | — | $124M | — |
| Period | Q3 23 | Q4 23 | Q1 24 | Q2 24 | Q3 24 | Q4 24 | Q1 25 | Q2 25 | Q3 25 | Q4 25 | Q1 26 | Q2 26 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $64.8M | $65.1M | $66.5M | $66.5M | $66.8M | $68.3M | $71.5M | $72.8M | $74.1M | $75.7M | $78.2M | $78.4M |
| YoY change | +15.8% | +13.6% | +10.9% | +9.54% | +3.01% | +4.9% | +7.54% | +9.57% | +11% | +10.7% | +9.36% | +7.65% |
What the company owns (left stack) against what it owes plus shareholders' equity (right stack). The two stacks should match — that's the balance.
Click a row to chart it; unreported figures show a dash.
| Period | FY16 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 |
|---|---|---|---|---|---|---|---|---|---|---|
| Cash & short-term investments | 26.6M | 64.5M | 92M | 5.1M | 11.1M | 6.3M | 26.3M | 16.3M | 4.1M | 12.1M |
| Receivables | 162K | 383K | 782K | 380K | 1M | 1.3M | 2.7M | 3M | 3.5M | 5.8M |
| Inventory | 202K | 186K | 183K | 196K | 2.9M | 252K | 7.8M | 238K | 221K | 246K |
| Total current assets | 28.3M | 71.9M | 96.8M | 10.7M | 19.3M | 12.3M | 40.1M | 30.5M | 10.5M | 20.9M |
| Property, plant & equipment | -22.2M | -149.5M | — | 3.8M | 5.4M | 4.9M | 4.4M | 3.9M | 3.4M | 4.8M |
| Goodwill & intangibles | 3.5M | 7.7M | 38M | 115.8M | 192.6M | 208.5M | 212.4M | 236.1M | 247.2M | 258.7M |
| Total assets | 937.2M | 1.1B | 1.3B | 1.4B | 1.7B | 1.9B | 2.2B | 2.5B | 2.7B | 2.9B |
| Accounts payable | 726K | 1.1M | 986K | 799K | 376K | 550K | 766K | 1.3M | 931K | 751K |
| Short-term debt | — | — | — | — | — | — | 424.1M | 441.7M | — | — |
| Total current liabilities | 25.1M | 28M | 24.2M | 34.6M | 38.2M | 40.9M | 471.3M | 499.1M | 53.3M | 70.1M |
| Long-term debt | 438.9M | 515.5M | 615.9M | 676.1M | 762.3M | 885.1M | 577.9M | 676.8M | 1.1B | 1.2B |
| Total liabilities | 467M | 546.4M | 644.1M | 719.3M | 823.7M | 939.1M | 1.1B | 1.2B | 1.2B | 1.3B |
| Shareholders' equity | 470.1M | 522.3M | 699M | 726.7M | 844.5M | 963.9M | 1.1B | 1.3B | 1.5B | 1.6B |
| Total debt | 438.9M | 515.5M | 615.9M | 676.1M | 762.3M | 885.1M | 1B | 1.1B | 1.1B | 1.2B |
| Net debt | 412.3M | 451.1M | 523.9M | 671M | 751.2M | 878.8M | 975.8M | 1.1B | 1.1B | 1.2B |
What the company owns (left stack) against what it owes plus shareholders' equity (right stack). The two stacks should match — that's the balance.
Click a row to chart it; unreported figures show a dash.
| Period | Q3 23 | Q4 23 | Q1 24 | Q2 24 | Q3 24 | Q4 24 | Q1 25 | Q2 25 | Q3 25 | Q4 25 | Q1 26 | Q2 26 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Cash & short-term investments | — | — | — | — | — | — | — | — | 6.7M | 12.1M | 29.6M | 24.8M |
| Receivables | — | — | — | — | — | — | — | — | 5.1M | 5.8M | 5.1M | 4.3M |
| Inventory | — | — | — | — | — | — | — | — | 185K | 246K | 237K | 230K |
| Total current assets | — | — | — | — | — | — | — | — | 14.8M | 20.9M | 39.2M | 37.1M |
| Property, plant & equipment | — | — | — | — | — | — | — | — | 4.9M | 4.8M | 4.7M | 4.6M |
| Goodwill & intangibles | 122.1M | 118M | 115.8M | 114.1M | 118.5M | 123.6M | 119.9M | 122.2M | 247.9M | 258.7M | 253.2M | 256.8M |
| Total assets | — | — | — | — | — | — | — | — | 2.8B | 2.9B | 3B | 3B |
| Accounts payable | — | — | — | — | — | — | — | — | 686K | 751K | 665K | 695K |
| Short-term debt | — | — | — | — | — | — | — | — | — | — | — | — |
| Total current liabilities | — | — | — | — | — | — | — | — | 67M | 70.1M | 69.9M | 109.9M |
| Long-term debt | — | — | — | — | — | — | — | — | 1.2B | 1.2B | 1.2B | 1.3B |
| Total liabilities | — | — | — | — | — | — | — | — | 1.3B | 1.3B | 1.3B | 1.4B |
| Shareholders' equity | — | — | — | — | — | — | — | — | 1.5B | 1.6B | 1.7B | 1.6B |
| Total debt | — | — | — | — | — | — | — | — | 1.2B | 1.2B | 1.2B | 1.3B |
| Net debt | — | — | — | — | — | — | — | — | 1.2B | 1.2B | 1.2B | 1.2B |
Cash from operations, what's left after capex, and what went back to shareholders. Bars below the line are cash going out.
Click a row to chart it; unreported figures show a dash.
| Period | FY16 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 |
|---|---|---|---|---|---|---|---|---|---|---|
| Net income | 156.8M | 71.9M | 82.9M | 72.9M | 77.6M | 85.7M | 97.9M | 95.5M | 100.6M | 112.5M |
| Depreciation & amortization | 20.6M | 21.8M | 23.9M | 26.3M | 29.4M | 34.8M | 41.5M | 50.7M | 54.5M | 59.6M |
| Stock-based compensation | 1.6M | 2.7M | 4M | 3.6M | 3.4M | 3.9M | 5M | 6.3M | 7M | 8.9M |
| Change in working capital | -22.4M | -18.1M | -25.6M | -9.6M | -30.9M | -5.3M | 1.7M | 10.9M | -22.5M | 5.7M |
| Operating cash flow | 77.5M | 80.3M | 87.1M | 95.5M | 82.9M | 122.8M | 150.1M | 167.4M | 144.1M | 192.3M |
| Capital expenditure | 24.1M | 15.6M | — | — | — | — | — | — | — | — |
| Investing cash flow | 48M | 10.7M | — | — | — | — | — | — | — | 250K |
| Dividends paid | -121.6M | -58.7M | -69.5M | -78.5M | -86.3M | -96.9M | -107.5M | -119.7M | -128.1M | -144M |
| Share repurchases | 0 | 0 | -393K | -2.7M | — | — | — | — | — | — |
| Financing cash flow | -83M | 44.2M | 189.6M | 11.8M | 143.6M | 137.7M | 148.9M | 146.2M | 108.1M | 141M |
| Net change in cash | 42.5M | 135.2M | 276.7M | 107.3M | 226.5M | 260.6M | 299M | 313.6M | 252.2M | 333.6M |
| Free cash flow | 70.9M | 78.9M | 80.9M | 104.7M | 91.5M | 122.4M | 142M | 165.1M | 144.1M | 192.3M |
Cash from operations, what's left after capex, and what went back to shareholders. Bars below the line are cash going out.
Click a row to chart it; unreported figures show a dash.
| Period | Q3 23 | Q4 23 | Q1 24 | Q2 24 | Q3 24 | Q4 24 | Q1 25 | Q2 25 | Q3 25 | Q4 25 | Q1 26 | Q2 26 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Net income | 24.2M | 24.5M | 24.1M | 24.7M | 25.6M | 26.2M | 26.2M | 28M | 28.9M | 29.5M | 30.4M | 30M |
| Depreciation & amortization | 13.4M | 13.3M | 13.5M | 13.3M | 13.6M | 14.1M | 14.4M | 14.6M | 15.1M | 15.5M | 16.2M | 16.6M |
| Stock-based compensation | 1.5M | 1.5M | 1.6M | 1.7M | 1.8M | 1.8M | 2.8M | 2M | 2.2M | 1.9M | 2.6M | 2.5M |
| Change in working capital | 3.4M | -3.7M | -12.7M | -1.2M | 1.3M | -9.8M | 7M | -2.1M | 1.6M | -863K | -3.3M | 707K |
| Operating cash flow | 43.4M | 36.7M | 27.6M | 39.7M | 43.4M | 33.4M | 51.6M | 43.8M | 48.9M | 48M | 47.2M | 50.7M |
| Capital expenditure | — | — | — | — | — | — | — | — | — | — | — | — |
| Investing cash flow | — | — | — | — | — | — | — | — | — | — | — | — |
| Dividends paid | -30.7M | -30.7M | -31.5M | -31.7M | -31.7M | -33.2M | -35.4M | -35.4M | -36.2M | -37M | -39.6M | -40.1M |
| Share repurchases | — | — | — | — | — | — | — | — | — | — | — | — |
| Financing cash flow | 186.1M | 98.5M | -9.2M | -2.3M | 57.3M | 62.3M | 24.7M | 26.5M | 35.4M | 54.4M | -2.4M | 7.3M |
| Net change in cash | 229.6M | 135.1M | 18.4M | 37.4M | 100.7M | 95.7M | 76.3M | 70.3M | 84.3M | 102.4M | 44.8M | 58M |
| Free cash flow | 43.1M | 36.4M | 27.6M | 39.7M | 43.4M | 33.4M | 51.6M | 43.8M | 48.9M | 48M | 47.2M | 50.7M |
| Jun 30, 2025 |
| $0.355 |
| Mar 31, 2025 | $0.355 |