Where we start
The Owner track teaches the reasoning on a constructed business. The ten Analyst sessions do it on real ones. Each session takes one piece of the reasoning, owner earnings, normalising, returns on capital, discounting, reverse discounting, sensitivity, base rates, durability, the memo, and puts it on the same four companies' filings, so that by the bench in session 10 every number is one you have built yourself. Reading the three statements is not taught here; it lives in Finance: Reading the Numbers ↗. Here the statements are inputs.
Educational, not investment advice. Four company names appear because their filings are public and long. Nothing here says whether to buy, hold or sell any of them, and no market price, ticker or price chart appears on any page. The figures come from SEC XBRL company facts; during this build the SEC's own server refused the build machine, so the same records were read from a public mirror and spot-checked against the SEC's API. The source map records which values were checked.
★ What you walk out with tonight. A thirty-line Python reader for any US filer's annual facts, owner earnings per share for four companies across fifteen to nineteen years, the sentence that explains why Johnson & Johnson's owner earnings sit above its net income while Exxon Mobil's sat far below for five years, and a list of the three places the approximation is wrong before anyone uses it in a valuation.
A filing is a pile of tagged facts
5 min liveA 10-K is a long document for people. Underneath, every number in its financial statements carries a tag: which concept it is (net income, capital expenditure), which period it covers, which unit, and which filing reported it. The SEC publishes all of a company's tagged facts as one file per company, called company facts. The same year's net income appears in three successive 10-Ks, because each one shows three years, and if the company restated it, the later filings carry the new number.
LiveWhat a fact is, and the four choices a reader makes3 min▶
A fact is a concept name, a value, a unit, a start and end date, the form that reported it and the date it was filed. Turning a pile of facts into one row per fiscal year forces four choices, and every one of them changes numbers. Which form: 10-K annual reports only, not quarterly 10-Qs. Which period: full years only, between 330 and 380 days, which drops the quarters and year-to-date figures that 10-Ks also carry. Which filing: the latest, so restatements win. Which concept: companies change tags over time, so a reader keeps a short preference list per field and takes the first one that has the year.
One more choice bites quietly. Johnson & Johnson's fiscal year is 52 or 53 weeks, and three of its years ended on 3 January. Labelled by the calendar year of the end date, fiscal 2009 collides with fiscal 2010 and silently overwrites it. A year that ends in the first ten days of January belongs to the year before.
Self-studyThe tags that changed under our feet3 min▶
Caterpillar tagged its profit as NetIncomeLoss until fiscal 2010 and as NetIncomeLossAvailableToCommonStockholdersBasic from 2011. Its capital spending moved from PaymentsToAcquireProductiveAssets (to 2017) to PaymentsToAcquirePropertyPlantAndEquipment (from 2018); the two agree exactly in the years both appear. Exxon Mobil stopped tagging diluted shares after 2013 and tags basic shares since, which it reports as the same number, so its usable run starts in 2011. A reader that knows only one tag per field returns four years for Caterpillar and three for Exxon and calls it data.
The full concept map, every fallback and every restated value is in the source map. The habit is to print, for each field, which concept fed which years, before trusting any total.
Caterpillar's fiscal 2014, two numbers. Caterpillar's 10-K filed in 2015 reported fiscal 2014 profit of 3,695 million dollars. Later 10-Ks show 2,452 million for the same year, after the company changed how it accounts for pension costs and restated earlier years. Nothing about 2014's factories or customers changed. A five-year average that started from the first number and one that started from the second differ by about 250 million a year before anyone has made a single judgment.
Net income, plus D&A, minus capex
5 min liveBuffett's 1986 letter defines owner earnings as reported earnings, plus depreciation, depletion, amortisation and certain other non-cash charges, less the average annual capital spending the business needs to keep its competitive position and its unit volume. The filings give us the first two terms directly. They do not give us the third: a cash flow statement reports all capital spending, and does not say how much of it was to stand still and how much was to grow.
LiveWhy subtracting all capex is the conservative choice3 min▶
Total capital spending is the spend to stand still plus the spend to grow. Subtracting all of it removes some money the owners chose to reinvest, so the figure is lower than Buffett's owner earnings for any business that is expanding. For a valuation, erring low is the safer direction, and it has one more virtue: it is computed from the filing, not from a guess. The honest name for what we compute is owner earnings, all-capex approximation, and every page and the bench label it so.
The opposite error is the one Buffett warned about in the same 1986 letter: adding depreciation back to profit and calling the result cash flow, with no capital spending subtracted at all. That number hides the money a business must keep pouring in. It is the most common shortcut in a pitch deck.
Self-studyWhy operating cash flow is not owner earnings either3 min▶
Operating cash flow already adds back depreciation, and it also moves with working capital: when a company collects faster or pays suppliers slower, operating cash rises without the business earning more. We store operating cash flow in the sample so you can compare, but the owner-earnings formula here starts from net income, as Buffett's does. Working capital and why cash and profit diverge belong to Finance: Reading the Numbers ↗.
Exxon Mobil, when capex ran far above depreciation. Buffett's 1986 letter names the oil industry as the case where required capital spending exceeds depreciation, so reported earnings overstate owner earnings. Exxon's filings show the pattern: in fiscal 2011 net income was 41,060 million dollars, depreciation, depletion and amortisation 15,583 million and capital spending 30,975 million, so net income per share was 8.42 dollars and owner earnings per share 5.27. From 2011 to 2015 its capital spending ran between about 1.5 and 2.2 times its depreciation every year. Some of that was growth, and our approximation cannot tell how much.
Three places the number is wrong
5 min liveA number you computed carefully is still wrong in known ways, and the analyst's job is to name them before anyone else uses it. For these four filers there are three, and each moves owner earnings in a direction you can state.
LiveGrowth capex, leased equipment, and one-off years4 min▶
Growth capex subtracted. Every dollar spent to grow is counted as if it were spent to stand still, so a growing company looks worse than it is. Direction: too low.
Caterpillar's leased equipment. The capital spending tag Caterpillar uses covers its own plant and equipment and leaves out equipment its finance arm buys to lease to customers, while the depreciation tag includes depreciation on that leased fleet. So depreciation is added back for assets whose purchase is never subtracted. Direction: too high, for Caterpillar only. A careful analyst finds the leasing spend in the cash flow statement and subtracts it; we leave it, label it, and keep the reader of our numbers informed.
One-off years. Exxon's fiscal 2020 net loss of 22,440 million came with 46,009 million of depreciation, depletion and amortisation that included large write-downs; J&J's fiscal 2023 net income of 35,153 million included a gain from separating its consumer health business. A single year's owner earnings can be off in either direction by more than the business earns in a normal year. Normalising across a cycle is Analyst session 2.
Self-studyWhy J&J's owner earnings sit above its net income2 min▶
J&J's depreciation and amortisation, 7,503 million in fiscal 2025, was well above its capital spending of 4,832 million. A large part of that amortisation is the write-down, year by year, of intangible assets it acquired, which is a charge with no cash leaving that year and no capital spending to replace it. Adding it back is what the formula says to do. Whether those acquired intangibles will need to be "re-bought" through future acquisitions to keep the business where it is, is exactly the guess Buffett's term (c) asks for, and the filing cannot make it for you.
An unusual repeat in J&J's share count. J&J's diluted weighted-average shares are tagged as 2,429.4 million for both fiscal 2024 and fiscal 2025. The SEC's own company-concept data shows the same figure for both years, so it is what the filing says, and we keep it rather than "correct" it. It is the kind of thing a reader notices only by printing every row before computing anything.
Owner earnings for four filers, from the facts
★ 22 min · everyone buildsPython 3, standard library only. The reader fetches a company's facts from the SEC with a descriptive User-Agent carrying your name and contact, which the SEC requires, and stays well under its limit of ten requests a second. If the SEC refuses your network, as it refused the build machine, the source map names the public mirror these pages used. The printed figures below are the ones the bench recomputes.
Step 1 · Fetch one company's facts. Set a User-Agent with your own name and email. The CIK is the SEC's ten-digit company number, zero padded.
Step 2 · Sieve to one value per fiscal year. 10-K and 10-K/A only, full-year periods only, the latest filing wins, and a 52/53-week year ending in early January belongs to the year before. The first concept in the list that has a year wins.
Step 3 · Name the concepts, with fallbacks. These lists are the ones that cover all four filers' full runs.
Step 4 · Join on fiscal year and divide by shares. Only years where all four fields exist survive the join.
Step 5 · Run it for the four filers. The last row for each, as these pages computed it:
Step 6 · Print every row, and find the one-offs. Loop over all the rows for one filer and look. You should see Exxon's fiscal 2020 owner earnings per share at 1.47 with net income per share at -5.25, J&J's fiscal 2017 at 1.33 and fiscal 2023 at 14.88, and Caterpillar's fiscal 2016 at 3.18. Write one line per jump saying whether it is the business or an accounting event; Analyst session 2 decides what to do with them.
Keep the label with the number. Wherever these figures travel, they travel as "owner earnings, all-capex approximation, from 10-K facts, latest filing", with the known errors listed. A figure that loses its label becomes a fact in somebody else's deck.
Before Analyst session 2
30 min- Run the reader for a fifth company you know, and print which concept fed which years for every field. Note any tag change and any missing year.
- Compare capex with D&A for each year of one filer. Mark the years where capex ran above D&A and write one sentence on why.
- Find one restatement by printing every filing's value for one year of one concept. Which filing would you trust, and why?
- Write the label for your fifth company's owner earnings: the approximation, its direction of error, and any company-specific gap like Caterpillar's leased equipment.
Three questions
Clear all three and Analyst session 1 gets stamped in your passport.
1 · Caterpillar's fiscal 2014 net income appears as 3,695 million in one 10-K and 2,452 million in later ones. What does a careful reader do?
The restated figure is the one the company now stands behind. Using it is a choice with a consequence, so it is recorded with the original. A backtest that wants to know what was knowable at the time would make the other choice, and should say so.
2 · Owner earnings here are net income plus D&A minus all capital expenditure. In which direction is that wrong for a growing company?
The filing reports total capex, not the maintenance part. Subtracting all of it understates owner earnings for an expanding business. It is the conservative error, and it has to be labelled.
3 · Johnson & Johnson's fiscal 2025 owner earnings per share (12.13) sit above its net income per share (11.03). Why?
The formula adds D&A and subtracts capex; when the first is bigger, owner earnings beat profit. Whether that amortisation is truly free, or will have to be "re-bought" through acquisitions, is the guess the filing cannot make.
What this session teaches, and where it came from
Every fact on this page, and its verification tier, is recorded in the course's source map.
Analyst session 1 cheat sheet · pin this
You now have owner earnings per share for four companies across fifteen to nineteen years, and you have seen the years that jump. Analyst session 2 decides what to do with them: averages over five and ten years, telling a cycle from a one-off, and the first look at the ladder the bench runs, where the five-year average beats last year's earnings on two of three hold-outs and nothing beats the boom that followed 2020.