MSC Industrial Direct (MSM): are the analysts right?

MSC Industrial Direct · Industrials · ref. ETF XLI · 50 calls · price $116.16
What the company does: MSC Industrial distribue des outils de coupe, abrasifs et produits d'entretien (MRO) pour l'industrie manufacturière.
📈 1-year price
$120.07+32.3% over range
Jul 8, 25low $81.08 · high $123.34Jul 7, 26
📏 Click 2 points (left → right) to measure the change · click again to clear.
SellBuy
Buy
67% recommend buying · 3 analysts

🎯 Analyst price target on MSM

High target · 1 analyst$145+24.8%
Median target · 3 analysts$129+11.1%
Low target · 1 analyst$95-18.2%
Current price$116.16

🗳️ The analyst consensus

Analyst breakdown · 3 (6 months)
Strong Buy0%
Buy67%
Hold33%
Sell0%
Strong Sell0%

💰 MSC Industrial Direct dividend

2.81%annual yield
That's ~$3.46 per share per year.

✅ Historical analyst reliability on MSM

Most reliable analysts on MSM (% profitable · 365j · ≥2 calls)
Baird 67% +7.2% 3
Stephens & Co. 50% -4.4% 4
Keybanc 38% +1.7% 8

📊 What $1,000 invested in MSC Industrial Direct would be worth

In short — $1,000 invested in MSC Industrial Direct 10 years ago would be worth $2,114 today, i.e. +8%/yr on average. Best year: 2016 (+64%), worst: 2024 (-26%). Price performance, excluding dividends.

If I'd invested $1,000 in MSC Industrial Direct

InvestmentWorth todayGain
1 years ago$1,593+59%
3 years ago$1,456+46%
5 years ago$1,410+41%
10 years ago$2,114+111%
since inception (1996)$9,239+824%

Return by year (MSC Industrial Direct)

YearReturn$1,000 invested at year start
2026 (YTD)+41%$1,414 (+41%)
2025+13%$1,593 (+59%)
2024-26%$1,175 (+17%)
2023+24%$1,456 (+46%)
2022-3%$1,415 (+42%)
20210%$1,410 (+41%)
2020+8%$1,516 (+52%)
2019+2%$1,546 (+55%)
2018-20%$1,231 (+23%)
2017+5%$1,287 (+29%)
2016+64%$2,114 (+111%)
⚠️ Past performance, not predictive nor advice. Prices in $, excluding dividends. Yahoo Finance data.

🔎 Detailed analyses

👥 Analysts & forecasts📊 Returns & performance💰 Dividend
📈 Fundamentals, technical momentum and live news will show here on the final site (loaded live from the same origin as the API).

📋 All analyst calls on MSM

