Case file / 001 · Apple FY2025
Follow the numbers.
Challenge the assumptions.
Start with a fixed financial snapshot. Trace two cash calculations, then see how changing assumptions affects a simplified valuation.
Your assumptions
CSV export includes the inputs, assumptions, and calculated outputs.
Projected free-cash-flow proxy
USD billions · base-year cash flow grown under your selected assumptions
Base scenario: 8.0% discount rate, 2.5% terminal growth, and the unadjusted growth path.
Sensitivity
Small assumptions. Different results.
| Discount rate / terminal growth | 2.0% | 2.5% | 3.0% |
|---|---|---|---|
| 7.0% | $160.47 | $175.14 | $193.47 |
| 8.0% | $133.85 | $143.49 | $155.05 |
| 9.0% | $114.84 | $121.58 | $129.44 |
Highlighted cell = current scenario. The grid changes with the controls.
Inputs you can inspect
The starting snapshot.
| Operating cash flow | 111,482 |
|---|---|
| Capital expenditure | 12,715 |
| Cash and securities | 132,420 |
| Debt | 98,657 |
| Year-end shares · millions | 14,773.26 |
How the calculation works
Two bridges, then a scenario.
- FCF proxy = operating cash flow − capex.
- Net debt = debt − cash and securities.
- Project the cash-flow proxy using five explicit annual growth rates.
- Discount those cash flows and a Gordon-growth terminal value.
- Subtract net debt and divide by the frozen year-end share count.
Reproduce & review
Go from the browser to the source.
Use Git and the project’s Python requirements in a virtual environment. This pins the portfolio case to the source revision used for this demonstration.
git clone https://github.com/Kozphy/financial-analysis-tool.git
cd financial-analysis-tool
git checkout a35303cb179f2d30aa17780e368af55c3f8a476b
python -m pip install -e ".[dev]"
python -m pytest tests/test_case_study.py -qExpected headline results: FCF 98,767 · net debt −33,763 · base $143.49/share · downside $114.84 · upside $193.47.
Original case data · Source memo · Python case tests
The browser demo uses JavaScript; the linked repository uses Python. Matching headline results establish calculation parity for this case, not independent validation of the financial assumptions.
A useful next conversation
Have a role or a reporting problem?
I’m interested in remote junior roles and scoped financial-data projects. For a project, start with sample inputs, the required output, acceptance checks, and a deadline.