WST West Pharmaceutical Services Inc
NYSE, CIK 0000105770, fiscal year ends 12/31. Last price 392.15 on 2026-10-23, market value 27.6 billion dollars.
Machine-readable: WST.json, WST.md. Sections: Graham Defensive, Magic Formula, Momentum, Insider, Buffett Quality, Lynch GARP, Graham Enterprising, Piotroski F-Score, earnings record, insiders, filings and links.
| Philosophy | Score | Status | Current inputs as of | History used | Price | Verification | Rules |
|---|---|---|---|---|---|---|---|
| Graham Defensive | 75 | ok | 2025-12-31 stale: Revenue |
2013–2025 | 2026-10-23 | 14 verified, 21 unverified | method |
| Magic Formula | 14 | ok | 2026-03-31 stale: operating_income_q |
— | 2026-10-23 | — | method |
| Momentum | 80 | ok | 2026-10-23 | — | 2026-10-23 | — | method |
| Insider | 0 | ok | 2026-10-23 | — | — | — | method |
| Buffett Quality | 79 | ok | 2026-06-30 | 2016–2025 | 2026-10-23 | 0 verified, 47 unverified | method |
| Lynch GARP | 45 | ok | 2026-06-30 | 2020–2025 | 2026-10-23 | 0 verified, 5 unverified | method |
| Graham Enterprising | 65 | ok | 2026-06-30 | 2020–2025 | 2026-10-23 | 0 verified, 12 unverified | method |
| Piotroski F-Score | 67 | ok | — | 2024–2026 | — | 0 verified, 27 unverified | method |
Market value, source trail
| Input | Value | Unit | Period / date | Source |
|---|---|---|---|---|
| Traded price | 392.15 | USD per traded unit (share or ADS) | 2026-10-23 | Yahoo Finance |
| SEC shares outstanding | 70,375,762 | underlying shares | 2026-07-20 | SEC cover page 10-Q 0000105770-26-000099 (70,375,762 shares (single class on cover)); filing document https://www.sec.gov/Archives/edgar/data/105770/000010577026000099/wst-20260630.htm 0000105770-26-000099 |
| Depositary ratio | 1.0 | underlying shares per traded unit | domestic 10-K filer; SEC shares are the traded units | |
| Market value price date × latest reported shares | 27,597,855,068 | USD | 2026-10-23 shares at 2026-07-20 | 392.15 (price 2026-10-23) / 1 x 70,375,762 (shares at 2026-07-20) = 27,597,855,068 |
Graham Defensive
| Test or factor | Value | Threshold | Points |
|---|---|---|---|
| 1 Adequate size | 3.07 revenue $B | >= 1 | 5.0 / 5 |
| 2a Current ratio | 2.82 | >= 2.0 | 15.0 / 15 |
| 2b Long-term debt vs working capital | 0.17 LTD / WC | <= 1.0 | 15.0 / 15 |
| 3 Positive earnings each of 10 years | 10 of 10 | 10 of 10 | 15.0 / 15 |
| 4 Dividends every year for 20 years | 20 of 20 XBRL check: 13 years agree, 7 unverified | 20 of 20 | 15.0 / 15 |
| 5 EPS growth, 3-yr avg now vs 10 yrs ago | 1.65 -> 7.12 (+331%) | >= +33% | 10.0 / 10 |
| 6 P/E on 3-year average EPS | 55.1 | <= 15 | 0.0 / 15 |
| 7 P/B <= 1.5, or P/E x P/B <= 22.5 | P/B 9.23, product 508.3 | <= 1.5 or <= 22.5 | 0.0 / 10 |
Inputs, 37 numbers with their sources
| Input | Value | Period | Source | Check |
|---|---|---|---|---|
| Price (close, per traded unit) | 392.15 | 2026-10-23 | Alpaca Market Data (consolidated SIP daily bar) | not cross-checked |
| Revenue | 3074100000.0 | 2025-12-31 stale | SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax 0000105770-26-000010 | unverified |
| current_assets | 1807500000.0 | 2026-06-30 | SEC XBRL AssetsCurrent 0000105770-26-000099 | unverified |
| current_liabilities | 640500000.0 | 2026-06-30 | SEC XBRL LiabilitiesCurrent 0000105770-26-000099 | unverified |
| lt_debt | 202900000.0 | 2026-06-30 | SEC XBRL LongTermDebtNoncurrent 0000105770-26-000099 | unverified |
| equity | 2990200000.0 | 2026-06-30 | SEC XBRL StockholdersEquity 0000105770-26-000099 | unverified |
| Net income FY2016 | 143600000.0 | 2016-12-31 history | SEC XBRL ProfitLoss 0000105770-19-000012 | unverified |
| Net income FY2017 | 150700000.0 | 2017-12-31 history | SEC XBRL ProfitLoss 0000105770-20-000015 | unverified |
| Net income FY2018 | 206900000.0 | 2018-12-31 history | SEC XBRL NetIncomeLoss 0000105770-21-000008 | unverified |
| Net income FY2019 | 241700000.0 | 2019-12-31 history | SEC XBRL NetIncomeLoss 0001628280-22-003342 | unverified |
| Net income FY2020 | 346200000.0 | 2020-12-31 history | SEC XBRL NetIncomeLoss 0000105770-23-000012 | unverified |
| Net income FY2021 | 661800000.0 | 2021-12-31 history | SEC XBRL NetIncomeLoss 0000105770-24-000015 | unverified |
| Net income FY2022 | 585900000.0 | 2022-12-31 history | SEC XBRL NetIncomeLoss 0000105770-25-000013 | unverified |
| Net income FY2023 | 593400000.0 | 2023-12-31 history | SEC XBRL NetIncomeLoss 0000105770-26-000010 | unverified |
| Net income FY2024 | 492700000.0 | 2024-12-31 history | SEC XBRL NetIncomeLoss 0000105770-26-000010 | unverified |
| Net income FY2025 | 493700000.0 | 2025-12-31 history | SEC XBRL NetIncomeLoss 0000105770-26-000010 | unverified |
| Dividend years (Yahoo) | [2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026] | history | Yahoo Finance dividend history | verified (partly: XBRL covers 13 of 20 years) |
| Dividends per share FY2013 (XBRL) | 0.39 | 2013-12-31 history | SEC XBRL CommonStockDividendsPerShareDeclared 0000105770-16-000060 | verified |
| Dividends per share FY2014 (XBRL) | 0.41 | 2014-12-31 history | SEC XBRL CommonStockDividendsPerShareDeclared 0000105770-17-000011 | verified |
| Dividends per share FY2015 (XBRL) | 0.46 | 2015-12-31 history | SEC XBRL CommonStockDividendsPerShareDeclared 0000105770-18-000006 | verified |
| Dividends per share FY2016 (XBRL) | 0.5 | 2016-12-31 history | SEC XBRL CommonStockDividendsPerShareDeclared 0000105770-19-000012 | verified |
| Dividends per share FY2017 (XBRL) | 0.54 | 2017-12-31 history | SEC XBRL CommonStockDividendsPerShareDeclared 0000105770-20-000015 | verified |
| Dividends per share FY2018 (XBRL) | 0.58 | 2018-12-31 history | SEC XBRL CommonStockDividendsPerShareDeclared 0000105770-21-000008 | verified |
| Dividends per share FY2019 (XBRL) | 0.62 | 2019-12-31 history | SEC XBRL CommonStockDividendsPerShareDeclared 0001628280-22-003342 | verified |
| Dividends per share FY2020 (XBRL) | 0.66 | 2020-12-31 history | SEC XBRL CommonStockDividendsPerShareDeclared 0000105770-23-000012 | verified |
| Dividends per share FY2021 (XBRL) | 0.7 | 2021-12-31 history | SEC XBRL CommonStockDividendsPerShareDeclared 0000105770-24-000015 | verified |
| Dividends per share FY2022 (XBRL) | 0.74 | 2022-12-31 history | SEC XBRL CommonStockDividendsPerShareDeclared 0000105770-25-000013 | verified |
| Dividends per share FY2023 (XBRL) | 0.78 | 2023-12-31 history | SEC XBRL CommonStockDividendsPerShareDeclared 0000105770-26-000010 | verified |
| Dividends per share FY2024 (XBRL) | 0.82 | 2024-12-31 history | SEC XBRL CommonStockDividendsPerShareDeclared 0000105770-26-000010 | verified |
| Dividends per share FY2025 (XBRL) | 0.86 | 2025-12-31 history | SEC XBRL CommonStockDividendsPerShareDeclared 0000105770-26-000010 | verified |
| EPS diluted FY2014 | 1.75 | 2014-12-31 history | SEC XBRL EarningsPerShareDiluted 0000105770-17-000011 | unverified |
| EPS diluted FY2015 | 1.3 | 2015-12-31 history | SEC XBRL EarningsPerShareDiluted 0000105770-18-000006 | unverified |
| EPS diluted FY2016 | 1.91 | 2016-12-31 history | SEC XBRL EarningsPerShareDiluted 0000105770-19-000012 | unverified |
| EPS diluted FY2023 | 7.88 | 2023-12-31 history | SEC XBRL EarningsPerShareDiluted 0000105770-26-000010 | unverified |
| EPS diluted FY2024 | 6.69 | 2024-12-31 history | SEC XBRL EarningsPerShareDiluted 0000105770-26-000010 | unverified |
| EPS diluted FY2025 | 6.79 | 2025-12-31 history | SEC XBRL EarningsPerShareDiluted 0000105770-26-000010 | unverified |
| Shares outstanding | 70375762.0 | 2026-07-20 | SEC cover page 10-Q 0000105770-26-000099 (70,375,762 shares (single class on cover)); filing document https://www.sec.gov/Archives/edgar/data/105770/000010577026000099/wst-20260630.htm 0000105770-26-000099 | not cross-checked |
Magic Formula
| Test or factor | Value | Threshold | Points |
|---|---|---|---|
| Earnings yield (EBIT/EV) EBIT trailing twelve months; EV = market cap + debt (202,900,000) - cash | 2.49 % (rank 168) | ||
| Return on capital (EBIT/(NWC+PPE)) net working capital 1,167,000,000 used as reported | 23.85 % (rank 148) | ||
| Combined rank | 316 |
Inputs, 13 numbers with their sources
| Input | Value | Period | Source | Check |
|---|---|---|---|---|
| operating_income | 584900000.0 | 2025-12-31 history | SEC XBRL OperatingIncomeLoss 0000105770-26-000010 | not cross-checked |
| operating_income_q | 177100000.0 | 2026-03-31 stale | SEC XBRL OperatingIncomeLoss (quarter CY2026Q1) 0000105770-26-000049 | not cross-checked |
| operating_income_q | 107000000.0 | 2025-03-31 history | SEC XBRL OperatingIncomeLoss (quarter CY2025Q1) 0000105770-26-000049 | not cross-checked |
| operating_income_q | 179100000.0 | 2026-06-30 | SEC XBRL OperatingIncomeLoss (quarter CY2026Q2) 0000105770-26-000099 | not cross-checked |
| operating_income_q | 153700000.0 | 2025-06-30 history | SEC XBRL OperatingIncomeLoss (quarter CY2025Q2) 0000105770-26-000099 | not cross-checked |
| current_assets | 1807500000.0 | 2026-06-30 | SEC XBRL AssetsCurrent 0000105770-26-000099 | not cross-checked |
| current_liabilities | 640500000.0 | 2026-06-30 | SEC XBRL LiabilitiesCurrent 0000105770-26-000099 | not cross-checked |
| cash | 435800000.0 | 2026-06-30 | SEC XBRL CashAndCashEquivalentsAtCarryingValue 0000105770-26-000099 | not cross-checked |
| ppe_net | 1686300000.0 | 2026-06-30 | SEC XBRL PropertyPlantAndEquipmentNet 0000105770-26-000099 | not cross-checked |
| debt_incl_current | 202900000.0 | 2026-06-30 | SEC XBRL LongTermDebt 0000105770-26-000099 | not cross-checked |
| shares_out | 70375762.0 | 2026-07-20 | SEC cover page 10-Q 0000105770-26-000099 (70,375,762 shares (single class on cover)); filing document https://www.sec.gov/Archives/edgar/data/105770/000010577026000099/wst-20260630.htm 0000105770-26-000099 | not cross-checked |
| Price (close) | 392.15 | 2026-10-23 | Yahoo Finance / Alpaca Market Data | not cross-checked |
| note | debt = LongTermDebt (incl. current maturities) | not cross-checked |
Momentum
| Test or factor | Value | Threshold | Points |
|---|---|---|---|
| 12-1 month return | 22.7 % (percentile 70.6) | 35.3 / 50 | |
| 6 month return | 26.8 % (percentile 85.5) | 17.1 / 20 | |
| Price / 52-week high | 0.995 | 14.9 / 15 | |
| Volatility penalty (60d annualised) | 19.7 % | 12.6 / 15 |
Inputs, 1 numbers with their sources
| Input | Value | Period | Source | Check |
|---|---|---|---|---|
| Adjusted close series (14 months) | 392.15 | 2026-10-23 | Yahoo Finance / Alpaca Market Data daily history | not cross-checked |
Insider
| Test or factor | Value | Threshold | Points |
|---|---|---|---|
| Open-market buy value / market cap (percentile among buyers) | 0.0 bp | 0.0 / 35 | |
| Distinct buyers | 0 | 0.0 / 25 | |
| Buyer seniority | 0.0 | 0.0 / 20 | |
| Recency (half-life 30d) | 0.0 | 0.0 / 10 | |
| Sales penalty (excludes 10b5-1 plan sales) | 1.0 bp | -7.2 / 0 |
Inputs, 6 numbers with their sources
| Input | Value | Period | Source | Check |
|---|---|---|---|---|
| Form 4 S Favorite Annette F 2026-09-08 | 960061.77 | 2026-09-08 | SEC Form 4 (insider transactions data set) | not cross-checked |
| Form 4 S Favorite Annette F 2026-09-08 | 852025.0 | 2026-09-08 | SEC Form 4 (insider transactions data set) | not cross-checked |
| Form 4 S Favorite Annette F 2026-09-08 | 960402.58 | 2026-09-08 | SEC Form 4 (insider transactions data set) | not cross-checked |
| excluded 2026-09-15 S | 10b5-1 plan | rule | not cross-checked | |
| excluded 2026-09-14 S | 10b5-1 plan | rule | not cross-checked | |
| excluded 2026-09-11 S | 10b5-1 plan | rule | not cross-checked |
Buffett Quality
| Test or factor | Value | Threshold | Points |
|---|---|---|---|
| 1 Average return on equity (net income / year-end equity) | 19.2% over 8 yrs | >= 15% | 25.0 / 25 |
| 2 Profitable every year | 10 of 10 | all years | 15.0 / 15 |
| 3 Net income growth, 3-yr average now vs start of window | +17.8% a year | >= +10% | 10.0 / 10 |
| 4 Borrowings / 3-yr average earnings (years to repay) LongTermDebt (incl. current maturities) | 0.4 years | <= 4 | 15.0 / 15 |
| 5 Operating margin, 5-yr average | 22.7% | >= 20% | 10.0 / 10 |
| 6 Free cash flow / net income, 5-yr (operating cash flow minus capex) | 0.68 | >= 1.0 | 3.7 / 10 |
| 7 Owner-earnings yield (3-yr avg free cash flow / market cap) | 1.4% | >= 7% | 0.0 / 15 |
Inputs, 49 numbers with their sources
| Input | Value | Period | Source | Check |
|---|---|---|---|---|
| Price (close, per traded unit) | 392.15 | 2026-10-23 | Alpaca Market Data (consolidated SIP daily bar) | not cross-checked |
| Net income FY2018 | 206900000.0 | 2018-12-31 history | SEC XBRL NetIncomeLoss 0000105770-21-000008 | unverified |
| Equity at FY2018 end | 1396300000.0 | 2018-12-31 history | SEC XBRL StockholdersEquity 0001628280-22-003342 | unverified |
| Net income FY2019 | 241700000.0 | 2019-12-31 history | SEC XBRL NetIncomeLoss 0001628280-22-003342 | unverified |
| Equity at FY2019 end | 1573200000.0 | 2019-12-31 history | SEC XBRL StockholdersEquity 0000105770-23-000012 | unverified |
| Net income FY2020 | 346200000.0 | 2020-12-31 history | SEC XBRL NetIncomeLoss 0000105770-23-000012 | unverified |
| Equity at FY2020 end | 1854500000.0 | 2020-12-31 history | SEC XBRL StockholdersEquity 0000105770-24-000015 | unverified |
| Net income FY2021 | 661800000.0 | 2021-12-31 history | SEC XBRL NetIncomeLoss 0000105770-24-000015 | unverified |
| Equity at FY2021 end | 2335400000.0 | 2021-12-31 history | SEC XBRL StockholdersEquity 0000105770-25-000013 | unverified |
| Net income FY2022 | 585900000.0 | 2022-12-31 history | SEC XBRL NetIncomeLoss 0000105770-25-000013 | unverified |
| Equity at FY2022 end | 2684900000.0 | 2022-12-31 history | SEC XBRL StockholdersEquity 0000105770-26-000010 | unverified |
| Net income FY2023 | 593400000.0 | 2023-12-31 history | SEC XBRL NetIncomeLoss 0000105770-26-000010 | unverified |
| Equity at FY2023 end | 2881000000.0 | 2023-12-31 history | SEC XBRL StockholdersEquity 0000105770-26-000010 | unverified |
| Net income FY2024 | 492700000.0 | 2024-12-31 history | SEC XBRL NetIncomeLoss 0000105770-26-000010 | unverified |
| Equity at FY2024 end | 2682300000.0 | 2024-12-31 history | SEC XBRL StockholdersEquity 0000105770-26-000099 | unverified |
| Net income FY2025 | 493700000.0 | 2025-12-31 history | SEC XBRL NetIncomeLoss 0000105770-26-000010 | unverified |
| Equity at FY2025 end | 3176000000.0 | 2025-12-31 history | SEC XBRL StockholdersEquity 0000105770-26-000099 | unverified |
| Net income FY2016 | 143600000.0 | 2016-12-31 history | SEC XBRL ProfitLoss 0000105770-19-000012 | unverified |
| Net income FY2017 | 150700000.0 | 2017-12-31 history | SEC XBRL ProfitLoss 0000105770-20-000015 | unverified |
| Net income FY2018 | 206900000.0 | 2018-12-31 history | SEC XBRL NetIncomeLoss 0000105770-21-000008 | unverified |
| Net income FY2019 | 241700000.0 | 2019-12-31 history | SEC XBRL NetIncomeLoss 0001628280-22-003342 | unverified |
| Net income FY2020 | 346200000.0 | 2020-12-31 history | SEC XBRL NetIncomeLoss 0000105770-23-000012 | unverified |
| Net income FY2021 | 661800000.0 | 2021-12-31 history | SEC XBRL NetIncomeLoss 0000105770-24-000015 | unverified |
| Net income FY2022 | 585900000.0 | 2022-12-31 history | SEC XBRL NetIncomeLoss 0000105770-25-000013 | unverified |
| Net income FY2023 | 593400000.0 | 2023-12-31 history | SEC XBRL NetIncomeLoss 0000105770-26-000010 | unverified |
| Net income FY2024 | 492700000.0 | 2024-12-31 history | SEC XBRL NetIncomeLoss 0000105770-26-000010 | unverified |
| Net income FY2025 | 493700000.0 | 2025-12-31 history | SEC XBRL NetIncomeLoss 0000105770-26-000010 | unverified |
| debt_incl_current | 202900000.0 | 2026-06-30 | SEC XBRL LongTermDebt 0000105770-26-000099 | unverified |
| Operating income FY2021 | 752300000.0 | 2021-12-31 history | SEC XBRL OperatingIncomeLoss 0000105770-24-000015 | unverified |
| Revenue FY2021 | 2831600000.0 | 2021-12-31 history | SEC XBRL Revenues 0000105770-23-000012 | unverified |
| Operating income FY2022 | 734000000.0 | 2022-12-31 history | SEC XBRL OperatingIncomeLoss 0000105770-25-000013 | unverified |
| Revenue FY2022 | 2886900000.0 | 2022-12-31 history | SEC XBRL Revenues 0000105770-23-000012 | unverified |
| Operating income FY2023 | 676000000.0 | 2023-12-31 history | SEC XBRL OperatingIncomeLoss 0000105770-26-000010 | unverified |
| Revenue FY2023 | 2949800000.0 | 2023-12-31 history | SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax 0000105770-26-000010 | unverified |
| Operating income FY2024 | 569900000.0 | 2024-12-31 history | SEC XBRL OperatingIncomeLoss 0000105770-26-000010 | unverified |
| Revenue FY2024 | 2893200000.0 | 2024-12-31 history | SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax 0000105770-26-000010 | unverified |
| Operating income FY2025 | 584900000.0 | 2025-12-31 history | SEC XBRL OperatingIncomeLoss 0000105770-26-000010 | unverified |
| Revenue FY2025 | 3074100000.0 | 2025-12-31 history | SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax 0000105770-26-000010 | unverified |
| Operating cash flow FY2021 | 584000000.0 | 2021-12-31 history | SEC XBRL NetCashProvidedByUsedInOperatingActivities 0000105770-24-000015 | unverified |
| Capital expenditure FY2021 | 253400000.0 | 2021-12-31 history | SEC XBRL PaymentsToAcquirePropertyPlantAndEquipment 0000105770-24-000015 | unverified |
| Operating cash flow FY2022 | 724000000.0 | 2022-12-31 history | SEC XBRL NetCashProvidedByUsedInOperatingActivities 0000105770-25-000013 | unverified |
| Capital expenditure FY2022 | 284600000.0 | 2022-12-31 history | SEC XBRL PaymentsToAcquirePropertyPlantAndEquipment 0000105770-25-000013 | unverified |
| Operating cash flow FY2023 | 776500000.0 | 2023-12-31 history | SEC XBRL NetCashProvidedByUsedInOperatingActivities 0000105770-26-000010 | unverified |
| Capital expenditure FY2023 | 362000000.0 | 2023-12-31 history | SEC XBRL PaymentsToAcquirePropertyPlantAndEquipment 0000105770-26-000010 | unverified |
| Operating cash flow FY2024 | 653400000.0 | 2024-12-31 history | SEC XBRL NetCashProvidedByUsedInOperatingActivities 0000105770-26-000010 | unverified |
| Capital expenditure FY2024 | 377000000.0 | 2024-12-31 history | SEC XBRL PaymentsToAcquirePropertyPlantAndEquipment 0000105770-26-000010 | unverified |
| Operating cash flow FY2025 | 754800000.0 | 2025-12-31 history | SEC XBRL NetCashProvidedByUsedInOperatingActivities 0000105770-26-000010 | unverified |
| Capital expenditure FY2025 | 285900000.0 | 2025-12-31 history | SEC XBRL PaymentsToAcquirePropertyPlantAndEquipment 0000105770-26-000010 | unverified |
| Shares outstanding | 70375762.0 | 2026-07-20 | SEC cover page 10-Q 0000105770-26-000099 (70,375,762 shares (single class on cover)); filing document https://www.sec.gov/Archives/edgar/data/105770/000010577026000099/wst-20260630.htm 0000105770-26-000099 | not cross-checked |
Lynch GARP
| Test or factor | Value | Threshold | Points |
|---|---|---|---|
| 1 PEG: P/E divided by 5-yr EPS growth (in % points) | 7.01 | <= 1.0 | 0.0 / 30 |
| 2 EPS growth, 5-yr compound rate | +8.2% a year | 12% to 35% a year | 13.7 / 20 |
| 3 P/E on latest annual EPS | 57.8 | <= 25 | 0.0 / 10 |
| 4 Borrowings / equity LongTermDebt (incl. current maturities) | 0.07 | <= 0.5 | 15.0 / 15 |
| 5 Years of the last 5 in which EPS rose | 3 of 5 | 5 of 5 | 9.0 / 15 |
| 6 Net cash (cash minus borrowings) / market cap | +0.8% | >= +10% | 7.4 / 10 |
Inputs, 6 numbers with their sources
| Input | Value | Period | Source | Check |
|---|---|---|---|---|
| Price (close, per traded unit) | 392.15 | 2026-10-23 | Alpaca Market Data (consolidated SIP daily bar) | not cross-checked |
| EPS diluted FY2025 | 6.79 | 2025-12-31 history | SEC XBRL EarningsPerShareDiluted 0000105770-26-000010 | unverified |
| EPS diluted FY2020 | 4.57 | 2020-12-31 history | SEC XBRL EarningsPerShareDiluted 0000105770-23-000012 | unverified |
| debt_incl_current | 202900000.0 | 2026-06-30 | SEC XBRL LongTermDebt 0000105770-26-000099 | unverified |
| equity | 2990200000.0 | 2026-06-30 | SEC XBRL StockholdersEquity 0000105770-26-000099 | unverified |
| cash | 435800000.0 | 2026-06-30 | SEC XBRL CashAndCashEquivalentsAtCarryingValue 0000105770-26-000099 | unverified |
Graham Enterprising
| Test or factor | Value | Threshold | Points |
|---|---|---|---|
| 1 Current ratio | 2.82 | >= 1.5 | 15.0 / 15 |
| 2 Borrowings vs working capital LongTermDebt (incl. current maturities) | 0.17 x | <= 1.1x | 15.0 / 15 |
| 3 No earnings deficit in the last 5 years | 5 of 5 profitable | 5 of 5 | 15.0 / 15 |
| 4 Pays a current dividend | yes | yes | 10.0 / 10 |
| 5 EPS higher than five years earlier | 4.57 -> 6.79 | higher | 10.0 / 10 |
| 6 Price / book value per share book value used because intangibles are not separated in the dataset (Graham uses net tangible assets) | 9.23 | <= 1.2 | 0.0 / 20 |
| 7 Price / net current asset value per share (current assets minus all liabilities) | 38.26 | <= 0.67 | 0.0 / 15 |
Inputs, 15 numbers with their sources
| Input | Value | Period | Source | Check |
|---|---|---|---|---|
| Price (close, per traded unit) | 392.15 | 2026-10-23 | Alpaca Market Data (consolidated SIP daily bar) | not cross-checked |
| current_assets | 1807500000.0 | 2026-06-30 | SEC XBRL AssetsCurrent 0000105770-26-000099 | unverified |
| current_liabilities | 640500000.0 | 2026-06-30 | SEC XBRL LiabilitiesCurrent 0000105770-26-000099 | unverified |
| debt_incl_current | 202900000.0 | 2026-06-30 | SEC XBRL LongTermDebt 0000105770-26-000099 | unverified |
| Net income FY2021 | 661800000.0 | 2021-12-31 history | SEC XBRL NetIncomeLoss 0000105770-24-000015 | unverified |
| Net income FY2022 | 585900000.0 | 2022-12-31 history | SEC XBRL NetIncomeLoss 0000105770-25-000013 | unverified |
| Net income FY2023 | 593400000.0 | 2023-12-31 history | SEC XBRL NetIncomeLoss 0000105770-26-000010 | unverified |
| Net income FY2024 | 492700000.0 | 2024-12-31 history | SEC XBRL NetIncomeLoss 0000105770-26-000010 | unverified |
| Net income FY2025 | 493700000.0 | 2025-12-31 history | SEC XBRL NetIncomeLoss 0000105770-26-000010 | unverified |
| Dividend years (Yahoo) | [2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026] | history | Yahoo Finance dividend history | not cross-checked |
| EPS diluted FY2025 | 6.79 | 2025-12-31 history | SEC XBRL EarningsPerShareDiluted 0000105770-26-000010 | unverified |
| EPS diluted FY2020 | 4.57 | 2020-12-31 history | SEC XBRL EarningsPerShareDiluted 0000105770-23-000012 | unverified |
| equity | 2990200000.0 | 2026-06-30 | SEC XBRL StockholdersEquity 0000105770-26-000099 | unverified |
| Shares outstanding | 70375762.0 | 2026-07-20 | SEC cover page 10-Q 0000105770-26-000099 (70,375,762 shares (single class on cover)); filing document https://www.sec.gov/Archives/edgar/data/105770/000010577026000099/wst-20260630.htm 0000105770-26-000099 | not cross-checked |
| liabilities | 1086200000.0 | 2026-06-30 | SEC XBRL Liabilities 0000105770-26-000099 | unverified |
Piotroski F-Score
| Test or factor | Value | Threshold | Points |
|---|---|---|---|
| 1 Return on assets is positive | 11.6% | pass = 1 | 11.11111111111111 / 11.11111111111111 |
| 2 Operating cash flow is positive | 755M | pass = 1 | 11.11111111111111 / 11.11111111111111 |
| 3 Return on assets improved on the prior year | 13.5% -> 11.6% | pass = 1 | 0.0 / 11.11111111111111 |
| 4 Operating cash flow exceeds net income (accruals) | 755M vs 494M | pass = 1 | 11.11111111111111 / 11.11111111111111 |
| 5 Long-term debt / assets fell | 5.6% -> 4.7% | pass = 1 | 11.11111111111111 / 11.11111111111111 |
| 6 Current ratio improved | 2.79 -> 3.02 | pass = 1 | 11.11111111111111 / 11.11111111111111 |
| 7 No new shares issued (share count did not rise) | 72M -> 70M | pass = 1 | 11.11111111111111 / 11.11111111111111 |
| 8 Operating margin improved (stand-in for gross margin, which the dataset does not carry) | 19.7% -> 19.0% | pass = 1 | 0.0 / 11.11111111111111 |
| 9 Asset turnover (revenue / assets) improved | 0.79 -> 0.72 | pass = 1 | 0.0 / 11.11111111111111 |
Inputs, 27 numbers with their sources
| Input | Value | Period | Source | Check |
|---|---|---|---|---|
| net_income 2025-12-31 | 493700000.0 | 2025-12-31 history | SEC XBRL NetIncomeLoss 0000105770-26-000010 | unverified |
| total_assets 2025-12-31 | 4270000000.0 | 2025-12-31 history | SEC XBRL Assets 0000105770-26-000099 | unverified |
| cfo 2025-12-31 | 754800000.0 | 2025-12-31 history | SEC XBRL NetCashProvidedByUsedInOperatingActivities 0000105770-26-000010 | unverified |
| net_income 2025-12-31 | 493700000.0 | 2025-12-31 history | SEC XBRL NetIncomeLoss 0000105770-26-000010 | unverified |
| net_income 2024-12-31 | 492700000.0 | 2024-12-31 history | SEC XBRL NetIncomeLoss 0000105770-26-000010 | unverified |
| total_assets 2025-12-31 | 4270000000.0 | 2025-12-31 history | SEC XBRL Assets 0000105770-26-000099 | unverified |
| total_assets 2024-12-31 | 3643400000.0 | 2024-12-31 history | SEC XBRL Assets 0000105770-26-000010 | unverified |
| cfo 2025-12-31 | 754800000.0 | 2025-12-31 history | SEC XBRL NetCashProvidedByUsedInOperatingActivities 0000105770-26-000010 | unverified |
| net_income 2025-12-31 | 493700000.0 | 2025-12-31 history | SEC XBRL NetIncomeLoss 0000105770-26-000010 | unverified |
| lt_debt 2025-12-31 | 202800000.0 | 2025-12-31 history | SEC XBRL LongTermDebtNoncurrent 0000105770-26-000099 | unverified |
| lt_debt 2024-12-31 | 202600000.0 | 2024-12-31 history | SEC XBRL LongTermDebtNoncurrent 0000105770-26-000010 | unverified |
| total_assets 2025-12-31 | 4270000000.0 | 2025-12-31 history | SEC XBRL Assets 0000105770-26-000099 | unverified |
| total_assets 2024-12-31 | 3643400000.0 | 2024-12-31 history | SEC XBRL Assets 0000105770-26-000010 | unverified |
| current_assets 2025-12-31 | 1978200000.0 | 2025-12-31 history | SEC XBRL AssetsCurrent 0000105770-26-000099 | unverified |
| current_assets 2024-12-31 | 1538100000.0 | 2024-12-31 history | SEC XBRL AssetsCurrent 0000105770-26-000010 | unverified |
| current_liabilities 2025-12-31 | 654900000.0 | 2025-12-31 history | SEC XBRL LiabilitiesCurrent 0000105770-26-000099 | unverified |
| current_liabilities 2024-12-31 | 550400000.0 | 2024-12-31 history | SEC XBRL LiabilitiesCurrent 0000105770-26-000010 | unverified |
| shares_out 2026-07-20 | 70375762.0 | 2026-07-20 history | SEC XBRL EntityCommonStockSharesOutstanding 0000105770-26-000099 | unverified |
| shares_out 2025-07-21 | 71907325.0 | 2025-07-21 history | SEC XBRL EntityCommonStockSharesOutstanding 0000105770-25-000065 | unverified |
| operating_income 2025-12-31 | 584900000.0 | 2025-12-31 history | SEC XBRL OperatingIncomeLoss 0000105770-26-000010 | unverified |
| operating_income 2024-12-31 | 569900000.0 | 2024-12-31 history | SEC XBRL OperatingIncomeLoss 0000105770-26-000010 | unverified |
| revenue 2025-12-31 | 3074100000.0 | 2025-12-31 history | SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax 0000105770-26-000010 | unverified |
| revenue 2024-12-31 | 2893200000.0 | 2024-12-31 history | SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax 0000105770-26-000010 | unverified |
| revenue 2025-12-31 | 3074100000.0 | 2025-12-31 history | SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax 0000105770-26-000010 | unverified |
| revenue 2024-12-31 | 2893200000.0 | 2024-12-31 history | SEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax 0000105770-26-000010 | unverified |
| total_assets 2025-12-31 | 4270000000.0 | 2025-12-31 history | SEC XBRL Assets 0000105770-26-000099 | unverified |
| total_assets 2024-12-31 | 3643400000.0 | 2024-12-31 history | SEC XBRL Assets 0000105770-26-000010 | unverified |
Earnings record
| FY | Ended | Revenue, $M | Net income, $M | EPS diluted | Dividend | Filing |
|---|---|---|---|---|---|---|
| 2013 | 2013-12-31 | 1,368 | 112 | 1.57 | paid | 0000105770-16-000060 |
| 2014 | 2014-12-31 | 1,421 | 127 | 1.75 | paid | 0000105770-17-000011 |
| 2015 | 2015-12-31 | 1,400 | 96 | 1.3 | paid | 0000105770-18-000006 |
| 2016 | 2016-12-31 | 1,509 | 144 | 1.91 | paid | 0000105770-19-000012 |
| 2017 | 2017-12-31 | 1,599 | 151 | 1.99 | paid | 0000105770-20-000015 |
| 2018 | 2018-12-31 | 1,717 | 207 | 2.74 | paid | 0000105770-21-000008 |
| 2019 | 2019-12-31 | 1,840 | 242 | 3.21 | paid | 0001628280-22-003342 |
| 2020 | 2020-12-31 | 2,147 | 346 | 4.57 | paid | 0000105770-23-000012 |
| 2021 | 2021-12-31 | 2,832 | 662 | 8.67 | paid | 0000105770-24-000015 |
| 2022 | 2022-12-31 | 2,887 | 586 | 7.73 | paid | 0000105770-25-000013 |
| 2023 | 2023-12-31 | 2,950 | 593 | 7.88 | paid | 0000105770-26-000010 |
| 2024 | 2024-12-31 | 2,893 | 493 | 6.69 | paid | 0000105770-26-000010 |
| 2025 | 2025-12-31 | 3,074 | 494 | 6.79 | paid | 0000105770-26-000010 |
Insider transactions
| Date | Insider | Role | Type | Shares | Price | Value |
|---|---|---|---|---|---|---|
| 2026-09-15 | Favorite Annette F | officer | sale plan | 2,524 | 365.00 | 921,260 |
| 2026-09-14 | Favorite Annette F | officer | sale plan | 2,500 | 355.00 | 887,500 |
| 2026-09-11 | Favorite Annette F | officer | sale plan | 2,500 | 345.00 | 862,500 |
| 2026-09-08 | Favorite Annette F | officer | sale | 2,817 | 340.81 | 960,062 |
| 2026-09-08 | Favorite Annette F | officer | sale | 2,500 | 340.81 | 852,025 |
| 2026-09-08 | Favorite Annette F | officer | sale | 2,818 | 340.81 | 960,403 |
| 2026-04-27 | Winters Chad | officer | sale | 896 | 300.67 | 269,400 |
| 2026-04-27 | Favorite Annette F | officer | sale | 2,817 | 305.20 | 859,748 |
Filings and links
- SEC: filing index, 8-K, Form 4, XBRL companyfacts
- Prices: Yahoo Finance, Stooq
- Elsewhere: morningstar, finviz, stockanalysis, seeking alpha, openinsider, google news