The Claude Trader

Grid › Surgical & Medical Instruments & Apparatus

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.

PhilosophyScoreStatusCurrent inputs as ofHistory usedPriceVerificationRules
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

market_value = traded_price (price date) / depositary_ratio x latest point-in-time SEC shares outstanding (share-count date shown; from the filing cover page, summed across share classes only where the issuer filing verifies the classes are economically equivalent (rule + evidence URL in the source text), else withheld; priced at the primary listed class, so where other classes trade at a different price the value is an approximation; restated only for issuer-verified splits after the count date); weighted-average share counts are never used

InputValueUnitPeriod / dateSource
Traded price392.15USD per traded unit (share or ADS)2026-10-23Yahoo Finance
SEC shares outstanding70,375,762underlying shares2026-07-20SEC 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 ratio1.0underlying shares per traded unit domestic 10-K filer; SEC shares are the traded units
Market value price date × latest reported shares27,597,855,068USD2026-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

75 of 100. ok. How this is scored.

Test or factorValueThresholdPoints
1 Adequate size3.07 revenue $B>= 15.0 / 5
2a Current ratio2.82>= 2.015.0 / 15
2b Long-term debt vs working capital0.17 LTD / WC<= 1.015.0 / 15
3 Positive earnings each of 10 years10 of 1010 of 1015.0 / 15
4 Dividends every year for 20 years20 of 20 XBRL check: 13 years agree, 7 unverified20 of 2015.0 / 15
5 EPS growth, 3-yr avg now vs 10 yrs ago1.65 -> 7.12 (+331%)>= +33%10.0 / 10
6 P/E on 3-year average EPS55.1<= 150.0 / 15
7 P/B <= 1.5, or P/E x P/B <= 22.5P/B 9.23, product 508.3<= 1.5 or <= 22.50.0 / 10
Inputs, 37 numbers with their sources
InputValuePeriodSourceCheck
Price (close, per traded unit)392.152026-10-23Alpaca Market Data (consolidated SIP daily bar)not cross-checked
Revenue3074100000.02025-12-31 staleSEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax 0000105770-26-000010unverified
current_assets1807500000.02026-06-30SEC XBRL AssetsCurrent 0000105770-26-000099unverified
current_liabilities640500000.02026-06-30SEC XBRL LiabilitiesCurrent 0000105770-26-000099unverified
lt_debt202900000.02026-06-30SEC XBRL LongTermDebtNoncurrent 0000105770-26-000099unverified
equity2990200000.02026-06-30SEC XBRL StockholdersEquity 0000105770-26-000099unverified
Net income FY2016143600000.02016-12-31 historySEC XBRL ProfitLoss 0000105770-19-000012unverified
Net income FY2017150700000.02017-12-31 historySEC XBRL ProfitLoss 0000105770-20-000015unverified
Net income FY2018206900000.02018-12-31 historySEC XBRL NetIncomeLoss 0000105770-21-000008unverified
Net income FY2019241700000.02019-12-31 historySEC XBRL NetIncomeLoss 0001628280-22-003342unverified
Net income FY2020346200000.02020-12-31 historySEC XBRL NetIncomeLoss 0000105770-23-000012unverified
Net income FY2021661800000.02021-12-31 historySEC XBRL NetIncomeLoss 0000105770-24-000015unverified
Net income FY2022585900000.02022-12-31 historySEC XBRL NetIncomeLoss 0000105770-25-000013unverified
Net income FY2023593400000.02023-12-31 historySEC XBRL NetIncomeLoss 0000105770-26-000010unverified
Net income FY2024492700000.02024-12-31 historySEC XBRL NetIncomeLoss 0000105770-26-000010unverified
Net income FY2025493700000.02025-12-31 historySEC XBRL NetIncomeLoss 0000105770-26-000010unverified
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] historyYahoo Finance dividend historyverified (partly: XBRL covers 13 of 20 years)
Dividends per share FY2013 (XBRL)0.392013-12-31 historySEC XBRL CommonStockDividendsPerShareDeclared 0000105770-16-000060verified
Dividends per share FY2014 (XBRL)0.412014-12-31 historySEC XBRL CommonStockDividendsPerShareDeclared 0000105770-17-000011verified
Dividends per share FY2015 (XBRL)0.462015-12-31 historySEC XBRL CommonStockDividendsPerShareDeclared 0000105770-18-000006verified
Dividends per share FY2016 (XBRL)0.52016-12-31 historySEC XBRL CommonStockDividendsPerShareDeclared 0000105770-19-000012verified
Dividends per share FY2017 (XBRL)0.542017-12-31 historySEC XBRL CommonStockDividendsPerShareDeclared 0000105770-20-000015verified
Dividends per share FY2018 (XBRL)0.582018-12-31 historySEC XBRL CommonStockDividendsPerShareDeclared 0000105770-21-000008verified
Dividends per share FY2019 (XBRL)0.622019-12-31 historySEC XBRL CommonStockDividendsPerShareDeclared 0001628280-22-003342verified
Dividends per share FY2020 (XBRL)0.662020-12-31 historySEC XBRL CommonStockDividendsPerShareDeclared 0000105770-23-000012verified
Dividends per share FY2021 (XBRL)0.72021-12-31 historySEC XBRL CommonStockDividendsPerShareDeclared 0000105770-24-000015verified
Dividends per share FY2022 (XBRL)0.742022-12-31 historySEC XBRL CommonStockDividendsPerShareDeclared 0000105770-25-000013verified
Dividends per share FY2023 (XBRL)0.782023-12-31 historySEC XBRL CommonStockDividendsPerShareDeclared 0000105770-26-000010verified
Dividends per share FY2024 (XBRL)0.822024-12-31 historySEC XBRL CommonStockDividendsPerShareDeclared 0000105770-26-000010verified
Dividends per share FY2025 (XBRL)0.862025-12-31 historySEC XBRL CommonStockDividendsPerShareDeclared 0000105770-26-000010verified
EPS diluted FY20141.752014-12-31 historySEC XBRL EarningsPerShareDiluted 0000105770-17-000011unverified
EPS diluted FY20151.32015-12-31 historySEC XBRL EarningsPerShareDiluted 0000105770-18-000006unverified
EPS diluted FY20161.912016-12-31 historySEC XBRL EarningsPerShareDiluted 0000105770-19-000012unverified
EPS diluted FY20237.882023-12-31 historySEC XBRL EarningsPerShareDiluted 0000105770-26-000010unverified
EPS diluted FY20246.692024-12-31 historySEC XBRL EarningsPerShareDiluted 0000105770-26-000010unverified
EPS diluted FY20256.792025-12-31 historySEC XBRL EarningsPerShareDiluted 0000105770-26-000010unverified
Shares outstanding70375762.02026-07-20SEC 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-000099not cross-checked

