Oil-Dri Corp of America
ODCdata completeness 75%16 fiscal years on fileData notes: no data for concept 'totalDebt'
The thesis, from the filings
Oil-Dri Corp of America earns about 17% on invested capital. The cash-flow models don't apply cleanly here — the ledger says why below.Whether it’s worth owning at today’s price is the last question — and yours to answer, below.
i. The business — what you’d actually own
| Figure | FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 |
|---|---|---|---|---|---|
| Revenue | $305M1 | $348.6M2 | $413M3 | $437.6M3 | $485.6M3 |
| Net income | $11.1M4 | $5.67M5 | $29.6M6 | $39.4M6 | $54M6 |
| Operating cash flow | $13.6M7 | $9.02M8 | $49.8M9 | $60.3M9 | $80.2M9 |
| Capital expenditure | $18.8M10 | $22M11 | $24.4M12 | $32M12 | $32.6M12 |
| Free cash flow (derived) | −$5.2M7 | −$13M8 | $25.4M9 | $28.3M9 | $47.6M9 |
| Total debt | — | — | — | — | — |
| Cash & equivalents | $24.6M13 | $16.3M13 | $31.8M14 | $23.5M14 | $50.5M14 |
| Diluted shares | — | — | — | — | — |
Superscripts are receipts. Each links to the SEC filing the number came from (full list at the bottom).
iii. Is this a good business?
Moat signal · return on invested capital
17% avg · 5y
FY21 9%FY22 5%FY23 21%FY24 22%FY25 27%
It earned an average 17% on invested capital over 5 years. Compare that to what it costs to fund the business.
seeing a moat in the numbers →Management signal · capital allocation
— shares · 5y
Not enough history to read capital allocation.
reading capital allocation →Signals, not verdicts — read from the filings above. Numbers don’t prove a moat; they show its footprint. You decide.
iv. What it’s worth — engine v0.1.0
DCF · Growth Exit 10Y
not applicable
no diluted share count — cannot compute per-share value
DCF · Growth Exit 5Y
not applicable
no diluted share count — cannot compute per-share value
Earnings Power Value
not applicable
no diluted share count
Graham Number
not applicable
diluted EPS missing or non-positive — Graham Number undefined
Different models answer different questions — which to trust when →
Sources — the receipts
- 10-K · period ending 2021-07-31 · accession 0000074046-22-000072 (RevenueFromContractWithCustomerExcludingAssessedTax)
- 10-K · period ending 2022-07-31 · accession 0000074046-23-000058 (RevenueFromContractWithCustomerExcludingAssessedTax)
- 10-K · period ending 2023-07-31 · accession 0001628280-25-044686 (RevenueFromContractWithCustomerExcludingAssessedTax)
- 10-K · period ending 2021-07-31 · accession 0000074046-22-000072 (NetIncomeLoss)
- 10-K · period ending 2022-07-31 · accession 0000074046-23-000058 (NetIncomeLoss)
- 10-K · period ending 2023-07-31 · accession 0001628280-25-044686 (NetIncomeLoss)
- 10-K · period ending 2021-07-31 · accession 0000074046-22-000072 (NetCashProvidedByUsedInOperatingActivities)
- 10-K · period ending 2022-07-31 · accession 0000074046-23-000058 (NetCashProvidedByUsedInOperatingActivities)
- 10-K · period ending 2023-07-31 · accession 0001628280-25-044686 (NetCashProvidedByUsedInOperatingActivities)
- 10-K · period ending 2021-07-31 · accession 0000074046-22-000072 (PaymentsToAcquirePropertyPlantAndEquipment)
- 10-K · period ending 2022-07-31 · accession 0000074046-23-000058 (PaymentsToAcquirePropertyPlantAndEquipment)
- 10-K · period ending 2023-07-31 · accession 0001628280-25-044686 (PaymentsToAcquirePropertyPlantAndEquipment)
- 10-K · period ending 2021-07-31 · accession 0000074046-23-000058 (CashAndCashEquivalentsAtCarryingValue)
- 10-K · period ending 2023-07-31 · accession 0001628280-25-044686 (CashAndCashEquivalentsAtCarryingValue)