FAST

Fastenal Company ·Nasdaq Global Select·Industrials
52.23 live · 2026-08-12 15:59
80.6%
Brown Bear Score
83.1%
Business Conviction Score
70.7%
Position Health Score
46.4%
Chase Risk
Daily closes

Daily closes · 1Y (252 sessions) · +7.8% · range 39.15–52.38

The Businesswhat the company reports

Business & cash flow

FCF / assets 20.8%
OCF / assets 25.6%
FCF / revenue 15.8%
Gross margin 44.7%
ROIC 38.3%
Forward P/E 37.4

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 +12.7pp

Confidence 95.0/100

Takeaway Earnings growth is outpacing price — consistent with the stock not yet fully reflecting its improving forward estimates.

Reported earnings

Next report 2026-10-14 · consensus EPS 0.34

Q3 23 revenue: 1.85bnQ3 23 net income: 295.50mQ3 23 EPS: 0.26Q4 23 revenue: 1.76bnQ4 23 net income: 266.40mQ4 23 EPS: 0.23Q4 23Q1 24 revenue: 1.90bnQ1 24 net income: 297.70mQ1 24 EPS: 0.26Q2 24 revenue: 1.92bnQ2 24 net income: 292.70mQ2 24 EPS: 0.25Q2 24Q3 24 revenue: 1.91bnQ3 24 net income: 298.10mQ3 24 EPS: 0.26Q4 24 revenue: 1.82bnQ4 24 net income: 262.10mQ4 24 EPS: 0.23Q4 24Q1 25 revenue: 1.96bnQ1 25 net income: 298.70mQ1 25 EPS: 0.26Q2 25 revenue: 2.08bnQ2 25 net income: 330.30mQ2 25 EPS: 0.29Q2 25Q3 25 revenue: 2.13bnQ3 25 net income: 335.50mQ3 25 EPS: 0.29Q4 25 revenue: 2.03bnQ4 25 net income: 293.90mQ4 25 EPS: 0.26Q4 25Q1 26 revenue: 2.20bnQ1 26 net income: 339.80mQ1 26 EPS: 0.30Q2 26 revenue: 2.39bnQ2 26 net income: 382.80mQ2 26 EPS: 0.33Q2 26

Revenue Net incomeEPS (GAAP) (0.23–0.33, own scale) Derived Q4

12 quarters to Q2 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 endingRevenueYoY Net incomeEPS (GAAP) EPS reportedvs consensus Filed
2026-06-30 2.39bn +14.7% 382.80m 0.33 0.33 -1.3% 2026-07-16
2026-03-31 2.20bn +12.4% 339.80m 0.30 0.30 -1.8% 2026-04-16
2025-12-31 (derived) 2.03bn +11.1% 293.90m 0.26 0.26 -1.6% 2026-02-05
2025-09-30 2.13bn +11.7% 335.50m 0.29 0.29 -3.9% 2025-10-16

Earnings response

Typical move around a filing ±0.7%
On an ordinary two days ±1.1% — filings move it 0.6× as much
Direction 7 up, 5 down over 12 filings
Revenue change and price reaction, by quarter
Q3 22 revenue +16.0% year on yearQ3 22 filed 2022-10-18: price -0.0%Q1 23 revenue +9.1% year on yearQ1 23 filed 2023-04-18: price +0.9%Q1 23Q2 23 revenue +5.9% year on yearQ2 23 filed 2023-07-18: price +0.0%Q3 23 revenue +2.4% year on yearQ3 23 filed 2023-10-17: price -1.8%Q3 23Q1 24 revenue +1.9% year on yearQ1 24 filed 2024-04-16: price -1.3%Q2 24 revenue +1.8% year on yearQ2 24 filed 2024-07-17: price -0.3%Q2 24Q3 24 revenue +3.5% year on yearQ3 24 filed 2024-10-16: price +0.9%Q1 25 revenue +3.4% year on yearQ1 25 filed 2025-04-16: price -0.1%Q1 25Q2 25 revenue +8.6% year on yearQ2 25 filed 2025-07-17: price +1.0%Q3 25 revenue +11.7% year on yearQ3 25 filed 2025-10-16: price +0.5%Q3 25Q1 26 revenue +12.4% year on yearQ1 26 filed 2026-04-16: price +3.1%Q2 26 revenue +14.7% year on yearQ2 26 filed 2026-07-16: price +0.3%Q2 26

Revenue up year on year Revenue down Price move around the filing separate scales — a crossing means nothing

Quarter endingFiledRevenue YoY Move around filingNext 20 sessions vs SPY
2026-06-30 2026-07-16 +14.7% +0.3%
2026-03-31 2026-04-16 +12.4% +3.1% -9.1%
2025-09-30 2025-10-16 +11.7% +0.5% -5.4%
2025-06-30 2025-07-17 +8.6% +1.0% +3.5%

Share count

Diluted shares over time

Diluted shares Return since the previous filing

Direction Flat — little net change
Diluted shares 1,150.3M as at 2026-06-30
Change over 1 year +0.0%
Change over 3 years +0.4%
Public float $48.11bn as at 2025-06-30 (10-K)

History before 2011-06-30 is not shown. The share count jumps at that date by a ratio no ordinary issuance produces — a split whose factor is not in Brown Bear's split store — so earlier figures are on a different basis and cannot be compared with today's.

Counts are restated for the 2:1 split of 2025-05-22, which would otherwise read as a share issuance.

The Pricewhat the chart is doingTop ↑

