Project your future wealth with Schwab US Dividend Equity ETF
Yes (DRIP On)
No (Take Cash)
Projection Summary
Ending Portfolio Value
$0.00
Annual Dividend Income
$0.00
Total Shares Owned
0.00
Yield on Cost
0.00%
Understanding the SCHD DRIP Strategy
The Schwab US Dividend Equity ETF (SCHD) is widely considered one of the gold standards for dividend growth investors. This calculator helps you visualize how initial capital, monthly contributions, and dividend reinvestment (DRIP) compound over several decades.
The Power of Dividend Growth
Unlike fixed-income assets, SCHD focuses on companies with a track record of increasing their payouts. When you factor in a 10-year average dividend growth rate of roughly 11-12%, the "Yield on Cost" can explode. This calculator uses your Dividend Growth Rate input to increase the per-share payout annually.
How This Calculator Works
Quarterly Compounding: Since SCHD pays dividends quarterly, the math accounts for four payouts per year.
Price Appreciation: We assume the share price grows steadily alongside the dividends.
DRIP Logic: If enabled, each quarterly dividend is used to purchase more shares at the current (projected) market price.
Example Scenario
If you start with $10,000 in SCHD, contribute $500 per month ($6,000/year), and assume a 3.4% yield with a 10% dividend growth rate and 5% price growth, after 20 years with DRIP enabled, your portfolio value and annual passive income would far exceed a standard savings account or a non-growing dividend asset.
Disclaimer
This calculator is for informational purposes only. Past performance of SCHD (Schwab US Dividend Equity ETF) does not guarantee future results. Market volatility, dividend cuts, and economic changes can all impact actual returns. Consult with a financial advisor before making investment decisions.
function calculateSCHD() {
var initialInv = parseFloat(document.getElementById('initialInvestment').value) || 0;
var price = parseFloat(document.getElementById('currentPrice').value) || 0;
var annualCont = parseFloat(document.getElementById('annualContribution').value) || 0;
var years = parseInt(document.getElementById('years').value) || 0;
var startYield = (parseFloat(document.getElementById('divYield').value) || 0) / 100;
var divGrowth = (parseFloat(document.getElementById('divGrowth').value) || 0) / 100;
var priceGrowth = (parseFloat(document.getElementById('priceGrowth').value) || 0) / 100;
var isDrip = document.getElementById('dripEnabled').value === 'yes';
if (price <= 0 || years <= 0) {
alert("Please enter valid price and years.");
return;
}
var totalShares = initialInv / price;
var currentPrice = price;
var annualDivPerShare = currentPrice * startYield;
var totalInvested = initialInv;
for (var year = 1; year <= years; year++) {
// Annual Contribution added at start of year
var newSharesFromCont = annualCont / currentPrice;
totalShares += newSharesFromCont;
totalInvested += annualCont;
// Process 4 quarters
for (var q = 1; q <= 4; q++) {
var quarterlyDivPerShare = annualDivPerShare / 4;
var totalPayout = totalShares * quarterlyDivPerShare;
if (isDrip) {
var sharesBought = totalPayout / currentPrice;
totalShares += sharesBought;
}
}
// Apply Growth at end of year
currentPrice = currentPrice * (1 + priceGrowth);
annualDivPerShare = annualDivPerShare * (1 + divGrowth);
}
var finalValue = totalShares * currentPrice;
var finalAnnualIncome = totalShares * annualDivPerShare;
var yoc = (finalAnnualIncome / totalInvested) * 100;
document.getElementById('resultsArea').style.display = 'block';
document.getElementById('endValue').innerText = '$' + finalValue.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('annualIncome').innerText = '$' + finalAnnualIncome.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('totalShares').innerText = totalShares.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('yieldOnCost').innerText = yoc.toFixed(2) + '%';
}