DA Davidson
Jun 16, 26
▲ Buy · 🎯$145
Price at call : $115.18 — upside +26%
Today : $116.16 — upside +25%
🎯 on MSM : no call matured yet · 📊 on Industry : 43% · +15.0% (93 calls)
in progress (365j)
matures : Jun 16, 27
Keybanc
Jun 2, 26
▲ Overweight · 🎯$129
Price at call : $117.21 — upside +10%
Today : $116.16 — upside +11%
🎯 on MSM : 38% (8 calls matureds) · 📊 on Industry : 53.3% · +7.2% (428 calls)
in progress (365j)
matures : Jun 2, 27
Keybanc
Apr 27, 26
▲ Overweight · 🎯$117
Price at call : $104.17 — upside +12%
Today : $116.16 — upside +1%
🎯 on MSM : 38% (8 calls matureds) · 📊 on Industry : 53.3% · +7.2% (428 calls)
in progress (365j)
matures : Apr 27, 27
JP Morgan
Feb 6, 26
■ Neutral neutral · not a buy · 🎯$95
Price at call : $94.18 — gap to target +1%
Today : $116.16 — gap to target -18%
🎯 on MSM : 100% (1 call matured) · 📊 on Industry : 48% · +4.8% (279 calls)
in progress (365j)
matures : Feb 6, 27
JP Morgan
Oct 24, 25
▲ Overweight · 🎯$96
Price at call : $88 — upside +9%
Today : $116.16 — upside -17%
🎯 on MSM : 100% (1 call matured) · 📊 on Industry : 48% · +4.8% (279 calls)
in progress (365j)
matures : Oct 24, 26
JP Morgan
Oct 15, 25
▲ Overweight · 🎯$93
Price at call : $85.43 — upside +9%
Today : $116.16 — upside -20%
🎯 on MSM : 100% (1 call matured) · 📊 on Industry : 48% · +4.8% (279 calls)
in progress (365j)
matures : Oct 15, 26
■ Peer Perform neutral · not a buy
🎯 on MSM : 100% (1 call matured) · 📊 on Industry : 47.6% · -1.8% (42 calls)
in progress (365j)
matures : Oct 8, 26
Loop Capital
Jul 2, 25
■ Hold neutral · not a buy · 🎯$84
Price at call : $89.97 — gap to target -7%
Today : $116.16 — gap to target -28%
🎯 on MSM : 0% (1 call matured) · 📊 on Industry : 53.2% · +5.8% (62 calls)
in progress (365j)
matures : Jul 2, 26
Baird
Jul 2, 25
■ Neutral neutral · not a buy · 🎯$95
Price at call : $89.61 — gap to target +6%
Today : $116.16 — gap to target -18%
🎯 on MSM : 67% (3 calls matureds) · 📊 on Industry : 52.4% · +5.7% (309 calls)
in progress (365j)
matures : Jul 2, 26
■ Equal-Weight neutral · not a buy · 🎯$90
Price at call : $89.61 — gap to target +0%
Today : $116.16 — gap to target -23%
🎯 on MSM : 50% (4 calls matureds) · 📊 on Industry : 50% · +10.3% (70 calls)
in progress (365j)
matures : Jul 2, 26
JP Morgan
May 27, 25
▲ Overweight · 🎯$89
Price at call : $83.81 — upside +6%
Today : $116.16 — upside -23%
Expected +6% · Actual +28% · Reason (≥ +15%) : ✓ Yes
🎯 on MSM : 100% (1 call matured) · 📊 on Industry : 48% · +4.8% (279 calls)
+28.2%
stock +28% · XLI +22%
Loop Capital
Apr 4, 25
■ Hold neutral · not a buy · 🎯$74
Price at call : $70.15 — gap to target +5%
Today : $116.16 — gap to target -36%
🎯 on MSM : 0% (1 call matured) · 📊 on Industry : 53.2% · +5.8% (62 calls)
in progress (365j)
matures : Apr 4, 26
Baird
Apr 4, 25
■ Neutral neutral · not a buy · 🎯$84
Price at call : $71.22 — gap to target +18%
Today : $116.16 — gap to target -28%
🎯 on MSM : 67% (3 calls matureds) · 📊 on Industry : 52.4% · +5.7% (309 calls)
in progress (365j)
matures : Apr 4, 26
▲ Outperform · 🎯$95
Price at call : $81.78 — upside +16%
Today : $116.16 — upside -18%
Expected +16% · Actual +5% · Reason (≥ +15%) : ✗ No
🎯 on MSM : 100% (1 call matured) · 📊 on Industry : 47.6% · -1.8% (42 calls)
+4.6%
stock +5% · XLI +19%
■ Equal-Weight neutral · not a buy · 🎯$85
Price at call : $83.35 — gap to target +2%
Today : $116.16 — gap to target -27%
🎯 on MSM : 50% (4 calls matureds) · 📊 on Industry : 50% · +10.3% (70 calls)
in progress (365j)
matures : Dec 4, 25
JP Morgan
Oct 25, 24
■ Neutral neutral · not a buy · 🎯$73
Price at call : $81.09 — gap to target -10%
Today : $116.16 — gap to target -37%
🎯 on MSM : 100% (1 call matured) · 📊 on Industry : 48% · +4.8% (279 calls)
in progress (365j)
matures : Oct 25, 25
Baird
Oct 16, 24
■ Neutral neutral · not a buy · 🎯$91
Price at call : $82.68 — gap to target +10%
Today : $116.16 — gap to target -22%
🎯 on MSM : 67% (3 calls matureds) · 📊 on Industry : 52.4% · +5.7% (309 calls)
in progress (365j)
matures : Oct 16, 25
Loop Capital
Jul 3, 24
■ Hold neutral · not a buy · 🎯$75
Price at call : $77.37 — gap to target -3%
Today : $116.16 — gap to target -35%
🎯 on MSM : 0% (1 call matured) · 📊 on Industry : 53.2% · +5.8% (62 calls)
in progress (365j)
matures : Jul 3, 25
JP Morgan
Jul 3, 24
■ Neutral neutral · not a buy · 🎯$80
Price at call : $77.37 — gap to target +3%
Today : $116.16 — gap to target -31%
🎯 on MSM : 100% (1 call matured) · 📊 on Industry : 48% · +4.8% (279 calls)
in progress (365j)
matures : Jul 3, 25
Loop Capital
Jun 17, 24
■ Hold neutral · not a buy · 🎯$80
Price at call : $79.45 — gap to target +1%
Today : $116.16 — gap to target -31%
🎯 on MSM : 0% (1 call matured) · 📊 on Industry : 53.2% · +5.8% (62 calls)
in progress (365j)
matures : Jun 17, 25
Keybanc
Jun 17, 24
■ Sector Weight neutral · not a buy
🎯 on MSM : 38% (8 calls matureds) · 📊 on Industry : 53.3% · +7.2% (428 calls)
in progress (365j)
matures : Jun 17, 25
▲ Overweight · 🎯$110
Price at call : $75.84 — upside +45%
Today : $116.16 — upside -5%
Expected +45% · Actual +8% · Reason (≥ +15%) : ✗ No
🎯 on MSM : 50% (4 calls matureds) · 📊 on Industry : 50% · +10.3% (70 calls)
+8.2%
stock +8% · XLI +19%
Baird
Jun 14, 24
■ Neutral neutral · not a buy · 🎯$84
Price at call : $75.84 — gap to target +11%
Today : $116.16 — gap to target -28%
🎯 on MSM : 67% (3 calls matureds) · 📊 on Industry : 52.4% · +5.7% (309 calls)
in progress (365j)
matures : Jun 14, 25
Baird
May 29, 24
■ Neutral neutral · not a buy · 🎯$95
Price at call : $84.98 — gap to target +12%
Today : $116.16 — gap to target -18%
🎯 on MSM : 67% (3 calls matureds) · 📊 on Industry : 52.4% · +5.7% (309 calls)
in progress (365j)
matures : May 29, 25
▲ Overweight · 🎯$110
Price at call : $95.95 — upside +15%
Today : $116.16 — upside -5%
Expected +15% · Actual -19% · Reason (≥ +15%) : ✗ No
🎯 on MSM : 50% (4 calls matureds) · 📊 on Industry : 50% · +10.3% (70 calls)
-18.9%
stock -19% · XLI +5%
Keybanc
Jan 10, 24
▲ Overweight · 🎯$102
Price at call : $93.81 — upside +9%
Today : $116.16 — upside -12%
Expected +9% · Actual -15% · Reason (≥ +15%) : ✗ No
🎯 on MSM : 38% (8 calls matureds) · 📊 on Industry : 53.3% · +7.2% (428 calls)
-14.8%
stock -15% · XLI +17%
Loop Capital
Oct 9, 23
▲ Buy · 🎯$124
Price at call : $101.32 — upside +22%
Today : $116.16 — upside +7%
Expected +22% · Actual -21% · Reason (≥ +15%) : ✗ No
🎯 on MSM : 0% (1 call matured) · 📊 on Industry : 53.2% · +5.8% (62 calls)
-20.8%
stock -21% · XLI +32%
Baird
Jun 30, 23
▲ Outperform · 🎯$110
Price at call : $95.73 — upside +15%
Today : $116.16 — upside -5%
Expected +15% · Actual -18% · Reason (≥ +15%) : ✗ No
🎯 on MSM : 67% (3 calls matureds) · 📊 on Industry : 52.4% · +5.7% (309 calls)
-18.3%
stock -18% · XLI +12%
JP Morgan
Jun 30, 23
■ Neutral neutral · not a buy · 🎯$89
Price at call : $95.28 — gap to target -7%
Today : $116.16 — gap to target -23%
🎯 on MSM : 100% (1 call matured) · 📊 on Industry : 48% · +4.8% (279 calls)
in progress (365j)
matures : Jun 29, 24
Keybanc
Apr 21, 23
▲ Overweight · 🎯$105
Price at call : $91.3 — upside +15%
Today : $116.16 — upside -10%
Expected +15% · Actual +1% · Reason (≥ +15%) : ✗ No
🎯 on MSM : 38% (8 calls matureds) · 📊 on Industry : 53.3% · +7.2% (428 calls)
+1.4%
stock +1% · XLI +21%
Keybanc
Apr 5, 23
▲ Overweight · 🎯$97
Price at call : $84.49 — upside +15%
Today : $116.16 — upside -16%
Expected +15% · Actual +13% · Reason (≥ +15%) : ✗ No
🎯 on MSM : 38% (8 calls matureds) · 📊 on Industry : 53.3% · +7.2% (428 calls)
+13.1%
stock +13% · XLI +29%
JP Morgan
Apr 5, 23
■ Neutral neutral · not a buy · 🎯$86
Price at call : $84.56 — gap to target +2%
Today : $116.16 — gap to target -26%
🎯 on MSM : 100% (1 call matured) · 📊 on Industry : 48% · +4.8% (279 calls)
in progress (365j)
matures : Apr 4, 24
▲ Overweight · 🎯$100
Price at call : $84.56 — upside +18%
Today : $116.16 — upside -14%
Expected +18% · Actual +13% · Reason (≥ +15%) : ✗ No
🎯 on MSM : 50% (4 calls matureds) · 📊 on Industry : 50% · +10.3% (70 calls)
+12.9%
stock +13% · XLI +27%
Loop Capital
Apr 5, 23
■ Hold neutral · not a buy · 🎯$89
Price at call : $84.56 — gap to target +5%
Today : $116.16 — gap to target -23%
🎯 on MSM : 0% (1 call matured) · 📊 on Industry : 53.2% · +5.8% (62 calls)
in progress (365j)
matures : Apr 4, 24
Baird
Apr 5, 23
▲ Outperform · 🎯$104
Price at call : $84.56 — upside +23%
Today : $116.16 — upside -10%
Expected +23% · Actual +13% · Reason (≥ +15%) : ✗ No
🎯 on MSM : 67% (3 calls matureds) · 📊 on Industry : 52.4% · +5.7% (309 calls)
+12.9%
stock +13% · XLI +27%
Keybanc
Oct 14, 22
▲ Overweight · 🎯$93
Price at call : $74.93 — upside +24%
Today : $116.16 — upside -20%
Expected +24% · Actual +39% · Reason (≥ +15%) : ✓ Yes
🎯 on MSM : 38% (8 calls matureds) · 📊 on Industry : 53.3% · +7.2% (428 calls)
+39.0%
stock +39% · XLI +21%
Baird
Jun 30, 22
▲ Outperform · 🎯$100
Price at call : $75.11 — upside +33%
Today : $116.16 — upside -14%
Expected +33% · Actual +27% · Reason (≥ +15%) : ✓ Yes
🎯 on MSM : 67% (3 calls matureds) · 📊 on Industry : 52.4% · +5.7% (309 calls)
+26.9%
stock +27% · XLI +23%
William Blair
Jun 30, 22
■ Market Perform neutral · not a buy
🎯 on MSM : 0% (1 call matured) · 📊 on Industry : 44.4% · +9.4% (36 calls)
in progress (365j)
matures : Jun 30, 23
Keybanc
Mar 31, 22
▲ Overweight · 🎯$100
Price at call : $85.21 — upside +17%
Today : $116.16 — upside -14%
Expected +17% · Actual -1% · Reason (≥ +15%) : ✗ No
🎯 on MSM : 38% (8 calls matureds) · 📊 on Industry : 53.3% · +7.2% (428 calls)
-1.4%
stock -1% · XLI -2%
Keybanc
Sep 27, 21
▲ Overweight · 🎯$91
Price at call : $81.65 — upside +11%
Today : $116.16 — upside -22%
Expected +11% · Actual -11% · Reason (≥ +15%) : ✗ No
🎯 on MSM : 38% (8 calls matureds) · 📊 on Industry : 53.3% · +7.2% (428 calls)
-11.4%
stock -11% · XLI -17%
Loop Capital
Aug 3, 21
■ Hold neutral · not a buy · 🎯$92
Price at call : $88.21 — gap to target +4%
Today : $116.16 — gap to target -21%
🎯 on MSM : 0% (1 call matured) · 📊 on Industry : 53.2% · +5.8% (62 calls)
in progress (365j)
matures : Aug 3, 22
Deutsche Bank
Jul 15, 21
■ Hold neutral · not a buy · 🎯$98
Price at call : $88.81 — gap to target +10%
Today : $116.16 — gap to target -16%
🎯 on MSM : no call matured yet · 📊 on Industry : 51.1% · +7.5% (221 calls)
in progress (365j)
matures : Jul 15, 22
▲ Overweight · 🎯$115
Price at call : $91.85 — upside +25%
Today : $116.16 — upside -1%
Expected +25% · Actual -20% · Reason (≥ +15%) : ✗ No
🎯 on MSM : 50% (4 calls matureds) · 📊 on Industry : 50% · +10.3% (70 calls)
-19.8%
stock -20% · XLI -16%
■ Hold neutral · not a buy · 🎯$96
Price at call : $89.75 — gap to target +7%
Today : $116.16 — gap to target -17%
🎯 on MSM : no call matured yet · 📊 on Industry : 51.1% · +7.5% (221 calls)
in progress (365j)
matures : Jul 2, 22
Keybanc
May 3, 21
▲ Overweight · 🎯$102
Price at call : $92.19 — upside +11%
Today : $116.16 — upside -12%
Expected +11% · Actual -11% · Reason (≥ +15%) : ✗ No
🎯 on MSM : 38% (8 calls matureds) · 📊 on Industry : 53.3% · +7.2% (428 calls)
-11.0%
stock -11% · XLI -7%
■ Hold neutral · not a buy · 🎯$94
Price at call : $90 — gap to target +4%
Today : $116.16 — gap to target -19%
🎯 on MSM : no call matured yet · 📊 on Industry : 51.1% · +7.5% (221 calls)
in progress (365j)
matures : Apr 8, 22
▲ Outperform
Actual -6% · Reason (≥ +15%) : ✗ No
🎯 on MSM : 0% (1 call matured) · 📊 on Industry : 44.4% · +9.4% (36 calls)
-5.9%
stock -6% · XLI +0%
Wells Fargo
Apr 8, 21
▲ Overweight · 🎯$105
Price at call : $90 — upside +17%
Today : $116.16 — upside -10%
Expected +17% · Actual -6% · Reason (≥ +15%) : ✗ No
🎯 on MSM : 0% (1 call matured) · 📊 on Industry : 48.8% · +5.0% (248 calls)
-5.9%
stock -6% · XLI +0%
■ Hold neutral · not a buy · 🎯$89
Price at call : $91.74 — gap to target -3%
Today : $116.16 — gap to target -23%
🎯 on MSM : no call matured yet · 📊 on Industry : 51.1% · +7.5% (221 calls)
in progress (365j)
matures : Apr 5, 22
Keybanc
Nov 23, 20
▲ Overweight · 🎯$96
Price at call : $85.76 — upside +12%
Today : $116.16 — upside -17%
Expected +12% · Actual -1% · Reason (≥ +15%) : ✗ No
🎯 on MSM : 38% (8 calls matureds) · 📊 on Industry : 53.3% · +7.2% (428 calls)
-0.9%
stock -1% · XLI +21%
JPI AI Analyst AI assistant · JPI Invest
Answers based on the tool’s data · not financial advice · full version (free)