Magic Formula

14 of 100. ok. How this is scored.

Test or factorValueThresholdPoints
Earnings yield (EBIT/EV) EBIT trailing twelve months; EV = market cap + debt (202,900,000) - cash2.49 % (rank 168)
Return on capital (EBIT/(NWC+PPE)) net working capital 1,167,000,000 used as reported23.85 % (rank 148)
Combined rank316
Inputs, 13 numbers with their sources
InputValuePeriodSourceCheck
operating_income584900000.02025-12-31 historySEC XBRL OperatingIncomeLoss 0000105770-26-000010not cross-checked
operating_income_q177100000.02026-03-31 staleSEC XBRL OperatingIncomeLoss (quarter CY2026Q1) 0000105770-26-000049not cross-checked
operating_income_q107000000.02025-03-31 historySEC XBRL OperatingIncomeLoss (quarter CY2025Q1) 0000105770-26-000049not cross-checked
operating_income_q179100000.02026-06-30SEC XBRL OperatingIncomeLoss (quarter CY2026Q2) 0000105770-26-000099not cross-checked
operating_income_q153700000.02025-06-30 historySEC XBRL OperatingIncomeLoss (quarter CY2025Q2) 0000105770-26-000099not cross-checked
current_assets1807500000.02026-06-30SEC XBRL AssetsCurrent 0000105770-26-000099not cross-checked
current_liabilities640500000.02026-06-30SEC XBRL LiabilitiesCurrent 0000105770-26-000099not cross-checked
cash435800000.02026-06-30SEC XBRL CashAndCashEquivalentsAtCarryingValue 0000105770-26-000099not cross-checked
ppe_net1686300000.02026-06-30SEC XBRL PropertyPlantAndEquipmentNet 0000105770-26-000099not cross-checked
debt_incl_current202900000.02026-06-30SEC XBRL LongTermDebt 0000105770-26-000099not cross-checked
shares_out70375762.02026-07-20SEC 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-000099not cross-checked
Price (close)392.152026-10-23Yahoo Finance / Alpaca Market Datanot cross-checked
notedebt = LongTermDebt (incl. current maturities)not cross-checked

