Methodology: how every number on this site is calculated
Financial calculators earn trust one way: show the math. This page documents every formula our calculators run, where the live data comes from, and how you can verify all of it yourself — the core engine is open source.
The open-source engine behind every result
The compounding math on this site is implemented twice, deliberately: once in dividend-math, our MIT-licensed open-source library (installable from npm as dividend-math), and once inside this site's own code base, covered by unit tests that run on every change. The two implementations are kept in agreement, and because the library is public, anyone can read the exact recurrence, run the tests, or file an issue if a number looks wrong. We know of no other dividend calculator whose math you can audit end to end.
Core formulas
Dividend yield — annual dividends per share divided by the share price:
yield % = (annual dividend per share ÷ share price) × 100
Yield on cost — the same numerator over your average purchase price, which is why it rises over time in the year-by-year tables even when the market yield stays flat:
yield on cost % = (annual dividend per share ÷ your cost basis per share) × 100
Dividend payout ratio — the share of earnings paid out as dividends, the standard sustainability check (our gauge bands: 0–35% safe, 35–75% healthy, 75–100% stretched, above 100% unsustainable unless earnings are depressed):
payout ratio % = (dividend per share ÷ earnings per share) × 100
DRIP projection — a year-by-year simulation, not a closed-form formula. For each year: shares grow by reinvested dividends plus any monthly contributions; the per-share dividend grows at your dividend-growth input; the share price grows at your price-growth input. Formally, with Dₜ the per-share dividend in year t, Sₜ shares and Pₜ price:
Dₜ⁺₁ = Dₜ × (1 + dividend growth)Pₜ⁺₁ = Pₜ × (1 + price growth)Sₜ⁺₁ = Sₜ + (Sₜ × Dₜ) ÷ Pₜ + contributions ÷ Pₜ⁺₁
When you switch DRIP off, the dividends are still computed (they show up as “total distributions received”) but the share count no longer grows from them. Monthly contributions are handled at the year's price for simplicity — the difference versus true monthly compounding is small at the horizons these calculators are used for, and the unit tests pin the behavior.
Where the live ticker data comes from
ETF pages (SCHD, QQQI, JEPI, JEPQ) prefill their inputs and show distribution tables from a data pipeline we run on a roughly bi-weekly cadence: per-share distribution history is pulled from Yahoo Finance's chart API (events=div), cached into a JSON file at build time, and rendered statically. Every dynamic number on the site carries an “as of” date — the date of the underlying data refresh (currently 2026-08-20) — because a distribution figure without a date is marketing, not data.
Projected ex-dividend dates extend the fund's observed payment cadence forward and assume the most recent per-share amount repeats. They are projections, not announcements: confirm dates and amounts on the official fund page (Schwab, NEOS) or your broker before making a trading decision.
How we keep it accurate
- Unit tests on every change — the projection engine and each formula are covered by automated tests, run in CI before anything ships.
- Worked examples with real figures — editorial examples use real, checkable numbers (for instance, Pfizer's 2019 payout of $1.44 against $2.82 of earnings, a 49.4% payout ratio, on our payout ratio calculator page).
- Formatting conventions — money to 2 decimals, per-share distributions to 3 (a $0.652 payment is genuinely three-decimal money), yields to one decimal, and tabular numerals everywhere so columns align.
- Assumptions stay visible — growth rates are your inputs, clearly labeled as planning assumptions, never hidden defaults.
What these calculators are not
They are planning tools, not predictions. Nothing here forecasts which way a share price or distribution moves; the value is in making the compounding arithmetic transparent so you can weigh your own assumptions. Nothing on this site is financial advice — see the about page for the full disclaimer, and contact us if a number ever looks wrong.