Price Levels

StrategyAt Support Zone
Reference band 48.62 — 48.62
Protective stop 45.62 (Atr, 6.2% risk)
Support 45.92 (4 touches, 13.7% away)
Resistance (— away)

Takeaway The shares are about 13.7% above 45.92, a price buyers have stepped in at before. There is no ceiling to point to, because the stock is trading where it has not traded before and nobody has sold it at these levels. That floor has held 4 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 6.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 cloudPrice ABOVE the cloud | periods 7/20/41 (78% of classic 9/26/52)
LinesTenkan/Kijun BULL | cloud twist BULL (fresh up, 3d ago)
Cloud thickness88% percentile (thick — substantial structure)
Chikou spanAbove price from 26 periods ago
Weekly cloudPrice ABOVE the weekly cloud (context only, not scored)

Takeaway The stock is trading above its cloud — a shaded band drawn from several of its own moving averages, currently 48.49 to 50.11. Being above it means the medium-term picture is pointing upwards, and that band is the first place the stock has recent support if it slips back. Its shorter-term averages agree with that. The band is unusually wide at the moment, so it marks a broad zone rather than a single level.

Trailing returns

21 days +14.2%
63 days +20.5%
126 days +11.9%
252 days +9.2%
Below 252d high0.3%

Trend context

PositionAbove trend
ExtensionExtended
Trend slopeRising strongly
Direction of travelDiverging from trend

Takeaway Positive Kalman trend with moderate extension; constructive for momentum but watch entry risk.

Volatility

State Expanding
Current band width21.1% of price
Recent tightest8.8% (7 sessions ago, narrower than 46.0% of its history)
Expansion since2.38×
Band 43.18 — 53.37

Takeaway Lately this share price has been swinging around inside a range roughly 21% wide. That is normal for this stock, so there is nothing unusual to read into it either way.

Historical trends

0255075100Share price 44.52–52.382026-06-262026-08-12
Position Health Business Conviction Share price

History begins when the site started recording, not when the company listed, so a short line means a short record and nothing more.

Who's Tradingthe flow behind the priceTop ↑

Insider activity

ActivityNo filings in the window
Buy filings0
Sell filings0

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

FAST: no binary-event flag. Near IV 28%, far IV 29% (ratio 0.94), implied move 3.4%.

Implied volatility 28% near (9d) · 29% far (100d)
Term structure 0.94× near/far
Historical volatility 25%
Implied vs historical 1.09×
Implied move ±3.5% by 2026-08-21
Implied move vs ATR 0.50×
Skew Put Skew (1.54×)
Put wall 30.00 (-42.5% away)
Gamma pin 30.00

Takeaway Insuring against a move in this stock costs less for the next few weeks than for the next few months, which is the normal state of affairs and suggests no particular date is worrying anyone. Options traders are positioned for a move of around 3.5% 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

ImprovingLeadingLaggingWeakeningvs sectorvs SPYsector vs SPYRS-Ratio →RS-Momentum →

Leadership Cooling

Rotation health 80.9/100; Strong Rotation Tailwind.

Rotation health 80.9
Rotation strength 51.0
LegQuadrantRS-RatioRS-Mom
Stock vs sector Leading 122.5 108.6
Stock vs SPY Leading 120.3 109.2
Sector vs SPY Improving 87.2 105.9

Direction of travel: South-West / deteriorating rotation

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

  1. 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 7/9 (+20.0)
  • Altman Z-score 53.06 (+10.0)
  • Insider conviction score (+5.0)
  • Gross margin quality: 44.7% (+9.1)
  • ROIC quality: 38.3% (+28.5)
  • FCF margin quality: 15.8% (+10.5)
  • High earnings quality (accrual ratio -0.007) (+2.0)
  • Accrual ratio improving (-0.00 -> -0.01) (+5.0)
  • Relative Strength 8.7% vs sector: OUTPERFORMING (+10.0)
  • Track 1: MACD histogram state (0.51) (+6.0)
  • Track 1: relative strength trend improving (+5.0)
  • Track 1: 20-day momentum acceleration 0.17 (+9.0)
  • Track 1: bullish DI spread 37.2 (+8.0)
  • Track 1: ADX 35.7 and rising (+8.0)
  • Track 1: relative momentum rank 0.47 (+0.3)
  • Track 1: EMA20 reclaim distance 6.2% (+3.1)
  • Track 1: EMA20 slope improving 3.8% (+5.0)
  • Track 1: MACD histogram acceleration 0.16 (+4.0)
  • Track 1: positive MACD regime (+3.0)
  • Track 1: MACD line/signal repair quality (+8.0)
  • Track 1: MACD slope improving (+3.0)
  • Track 1: VPT strength 0.07 (+1.3)
  • Track 1: price above EMA50 by 9.8% (+5.0)
  • Track 1: EMA50 slope improving 3.0% (+3.0)
  • Track 1: Bollinger position 0.89 (+0.9)
  • Regime convergence: CONSTRUCTIVE_PULLBACK confidence 80.9/100 (STRONG) (+16.2)

Negative signals

  • Track 1: RSI deterioration/extension 82.7, 5-day change +16.2
  • Chase risk 46.4/100 (Elevated Chase Risk): RSI 82.7, EMA20 6.2%, EMA50 9.8%, BB 0.89, distribution 2.0/100
  • Gross margin improving by -0.4 pts (+-3.0)
  • Chase risk 46.4/100 | Extension score 53.6/100 | Elevated Chase Risk