Momentum

80 of 100. ok. How this is scored.

Test or factorValueThresholdPoints
12-1 month return22.7 % (percentile 70.6)35.3 / 50
6 month return26.8 % (percentile 85.5)17.1 / 20
Price / 52-week high0.99514.9 / 15
Volatility penalty (60d annualised)19.7 %12.6 / 15
Inputs, 1 numbers with their sources
InputValuePeriodSourceCheck
Adjusted close series (14 months)392.152026-10-23Yahoo Finance / Alpaca Market Data daily historynot cross-checked

Insider

0 of 100. ok. How this is scored. Form 4 data loaded through 2026-10-23

Test or factorValueThresholdPoints
Open-market buy value / market cap (percentile among buyers)0.0 bp0.0 / 35
Distinct buyers00.0 / 25
Buyer seniority0.00.0 / 20
Recency (half-life 30d)0.00.0 / 10
Sales penalty (excludes 10b5-1 plan sales)1.0 bp-7.2 / 0
Inputs, 6 numbers with their sources
InputValuePeriodSourceCheck
Form 4 S Favorite Annette F 2026-09-08960061.772026-09-08SEC Form 4 (insider transactions data set)not cross-checked
Form 4 S Favorite Annette F 2026-09-08852025.02026-09-08SEC Form 4 (insider transactions data set)not cross-checked
Form 4 S Favorite Annette F 2026-09-08960402.582026-09-08SEC Form 4 (insider transactions data set)not cross-checked
excluded 2026-09-15 S10b5-1 planrulenot cross-checked
excluded 2026-09-14 S10b5-1 planrulenot cross-checked
excluded 2026-09-11 S10b5-1 planrulenot cross-checked

Buffett Quality

79 of 100. ok. How this is scored.

