Price growth is not yield growth
Under the test inputs below, year-two modeled cash is $334.152 with both growth controls, versus $300 with neither. The inputs are hypothetical. This tests our calculator, not future SCHD distributions or broker credits.
The SCHD dividend calculator labels one control “Annual modeled yield growth (%)”. That wording matters: it scales the model's yield, rather than directly specifying dividend dollars per share. This page holds additions and reinvestment at zero to expose that distinction. The historical distribution-growth worksheet serves a different purpose: comparing observed payout periods.
Four controlled scenarios, one starting balance
Every scenario assumes $10,000 starting value, $0 monthly additions, a 3% initial modeled yield and DRIP off. We choose price-growth inputs of 0% or 4%, and modeled-yield-growth inputs of 0% or 5%. These choices are test fixtures, not current fund measurements, recommended settings or expected returns. Annual rows are model steps, not scheduled deposits.
| Scenario | Price growth | Modeled yield growth | Year 1 cash | Year 2 cash | Year 10 cash |
|---|---|---|---|---|---|
| Both growth inputs zero | 0% | 0% | $300.00 | $300.000 | $300.00 |
| Price growth only | 4% | 0% | $306.00 | $318.240 | $435.53 |
| Modeled yield growth only | 0% | 5% | $300.00 | $315.000 | $465.40 |
| Both growth inputs | 4% | 5% | $306.00 | $334.152 | $675.66 |
Download every input, exact decimal row and JavaScript result (CSV) · Download the audited production-code snapshot
The two controls do not have identical first-year effects. Price growth changes the average modeled value immediately, so the first row becomes $306 rather than $300. Modeled yield growth uses an exponent of year minus one; in year one that exponent is zero. Its first separate effect is therefore in year two: $315 rather than $300 when price growth stays zero.
The combined case reaches $334.152 in year two. The exact result is kept beside the inputs because the home table formats money to whole dollars. A displayed $334 is not a distinct calculation or proof of an account payment; it is the formatting of the model result. The CSV records exact decimal arithmetic separately from the JavaScript number.
Rebuild the combined case without a hidden assumption
With no additions and no reinvestment, the first closing model value is $10,000 × 1.04 = $10,400. Average value is ($10,000 + $10,400) ÷ 2 = $10,200. Effective yield is 0.03 × 1.05⁰ = 0.03, so modeled cash is $10,200 × 0.03 = $306.
Year two starts at $10,400 and ends at $10,400 × 1.04 = $10,816 before cash. Its average is $10,608. Effective yield is 0.03 × 1.05¹ = 0.0315, so $10,608 × 0.0315 = $334.152. With DRIP off, the prior $306 is not added to the starting asset value; cumulative modeled cash is tracked separately.
For this restricted fixture, annual modeled cash grows by (1.04 × 1.05 − 1) × 100 = 9.2% after the first row. The 4% and 5% inputs are our assumptions, and 9.2% is their derived model interaction, not SCHD's observed dividend growth. Additions, reinvestment or altered code would require another derivation.
Why a per-share growth percentage cannot be copied blindly
Consider a separate, explicitly hypothetical per-share model: dividend dollars per share rise by 5% while price per share rises by 4%. The dividend-to-price ratio then changes by (1.05 ÷ 1.04 − 1) × 100 = 0.961538…%, not 5%. This follows by dividing the new dividend numerator by the new price denominator.
That separate ratio example is not a setting conversion that reproduces every row of our value-average model. Our routine applies yield to average value, and other calculators can use different contribution or reinvestment timing. Before copying a growth percentage between tools, establish whether it means per-share cash growth, growth of a yield ratio, or growth of account income. Matching the labels alone cannot establish matching arithmetic.
Zero results and missing-input probes
The following tests call the published calculation routine with explicit inputs. They are code probes, including values outside the form's advertised ranges, not recommended financial scenarios.
Zero starting money with no additions produces zero modeled cash, as does an explicitly zero yield. A blank yield field also produces zero in the current code because its parser falls back to zero. The numerical equality does not make the blank a verified assumption. Keep the original entry and its missing-data status when interpreting or exporting a result.
A raw minus-100% price-growth probe gives $150 in year one and $0 in year two under this routine: its first average value is still $5,000, while the next opening value is zero. This is outside the home form's advertised price-growth range. It demonstrates the limits of an annual-average formula and must not be read as an entitlement to cash following a real fund loss.
| Probe | Year 1 cash | Year 2 cash | Interpretation |
|---|---|---|---|
| zero_capital | 0 | 0 | valid zero money |
| zero_yield | 0 | 0 | explicit zero scenario |
| blank_yield | 0 | 0 | missing input; software falls back to zero, not a verified yield |
| blank_growth | 306 | 318.24 | missing input; software falls back to zero, not a confirmed assumption |
| negative_yield | 0 | 0 | raw routine probe; below form minimum; cash floored to zero |
| price_drop_100 | 150 | 0 | raw routine probe; outside home price-growth form range; not a market forecast |
| one_year | 306 | not run | valid one-year run; growth exponent is zero |
Download all raw inputs and boundary outputs (CSV)
What this audit can answer
It explains why changing these two controls changes this calculator's output. It cannot choose a realistic future growth rate, guarantee a payment or reconstruct a broker balance. For the separate year-range behavior, see the holding-period boundary audit. If the production routine changes, compare it with the downloadable snapshot before reproducing these figures.
Sources and reproducibility
The production calculation source and home form were read on October 9, 2026. We executed that source and checked each row against an independent decimal calculation. Money, yield and growth values in this article are deliberately chosen inputs; none is presented as a measured SCHD figure. Schwab's fund disclosure states that past performance does not guarantee future results. The bounded comparison reads the fixed DRIPCalc, Snowball and Wisesheets pages; it does not claim this analysis is absent everywhere else.
Nominal model dollars are a different quantity from purchasing power. The income and inflation index worksheet isolates that distinction with explicitly assumed rates; it does not change this calculator replay.