IDXX
Daily closes · 1Y (252 sessions) · -12.5% · range 526.44–766.68
The Businesswhat the company reports
Business & cash flow
| FCF / assets | 31.5% |
|---|---|
| OCF / assets | 35.3% |
| FCF / revenue | 27.5% |
| Gross margin | 62.4% |
| ROIC | 61.9% |
| Forward P/E | 34.1 |
FCF/assets and OCF/assets are the cash-flow measures Brown Bear's own testing found to survive; FCF/revenue is shown alongside for context. Assets are from the latest annual filing (FY2025).
Price vs Earnings growth
Forward EPS growth has outpaced trailing price return by +33.2pp
Confidence 95.0/100
Drivers
| Forward EPS growth | +20.7% |
|---|---|
| Trailing price return (1y) | -12.5% |
| Forward P/E compression | +17.1% |
Figures
| Trailing EPS | 13.87 |
|---|---|
| Forward EPS | 16.74 |
| Trailing P/E | 41.14 |
| Forward P/E | 34.09 |
Revisions
Stable (+1.4%, 10 dates)
Takeaway Earnings growth is outpacing price — consistent with the stock not yet fully reflecting its improving forward estimates.
Reported earnings
Revenue Net incomeEPS (GAAP) (2.32–3.63, own scale) Derived Q4
12 quarters to Q1 26. Revenue and net income share one scale, so the gap between them is the margin. The line is GAAP EPS — it spans every quarter shown, where the reported figure only goes back as far as the consensus feed does.
| Quarter ending | Revenue | YoY | Net income | EPS (GAAP) | EPS reported | vs consensus | Filed |
|---|---|---|---|---|---|---|---|
| 2026-03-31 | 1.14bn | +14.3% | 278.45m | 3.47 | 3.47 | +0.1% | 2026-05-05 |
| 2025-12-31 (derived) | 1.09bn | +14.3% | 248.19m | 3.06 | 3.08 | +3.1% | 2026-02-20 |
| 2025-09-30 | 1.11bn | +13.3% | 274.61m | 3.40 | 3.40 | +6.5% | 2025-11-03 |
| 2025-06-30 | 1.11bn | +10.6% | 293.99m | 3.63 | — | — | 2025-08-04 |
| 2025-03-31 | 998.43m | +3.6% | 242.68m | 2.96 | — | — | 2025-05-01 |
| 2024-12-31 (derived) | 954.29m | +5.8% | 216.15m | 2.60 | — | — | 2025-02-21 |
| 2024-09-30 | 975.54m | +6.6% | 232.84m | 2.80 | — | — | 2024-10-31 |
| 2024-06-30 | 1.00bn | +6.4% | 203.30m | 2.44 | — | — | 2024-08-06 |
| 2024-03-31 | 964.10m | — | 235.58m | 2.81 | — | — | 2024-05-01 |
| 2023-12-31 (derived) | 901.60m | — | 194.52m | 2.32 | — | — | 2024-02-22 |
| 2023-09-30 | 915.53m | — | 212.23m | 2.53 | — | — | 2023-11-01 |
| 2023-06-30 | 943.63m | — | 224.24m | 2.67 | — | — | 2023-08-01 |
Earnings response
| Typical move around a filing | ±5.0% |
|---|---|
| On an ordinary two days | ±1.5% — filings move it 3.3× as much |
| Direction | 7 up, 4 down over 11 filings |
Revenue up year on year Revenue down Price move around the filing separate scales — a crossing means nothing
| Quarter ending | Filed | Revenue YoY | Move around filing | Next 20 sessions vs SPY |
|---|---|---|---|---|
| 2026-03-31 | 2026-05-05 | +14.3% | +2.9% | -5.7% |
| 2025-09-30 | 2025-11-03 | +13.3% | +14.7% | -0.8% |
| 2025-06-30 | 2025-08-04 | +10.6% | +19.9% | -3.8% |
| 2025-03-31 | 2025-05-01 | +3.6% | +9.1% | +4.5% |
| 2024-09-30 | 2024-10-31 | +6.6% | -7.5% | -2.5% |
| 2024-06-30 | 2024-08-06 | +6.4% | +2.6% | -5.5% |
| 2024-03-31 | 2024-05-01 | +7.1% | -3.4% | +0.0% |
| 2023-09-30 | 2023-11-01 | +8.8% | +5.0% | +8.5% |
| 2023-06-30 | 2023-08-01 | +9.7% | -6.4% | -1.8% |
| 2023-03-31 | 2023-05-02 | +7.6% | -2.2% | -5.3% |
| 2022-09-30 | 2022-11-01 | +3.9% | +3.6% | +9.2% |
Share count
Diluted shares Return since the previous filing
| Direction | Shrinking — shares retired |
|---|---|
| Diluted shares | 80.2M as at 2026-03-31 |
| Change over 1 year | -2.1% |
| Change over 3 years | -4.5% |
| Public float | $42.90bn as at 2025-06-30 (10-K) |
The Pricewhat the chart is doingTop ↑
Price Levels
| Strategy | Fair Value Anchor |
|---|---|
| Reference band | 520.32 — 573.43 |
| Protective stop | 502.15 (Atr, 8.2% risk) |
| Support | 549.74 (9 touches, 3.8% away) |
| Resistance | 578.78 (1.4% away) |
Takeaway The shares are nearer the ceiling than the floor: about 1.4% below 578.78, where sellers have turned up before, and 3.8% above 549.74, where buyers have stepped in before. That floor has held 9 times, which is how it was spotted. If someone bought at today's price and sold if it dropped through the level below, they would be about 8.2% out of pocket. That is all this figure means — an illustration of the risk, not a price to sell at.
Levels are computed from price structure. They describe where the engine locates support and extension — they are not targets, and not advice.
Ichimoku Cloud (Adaptive)
| Daily cloud | Price BELOW the cloud | periods 5/14/29 (55% of classic 9/26/52) |
|---|---|
| Lines | Tenkan/Kijun BULL (fresh up cross, 5d ago) | cloud twist BEAR (fresh down, 1d ago) |
| Cloud event | Fresh down breakout 0d ago |
| Cloud thickness | 37% percentile |
| Chikou span | Above price from 26 periods ago |
| Weekly cloud | Price BELOW the weekly cloud (context only, not scored) |
Takeaway The stock is trading below its cloud — a shaded band drawn from several of its own moving averages, currently 573.19 to 579.25. Being below it means the medium-term picture is pointing downwards, and that band is the first hurdle it would have to climb back through. Its shorter-term averages point the other way, so this is a mixed reading rather than a clear one.
Trailing returns
| 21 days | +5.5% |
|---|---|
| 63 days | +6.9% |
| 126 days | -11.7% |
| 252 days | -12.5% |
| Below 252d high | 25.6% |
Trend context
| Position | Above trend |
|---|---|
| Extension | Extended |
| Trend slope | Flat |
| Direction of travel | Holding its deviation |
Takeaway The share price is above the level its own longer-run trend suggests is fair, and that fair level is going sideways. The gap between the two has been fairly steady. Being stretched this far above trend measures how much room there is to fall back — it does not say the stock will stop rising.
Volatility
| State | Expanding |
|---|---|
| Current band width | 11.6% of price |
| Recent tightest | 7.4% (8 sessions ago, narrower than 71.0% of its history) |
| Expansion since | 1.57× |
| Band | 535.59 — 601.63 |
Takeaway Lately this share price has been swinging around inside a range roughly 12% wide. That is normal for this stock, so there is nothing unusual to read into it either way.
Historical trends
History begins when the site started recording, not when the company listed, so a short line means a short record and nothing more.
Repair Pathway
- Nearest Trigger EMA20 reclaim +0.2% gap is improving · Broadly stable
- Trigger 2 MACD histogram acceleration turns positive repair trigger repair engine identifies this as the nearest technical repair catalyst · Deteriorating
- Trigger 3 Volume confirmation above 1.2x +0.20x volume confirmation would improve confidence in the pathway · Broadly stable
- Trigger 4 Relative momentum rank back above 0.45 secondary repair secondary repair catalyst could add confirmation if the primary trigger develops · Broadly stable
- Trigger 5 Relative momentum rank above 0.55 +0.36 rank relative momentum leadership is not yet strong enough for the next action tier · Broadly stable
Who's Tradingthe flow behind the priceTop ↑
Insider activity
| Activity | No filings in the window |
|---|---|
| Buy filings | 0 |
| Sell filings | 0 |
Open-market Form 4 purchases and sales over the last 75 days, read from SEC EDGAR Form 4. Grants, option exercises, gifts and shares withheld for tax are excluded — they are compensation mechanics, not a decision to buy or sell. Reported Form 4 activity. Brown Bear tested insider cluster-buying as a return signal and rejected it as era-unstable; shown as fact, not signal.
Volume confirmation
| Volume-price trend | Above its signal line |
|---|---|
| Confirmation | Marginal |
No absorption or distribution event in the recent window.
Takeaway Slightly more shares change hands on rising days than on falling ones, but the gap is too small to read anything into.
Options Positioning
No binary-event flag
IDXX: no binary-event flag. Near IV 39%, far IV 30% (ratio 1.28), implied move 4.9%.
| Implied volatility | 39% near (9d) · 30% far (65d) — Term structure inverted — the market is pricing an event in the near window |
|---|---|
| Term structure | 1.28× near/far |
| Historical volatility | 29% |
| Implied vs historical | 1.32× |
| Implied move | ±4.9% by 2026-08-21 |
| Implied move vs ATR | 0.52× |
| Skew | Flat (1.00×) |
| Call wall | 630.00 (+10.4% away) |
| Put wall | 480.00 (-15.9% away) |
| Gamma pin | 480.00 |
- Term structure inverted (near 39% IV vs far 30% IV, ratio 1.28)
Takeaway Insuring against a move in this stock costs more for the next few weeks than for the next few months. Traders usually pay up like that when they know something is coming soon — results, a court ruling, a regulatory decision. Options traders are positioned for a move of around 4.9% in either direction by 2026-08-21.
Chain as at 2026-08-12. This is a risk read on whether a specific event is being priced — not a directional view.
Context & Methodthe record, and how it was builtTop ↑
Relative Rotation
Mixed Rotation Phase
Rotation health 51.5/100; Mixed Rotation.
| Rotation health | 51.5 |
|---|---|
| Rotation strength | 66.3 |
| Leg | Quadrant | RS-Ratio | RS-Mom |
|---|---|---|---|
| Stock vs sector | Weakening | 112.5 | 86.2 |
| Stock vs SPY | Weakening | 107.8 | 99.2 |
| Sector vs SPY | Improving | 86.4 | 102.1 |
Direction of travel: South-East / trend strong but momentum cooling
Position only. Brown Bear's RRG redesign programme is closed — five constructions, none beat an appropriate null — so this section describes where the name sits, and is not a signal.
News Headlines
- Loading headlines\u2026
Headlines are supplied by third-party feeds and are not written, ranked or interpreted by Brown Bear. They feed no score on this page.
Detailed Scoring
Positive signals
- Piotroski F-score 6/9 (+15.0)
- Altman Z-score 30.77 (+10.0)
- Gross margin quality: 62.4% (+15.6)
- ROIC quality: 61.9% (+30.0)
- FCF margin quality: 27.5% (+18.3)
- ROIC improving by 10.6 pts (+8.0)
- FCF margin improving by 3.6 pts (+2.0)
- High earnings quality (accrual ratio -0.037) (+2.0)
- Accrual ratio improving (-0.01 -> -0.04) (+5.0)
- Track 1: MACD histogram state (1.55) (+8.0)
- Track 1: 20-day momentum acceleration 0.05 (+3.0)
- Track 1: bullish DI spread 18.9 (+5.0)
- Track 1: ADX 25.6 and rising (+5.0)
- Track 1: EMA20 slope improving 1.5% (+3.8)
- Track 1: positive MACD regime (+3.0)
- Track 1: MACD line/signal repair quality (+8.0)
- Track 1: MACD slope improving (+5.0)
- Track 1: RSI recovery 63.4, 5-day change +9.4 (+2.9)
- Track 1: VPT strength 0.02 (+0.5)
- Track 1: price above EMA50 by 0.8% (+0.5)
- Track 1: EMA50 slope improving 1.2% (+2.4)
- Track 1: EMA50 support proximity 0.8% (+4.3)
- Track 1: EMA200 support proximity 2.4% (+5.3)
- Track 1: Bollinger position 0.53 (+3.8)
Negative signals
- Underperforming sector over 20 days
- Track 1: weak volume confirmation (0.65x average)
- Relative strength versus sector deteriorating
- Weak relative momentum rank (0.19)
- Track 1: price below EMA20 by 0.2%
- Track 1: MACD histogram deteriorating (-1.63)
Chase risk is not elevated for this name, so extension penalties are omitted from the negative signals above.