Test or factorValueThresholdPoints
1 Average return on equity (net income / year-end equity)19.2% over 8 yrs>= 15%25.0 / 25
2 Profitable every year10 of 10all years15.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<= 415.0 / 15
5 Operating margin, 5-yr average22.7%>= 20%10.0 / 10
6 Free cash flow / net income, 5-yr (operating cash flow minus capex)0.68>= 1.03.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
InputValuePeriodSourceCheck
Price (close, per traded unit)392.152026-10-23Alpaca Market Data (consolidated SIP daily bar)not cross-checked
Net income FY2018206900000.02018-12-31 historySEC XBRL NetIncomeLoss 0000105770-21-000008unverified
Equity at FY2018 end1396300000.02018-12-31 historySEC XBRL StockholdersEquity 0001628280-22-003342unverified
Net income FY2019241700000.02019-12-31 historySEC XBRL NetIncomeLoss 0001628280-22-003342unverified
Equity at FY2019 end1573200000.02019-12-31 historySEC XBRL StockholdersEquity 0000105770-23-000012unverified
Net income FY2020346200000.02020-12-31 historySEC XBRL NetIncomeLoss 0000105770-23-000012unverified
Equity at FY2020 end1854500000.02020-12-31 historySEC XBRL StockholdersEquity 0000105770-24-000015unverified
Net income FY2021661800000.02021-12-31 historySEC XBRL NetIncomeLoss 0000105770-24-000015unverified
Equity at FY2021 end2335400000.02021-12-31 historySEC XBRL StockholdersEquity 0000105770-25-000013unverified
Net income FY2022585900000.02022-12-31 historySEC XBRL NetIncomeLoss 0000105770-25-000013unverified
Equity at FY2022 end2684900000.02022-12-31 historySEC XBRL StockholdersEquity 0000105770-26-000010unverified
Net income FY2023593400000.02023-12-31 historySEC XBRL NetIncomeLoss 0000105770-26-000010unverified
Equity at FY2023 end2881000000.02023-12-31 historySEC XBRL StockholdersEquity 0000105770-26-000010unverified
Net income FY2024492700000.02024-12-31 historySEC XBRL NetIncomeLoss 0000105770-26-000010unverified
Equity at FY2024 end2682300000.02024-12-31 historySEC XBRL StockholdersEquity 0000105770-26-000099unverified
Net income FY2025493700000.02025-12-31 historySEC XBRL NetIncomeLoss 0000105770-26-000010unverified
Equity at FY2025 end3176000000.02025-12-31 historySEC XBRL StockholdersEquity 0000105770-26-000099unverified
Net income FY2016143600000.02016-12-31 historySEC XBRL ProfitLoss 0000105770-19-000012unverified
Net income FY2017150700000.02017-12-31 historySEC XBRL ProfitLoss 0000105770-20-000015unverified
Net income FY2018206900000.02018-12-31 historySEC XBRL NetIncomeLoss 0000105770-21-000008unverified
Net income FY2019241700000.02019-12-31 historySEC XBRL NetIncomeLoss 0001628280-22-003342unverified
Net income FY2020346200000.02020-12-31 historySEC XBRL NetIncomeLoss 0000105770-23-000012unverified
Net income FY2021661800000.02021-12-31 historySEC XBRL NetIncomeLoss 0000105770-24-000015unverified
Net income FY2022585900000.02022-12-31 historySEC XBRL NetIncomeLoss 0000105770-25-000013unverified
Net income FY2023593400000.02023-12-31 historySEC XBRL NetIncomeLoss 0000105770-26-000010unverified
Net income FY2024492700000.02024-12-31 historySEC XBRL NetIncomeLoss 0000105770-26-000010unverified
Net income FY2025493700000.02025-12-31 historySEC XBRL NetIncomeLoss 0000105770-26-000010unverified
debt_incl_current202900000.02026-06-30SEC XBRL LongTermDebt 0000105770-26-000099unverified
Operating income FY2021752300000.02021-12-31 historySEC XBRL OperatingIncomeLoss 0000105770-24-000015unverified
Revenue FY20212831600000.02021-12-31 historySEC XBRL Revenues 0000105770-23-000012unverified
Operating income FY2022734000000.02022-12-31 historySEC XBRL OperatingIncomeLoss 0000105770-25-000013unverified
Revenue FY20222886900000.02022-12-31 historySEC XBRL Revenues 0000105770-23-000012unverified
Operating income FY2023676000000.02023-12-31 historySEC XBRL OperatingIncomeLoss 0000105770-26-000010unverified
Revenue FY20232949800000.02023-12-31 historySEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax 0000105770-26-000010unverified
Operating income FY2024569900000.02024-12-31 historySEC XBRL OperatingIncomeLoss 0000105770-26-000010unverified
Revenue FY20242893200000.02024-12-31 historySEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax 0000105770-26-000010unverified
Operating income FY2025584900000.02025-12-31 historySEC XBRL OperatingIncomeLoss 0000105770-26-000010unverified
Revenue FY20253074100000.02025-12-31 historySEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax 0000105770-26-000010unverified
Operating cash flow FY2021584000000.02021-12-31 historySEC XBRL NetCashProvidedByUsedInOperatingActivities 0000105770-24-000015unverified
Capital expenditure FY2021253400000.02021-12-31 historySEC XBRL PaymentsToAcquirePropertyPlantAndEquipment 0000105770-24-000015unverified
Operating cash flow FY2022724000000.02022-12-31 historySEC XBRL NetCashProvidedByUsedInOperatingActivities 0000105770-25-000013unverified
Capital expenditure FY2022284600000.02022-12-31 historySEC XBRL PaymentsToAcquirePropertyPlantAndEquipment 0000105770-25-000013unverified
Operating cash flow FY2023776500000.02023-12-31 historySEC XBRL NetCashProvidedByUsedInOperatingActivities 0000105770-26-000010unverified
Capital expenditure FY2023362000000.02023-12-31 historySEC XBRL PaymentsToAcquirePropertyPlantAndEquipment 0000105770-26-000010unverified
Operating cash flow FY2024653400000.02024-12-31 historySEC XBRL NetCashProvidedByUsedInOperatingActivities 0000105770-26-000010unverified
Capital expenditure FY2024377000000.02024-12-31 historySEC XBRL PaymentsToAcquirePropertyPlantAndEquipment 0000105770-26-000010unverified
Operating cash flow FY2025754800000.02025-12-31 historySEC XBRL NetCashProvidedByUsedInOperatingActivities 0000105770-26-000010unverified
Capital expenditure FY2025285900000.02025-12-31 historySEC XBRL PaymentsToAcquirePropertyPlantAndEquipment 0000105770-26-000010unverified
Shares outstanding70375762.02026-07-20SEC 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-000099not cross-checked

