How to run an annual portfolio review that is checkable a year later: report the book in cash rather than market value, publish a standing rating per name that ignores your own entry price, and cost the long-term goal instead of asserting it.
1. Report the portfolio in look-through cash flow, not market value
The repeatable method
- For each holding compute shares owned × free cash flow per share — the cash the underlying businesses earn on your behalf.
- Sum it, then divide the annual figure down to month, week, day, hour and minute so the number becomes concrete.
- Record the same figure every year, so the series is a growth rate you can audit — independent of what the market paid that year.
- Publish the per-share FCF assumption you used, so a reader can disagree with one input rather than the whole total.
Here: "
What each company makes for us per year = Number of shares we own × FCF per share. What Visa earns us = 180 × $11.1 = $1,998." Totalled:
$82,100.11 a year — $6,841.7/month, $224.9/day, $0.16/minute, against $11,985 in 2016 (an
18.9% CAGR). The same convention reappears in the
July 2026 letter ($65,520/yr, $0.12/min) and again on
1 September ($106,119/yr, $0.20/min) — which is what makes those three numbers comparable.
Watch for
- A cash figure that rises because you added money rather than because the businesses grew. The series needs a per-share or contribution-adjusted version to mean anything.
- Forward FCF per share taken from consensus. The 2026 and 2027 bars on the chart are estimates; the pre-2026 ones are not.
2. Publish a standing rating per holding, and let it contradict your P&L
The repeatable method
- Give every position a current rating (Strong Buy / Buy / Hold) that answers only one question: would you put new money in at today's price?
- Set it without reference to your cost basis, so a winner can be a Hold and a loser can be a Strong Buy.
- Publish it alongside the weight and the profit/loss, so the disagreement is visible.
- Re-rate on a fixed schedule rather than after price moves, so the ratings are not a reaction to the tape.
Here: three of the four largest weights are rated HOLD — MEDP at 10.2% and about +$83,000, LVMUY at 8.8%, GAW.L at 7.0% and about +$52,000 — while two of the six STRONG BUYs are among the worst positions in the book: NVO (about −$22,000) and BRO (about −$6,000). The rating and the return point in opposite directions by design.
Watch for
- A Hold that is really a deferred sell. OTCM is rated Hold here and sold four weeks later — the rating did not carry the information the sale did.
- Ratings that never change. A scale with no downgrades in it is a marketing device.
3. Date every position, and let holding period be visible
The repeatable method
- Keep the purchase date beside each holding permanently, not just in the transaction note.
- Read the roster in date order once a year: what has been owned longest, and has it earned the tenure?
- Treat a position that is flat over multiple years as requiring an explicit re-underwrite, regardless of its rating.
- Note starter positions explicitly — a recent buy at a small weight is a different commitment from a full one.
Here: the sheet dates all 18.
OTCM (14 Oct 2023) and
MEDP (23 Oct 2023) are the launch fortnight;
CSU.TO (10 Nov 2025) and
BN (23 Dec 2025) are seven-week-old starter positions at 3.45% and 3.5%. Reading it in date order is what makes the OTC Markets problem obvious — the oldest holding in the book is flat after 27 months — and the
29 January switch acts on exactly that.
Watch for
- Dead money disguised by a dividend. OTC Markets returned "only… the yearly dividend yield of 4.8%" and looked like a functioning position on the ratings sheet.
- A new position at a small weight being read as a full endorsement. It is a first tranche.
4. Track portfolio-level cheapness as a yield, not a multiple
The repeatable method
- Aggregate the book's free cash flow and divide by its market value to get a single portfolio FCF yield.
- Compare it with the same figure a year earlier and with its own decade range — not with a peer group.
- State the expected growth in intrinsic value alongside it, so the yield and the growth can be added into a rough expected return.
- Use the yield when comparing across years, because it survives changes in accounting and in which earnings measure is fashionable.
Here: "The current FCF Yield of Our Portfolio equals 5.4% versus 3.4% one year ago. The current valuation level is the cheapest it has ever been over the past decade" — set against expected intrinsic-value growth of 13.6% in 2026 and delivered Owner's Earnings growth of 13.0% (2025), 20.0% (5yr) and 19.7% (10yr).
Watch for
- A yield that improved because the price fell on names whose cash flow is about to fall too. A cheapening yield and a deteriorating business look identical for a while.
- Portfolio-level statistics that hide the dispersion. The same book contains a 9.9x forward PE (Evolution) and a 37.8x one (Medpace).
5. Cost the long-term goal in savings, return and years — then say which lever dominates
The repeatable method
- State the objective as a cash-flow figure, not a portfolio value ("$1 of free cash flow per minute").
- Convert it into the capital required at an assumed yield, so the target is a number rather than an ambition.
- Solve for the years, disclosing all three inputs: current capital, monthly contribution, assumed return.
- Notice which input actually drives the answer, and say so — that is where the effort belongs.
Here: $1/minute = $525,600 a year; at a 5% FCF yield that needs $10.5 million. From $1.47m, "we add $50,000 every single month" at "a return of 12% per year" → "a little bit more than 7 years." The disclosure worth borrowing: at $600,000 of annual contributions against a $1.47m base, the savings rate is doing most of the work, not the 12%.
Watch for
- A 12% assumed return quietly compounding away the difference between plans. Rerun the same sum at 7% before accepting the timeline.
- Goals expressed in portfolio value, which move with the market. A cash-flow goal does not.
6. Pre-commit to the concentration of returns before it happens
The repeatable method
- Write down the base rate you expect: how many of your picks need to work for the portfolio to work.
- Publish the per-position profit and loss so the actual concentration is visible, not inferred.
- Do not let the losers force a style change while the winners are still compounding — the arithmetic only works if the winners are left alone.
- Separate "this is down" from "this is wrong": the first is expected, the second requires an argued case.
Here: "If 6 out of your 10 picks are good ones, you are among the best investors in the world… All you need to be successful as an investor is a few big winners." In the book: MEDP +$83k, KPG.AX +$56k and GAW.L +$52k against five losers totalling roughly −$94k. Five names are down and none is sold.
Watch for
- The rule being used to excuse every loser. It justifies holding through drawdowns, not holding through broken theses — which is exactly the distinction the OTC Markets sale draws.
- Winners rated Hold and then trimmed anyway. The arithmetic depends on not doing that.
Methods distilled from the archived Compounding Quality post for personal study. Not investment advice.