How Are I Bonds Rates Calculated

I Bond Composite Rate Calculator

Calculate the annualized earnings rate for Series I Savings Bonds

The rate set at the time of purchase.
Based on the 6-month change in CPI-U.
Calculated Composite Rate:
0.00%


How I Bond Rates Are Calculated

Series I Savings Bonds earn interest through a combination of two distinct rates: a Fixed Rate and a Semiannual Inflation Rate. These two components are merged using a specific formula dictated by the U.S. Treasury to produce the Composite Rate.

The Composite Rate Formula

Composite Rate = [Fixed Rate + (2 x Semiannual Inflation Rate) + (Fixed Rate x Semiannual Inflation Rate)]

Components Explained

  • Fixed Rate: This rate is determined at the time you purchase the bond and stays the same for the entire 30-year life of the bond.
  • Semiannual Inflation Rate: This rate is calculated twice a year (every May and November) based on changes in the Consumer Price Index for all Urban Consumers (CPI-U).
  • Variable Nature: While the fixed rate is permanent, the inflation component changes every six months, meaning your bond's total yield adjusts to protect your purchasing power.

Practical Example

Imagine the Treasury announces a 1.30% fixed rate and the semiannual inflation rate is determined to be 1.90%. Here is how the math works:

  1. Convert percentages to decimals: Fixed = 0.013, Inflation = 0.019
  2. Apply formula: 0.013 + (2 x 0.019) + (0.013 x 0.019)
  3. Calculate: 0.013 + 0.038 + 0.000247 = 0.051247
  4. Annualized Composite Rate: 5.12%

Note: The composite rate can never go below zero. If the inflation rate is significantly negative (deflation), it can offset the fixed rate, but the Treasury guarantees the composite rate will stay at 0% or higher.

function calculateIBondRate() { var fixedInput = document.getElementById('fixedRate').value; var inflationInput = document.getElementById('semiannualRate').value; if (fixedInput === "" || inflationInput === "") { alert("Please enter both the Fixed Rate and the Semiannual Inflation Rate."); return; } var f = parseFloat(fixedInput) / 100; var s = parseFloat(inflationInput) / 100; // Formula: [Fixed rate + (2 x Semiannual inflation rate) + (Fixed rate x Semiannual inflation rate)] var composite = f + (2 * s) + (f * s); // The composite rate cannot go below 0% var finalRate = Math.max(0, composite); var displayRate = (finalRate * 100).toFixed(2); document.getElementById('compositeRateResult').innerText = displayRate + "%"; var breakdown = "Formula: " + (f*100).toFixed(2) + "% + (2 x " + (s*100).toFixed(2) + "%) + (" + (f*100).toFixed(2) + "% x " + (s*100).toFixed(2) + "%)"; document.getElementById('mathBreakdown').innerText = breakdown; document.getElementById('resultArea').style.display = 'block'; }

Leave a Comment