Lynch GARP

45 of 100. ok. How this is scored.

Test or factorValueThresholdPoints
1 PEG: P/E divided by 5-yr EPS growth (in % points)7.01<= 1.00.0 / 30
2 EPS growth, 5-yr compound rate+8.2% a year12% to 35% a year13.7 / 20
3 P/E on latest annual EPS57.8<= 250.0 / 10
4 Borrowings / equity LongTermDebt (incl. current maturities)0.07<= 0.515.0 / 15
5 Years of the last 5 in which EPS rose3 of 55 of 59.0 / 15
6 Net cash (cash minus borrowings) / market cap+0.8%>= +10%7.4 / 10
Inputs, 6 numbers with their sources
InputValuePeriodSourceCheck
Price (close, per traded unit)392.152026-10-23Alpaca Market Data (consolidated SIP daily bar)not cross-checked
EPS diluted FY20256.792025-12-31 historySEC XBRL EarningsPerShareDiluted 0000105770-26-000010unverified
EPS diluted FY20204.572020-12-31 historySEC XBRL EarningsPerShareDiluted 0000105770-23-000012unverified
debt_incl_current202900000.02026-06-30SEC XBRL LongTermDebt 0000105770-26-000099unverified
equity2990200000.02026-06-30SEC XBRL StockholdersEquity 0000105770-26-000099unverified
cash435800000.02026-06-30SEC XBRL CashAndCashEquivalentsAtCarryingValue 0000105770-26-000099unverified

Graham Enterprising

65 of 100. ok. How this is scored.

