How to Calculate Variable Rate Mortgage Payment

Dividend Reinvestment (DRIP) Calculator

Projection Summary

Total Portfolio Value:

Total Principal Invested:

Annual Dividend Income:

Total Gain:


Understanding Dividend Reinvestment Plans (DRIP)

A Dividend Reinvestment Plan, or DRIP, is an investment strategy where the cash dividends paid by a company or fund are automatically used to purchase additional shares of that same investment. Instead of receiving a check or cash in your brokerage account, you use that income to increase your ownership stake.

The Power of Compounding with DRIP

The primary benefit of a DRIP is the "compounding effect." When you reinvest dividends, you own more shares. Those additional shares then generate their own dividends in the next payment cycle, which are used to buy even more shares. Over 10, 20, or 30 years, this cycle can exponentially increase the size of your portfolio compared to taking the cash dividends.

How to Use the DRIP Calculator

To get an accurate projection of your future wealth, you need to input a few key variables:

  • Initial Investment: The starting amount of capital you are putting into the stock or fund.
  • Monthly Contribution: Any recurring monthly additions you plan to make to the position.
  • Annual Dividend Yield: The current dividend rate (e.g., if a $100 stock pays $4/year, the yield is 4%).
  • Expected Annual Growth: The estimated percentage the share price itself will increase each year.
  • Duration: How long you plan to hold the investment and reinvest the proceeds.

Example Scenario: Realistic Expectations

Imagine you start with $10,000 in a high-quality dividend growth stock. You contribute $500 per month. The stock has a 3% dividend yield and historical share price appreciation of 7%. After 25 years, the difference between taking dividends as cash versus reinvesting them can be hundreds of thousands of dollars.

By reinvesting, your "yield on cost" increases significantly. This calculator assumes all dividends are reinvested immediately and that taxes (if in a taxable account) are paid from other sources, allowing the full dividend amount to compound.

function calculateDRIP() { var initial = parseFloat(document.getElementById('initialInvestment').value); var monthly = parseFloat(document.getElementById('monthlyContribution').value); var yieldPercent = parseFloat(document.getElementById('dividendYield').value) / 100; var growthPercent = parseFloat(document.getElementById('annualGrowth').value) / 100; var years = parseInt(document.getElementById('investmentYears').value); if (isNaN(initial) || isNaN(monthly) || isNaN(yieldPercent) || isNaN(growthPercent) || isNaN(years)) { alert("Please enter valid numeric values in all fields."); return; } var totalMonths = years * 12; var monthlyGrowthRate = Math.pow(1 + growthPercent, 1/12) – 1; var monthlyYieldRate = yieldPercent / 12; var totalReturnRateMonthly = monthlyGrowthRate + monthlyYieldRate; var currentValue = initial; var totalInvested = initial; for (var i = 0; i < totalMonths; i++) { currentValue = currentValue * (1 + totalReturnRateMonthly); currentValue += monthly; totalInvested += monthly; } var finalDividendIncome = currentValue * yieldPercent; var totalGain = currentValue – totalInvested; document.getElementById('totalPortfolio').innerText = "$" + currentValue.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('totalPrincipal').innerText = "$" + totalInvested.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('annualIncome').innerText = "$" + finalDividendIncome.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('totalGain').innerText = "$" + totalGain.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('drip-results').style.display = 'block'; }

Leave a Comment