Test or factorValueThresholdPoints
1 Current ratio2.82>= 1.515.0 / 15
2 Borrowings vs working capital LongTermDebt (incl. current maturities)0.17 x<= 1.1x15.0 / 15
3 No earnings deficit in the last 5 years5 of 5 profitable5 of 515.0 / 15
4 Pays a current dividendyesyes10.0 / 10
5 EPS higher than five years earlier4.57 -> 6.79higher10.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.20.0 / 20
7 Price / net current asset value per share (current assets minus all liabilities)38.26<= 0.670.0 / 15
Inputs, 15 numbers with their sources
InputValuePeriodSourceCheck
Price (close, per traded unit)392.152026-10-23Alpaca Market Data (consolidated SIP daily bar)not cross-checked
current_assets1807500000.02026-06-30SEC XBRL AssetsCurrent 0000105770-26-000099unverified
current_liabilities640500000.02026-06-30SEC XBRL LiabilitiesCurrent 0000105770-26-000099unverified
debt_incl_current202900000.02026-06-30SEC XBRL LongTermDebt 0000105770-26-000099unverified
Net income FY2021661800000.02021-12-31 historySEC XBRL NetIncomeLoss 0000105770-24-000015unverified
Net income FY2022585900000.02022-12-31 historySEC XBRL NetIncomeLoss 0000105770-25-000013unverified
Net income FY2023593400000.02023-12-31 historySEC XBRL NetIncomeLoss 0000105770-26-000010unverified
Net income FY2024492700000.02024-12-31 historySEC XBRL NetIncomeLoss 0000105770-26-000010unverified
Net income FY2025493700000.02025-12-31 historySEC XBRL NetIncomeLoss 0000105770-26-000010unverified
Dividend years (Yahoo)[2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026] historyYahoo Finance dividend historynot cross-checked
EPS diluted FY20256.792025-12-31 historySEC XBRL EarningsPerShareDiluted 0000105770-26-000010unverified
EPS diluted FY20204.572020-12-31 historySEC XBRL EarningsPerShareDiluted 0000105770-23-000012unverified
equity2990200000.02026-06-30SEC XBRL StockholdersEquity 0000105770-26-000099unverified
Shares outstanding70375762.02026-07-20SEC 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-000099not cross-checked
liabilities1086200000.02026-06-30SEC XBRL Liabilities 0000105770-26-000099unverified

Piotroski F-Score

67 of 100. ok. How this is scored.

Test or factorValueThresholdPoints
1 Return on assets is positive11.6%pass = 111.11111111111111 / 11.11111111111111
2 Operating cash flow is positive755Mpass = 111.11111111111111 / 11.11111111111111
3 Return on assets improved on the prior year13.5% -> 11.6%pass = 10.0 / 11.11111111111111
4 Operating cash flow exceeds net income (accruals)755M vs 494Mpass = 111.11111111111111 / 11.11111111111111
5 Long-term debt / assets fell5.6% -> 4.7%pass = 111.11111111111111 / 11.11111111111111
6 Current ratio improved2.79 -> 3.02pass = 111.11111111111111 / 11.11111111111111
7 No new shares issued (share count did not rise)72M -> 70Mpass = 111.11111111111111 / 11.11111111111111
8 Operating margin improved (stand-in for gross margin, which the dataset does not carry)19.7% -> 19.0%pass = 10.0 / 11.11111111111111
9 Asset turnover (revenue / assets) improved0.79 -> 0.72pass = 10.0 / 11.11111111111111
Inputs, 27 numbers with their sources
InputValuePeriodSourceCheck
net_income 2025-12-31493700000.02025-12-31 historySEC XBRL NetIncomeLoss 0000105770-26-000010unverified
total_assets 2025-12-314270000000.02025-12-31 historySEC XBRL Assets 0000105770-26-000099unverified
cfo 2025-12-31754800000.02025-12-31 historySEC XBRL NetCashProvidedByUsedInOperatingActivities 0000105770-26-000010unverified
net_income 2025-12-31493700000.02025-12-31 historySEC XBRL NetIncomeLoss 0000105770-26-000010unverified
net_income 2024-12-31492700000.02024-12-31 historySEC XBRL NetIncomeLoss 0000105770-26-000010unverified
total_assets 2025-12-314270000000.02025-12-31 historySEC XBRL Assets 0000105770-26-000099unverified
total_assets 2024-12-313643400000.02024-12-31 historySEC XBRL Assets 0000105770-26-000010unverified
cfo 2025-12-31754800000.02025-12-31 historySEC XBRL NetCashProvidedByUsedInOperatingActivities 0000105770-26-000010unverified
net_income 2025-12-31493700000.02025-12-31 historySEC XBRL NetIncomeLoss 0000105770-26-000010unverified
lt_debt 2025-12-31202800000.02025-12-31 historySEC XBRL LongTermDebtNoncurrent 0000105770-26-000099unverified
lt_debt 2024-12-31202600000.02024-12-31 historySEC XBRL LongTermDebtNoncurrent 0000105770-26-000010unverified
total_assets 2025-12-314270000000.02025-12-31 historySEC XBRL Assets 0000105770-26-000099unverified
total_assets 2024-12-313643400000.02024-12-31 historySEC XBRL Assets 0000105770-26-000010unverified
current_assets 2025-12-311978200000.02025-12-31 historySEC XBRL AssetsCurrent 0000105770-26-000099unverified
current_assets 2024-12-311538100000.02024-12-31 historySEC XBRL AssetsCurrent 0000105770-26-000010unverified
current_liabilities 2025-12-31654900000.02025-12-31 historySEC XBRL LiabilitiesCurrent 0000105770-26-000099unverified
current_liabilities 2024-12-31550400000.02024-12-31 historySEC XBRL LiabilitiesCurrent 0000105770-26-000010unverified
shares_out 2026-07-2070375762.02026-07-20 historySEC XBRL EntityCommonStockSharesOutstanding 0000105770-26-000099unverified
shares_out 2025-07-2171907325.02025-07-21 historySEC XBRL EntityCommonStockSharesOutstanding 0000105770-25-000065unverified
operating_income 2025-12-31584900000.02025-12-31 historySEC XBRL OperatingIncomeLoss 0000105770-26-000010unverified
operating_income 2024-12-31569900000.02024-12-31 historySEC XBRL OperatingIncomeLoss 0000105770-26-000010unverified
revenue 2025-12-313074100000.02025-12-31 historySEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax 0000105770-26-000010unverified
revenue 2024-12-312893200000.02024-12-31 historySEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax 0000105770-26-000010unverified
revenue 2025-12-313074100000.02025-12-31 historySEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax 0000105770-26-000010unverified
revenue 2024-12-312893200000.02024-12-31 historySEC XBRL RevenueFromContractWithCustomerExcludingAssessedTax 0000105770-26-000010unverified
total_assets 2025-12-314270000000.02025-12-31 historySEC XBRL Assets 0000105770-26-000099unverified
total_assets 2024-12-313643400000.02024-12-31 historySEC XBRL Assets 0000105770-26-000010unverified

Earnings record

SEC XBRL, by fiscal year (named by the calendar year it ends in); EPS split-adjusted to today's shares; each row links to the filing.

FYEndedRevenue, $MNet income, $MEPS dilutedDividendFiling
20132013-12-311,3681121.57paid0000105770-16-000060
20142014-12-311,4211271.75paid0000105770-17-000011
20152015-12-311,400961.3paid0000105770-18-000006
20162016-12-311,5091441.91paid0000105770-19-000012
20172017-12-311,5991511.99paid0000105770-20-000015
20182018-12-311,7172072.74paid0000105770-21-000008
20192019-12-311,8402423.21paid0001628280-22-003342
20202020-12-312,1473464.57paid0000105770-23-000012
20212021-12-312,8326628.67paid0000105770-24-000015
20222022-12-312,8875867.73paid0000105770-25-000013
20232023-12-312,9505937.88paid0000105770-26-000010
20242024-12-312,8934936.69paid0000105770-26-000010
20252025-12-313,0744946.79paid0000105770-26-000010

Insider transactions

SEC Form 4 open-market purchases and sales from the insider data sets; latest 20.

DateInsiderRoleTypeSharesPriceValue
2026-09-15Favorite Annette Fofficersale plan2,524365.00921,260
2026-09-14Favorite Annette Fofficersale plan2,500355.00887,500
2026-09-11Favorite Annette Fofficersale plan2,500345.00862,500
2026-09-08Favorite Annette Fofficersale2,817340.81960,062
2026-09-08Favorite Annette Fofficersale2,500340.81852,025
2026-09-08Favorite Annette Fofficersale2,818340.81960,403
2026-04-27Winters Chadofficersale896300.67269,400
2026-04-27Favorite Annette Fofficersale2,817305.20859,748