At Maturity (Simple Interest)
Monthly (Compound Interest)
Annually (Compound Interest)
Total Interest Earned:$0.00
Final Maturity Value:$0.00
Effective Yield:0.00%
Understanding CommBank Rates and Term Deposits
This calculator helps investors and savers estimate the potential returns on CommBank Term Deposits or NetBank Saver accounts. Unlike a loan calculator, this tool focuses on the yield generated by your capital over a fixed period.
How Calculation Works
The method used to calculate your return depends heavily on the "Interest Payment Frequency" you select, which corresponds to different CommBank product features:
At Maturity: This applies standard simple interest. The formula is Principal × Rate × (Time in Years). This is common for standard Term Deposits under 12 months.
Monthly/Annually: This applies compound interest logic. If you choose to reinvest your interest (compounding), your earnings generate their own earnings in subsequent periods, resulting in a higher effective yield.
Key Factors Affecting Your Rate
When reviewing CommBank rates, consider the following variables:
Term Length: Banks often offer "special offer" rates for specific terms (e.g., 8 months or 12 months) that may differ significantly from standard terms.
Loyalty Bonuses: Some savings products offer bonus interest if you make no withdrawals and deposit a minimum amount monthly.
RBA Cash Rate: The underlying rate set by the Reserve Bank of Australia heavily influences the fixed and variable rates offered on these products.
Note: This calculator provides an estimate based on the mathematical parameters entered. It does not account for withholding tax or specific bank fees. Always refer to the official CommBank Product Disclosure Statement (PDS) for exact figures.
function calculateCommBankRate() {
// 1. Get input values
var depositInput = document.getElementById('cbr_deposit').value;
var rateInput = document.getElementById('cbr_rate').value;
var termInput = document.getElementById('cbr_term').value;
var frequency = document.getElementById('cbr_frequency').value;
// 2. Validate inputs
if (depositInput === "" || rateInput === "" || termInput === "") {
alert("Please fill in all fields (Deposit, Rate, and Term).");
return;
}
var principal = parseFloat(depositInput);
var annualRatePercent = parseFloat(rateInput);
var months = parseFloat(termInput);
if (isNaN(principal) || isNaN(annualRatePercent) || isNaN(months) || principal < 0 || annualRatePercent < 0 || months <= 0) {
alert("Please enter valid positive numbers.");
return;
}
// 3. Calculation Logic
var totalInterest = 0;
var finalAmount = 0;
var annualRateDecimal = annualRatePercent / 100;
var timeInYears = months / 12;
if (frequency === 'maturity') {
// Simple Interest Formula: I = P * r * t
totalInterest = principal * annualRateDecimal * timeInYears;
finalAmount = principal + totalInterest;
}
else if (frequency === 'monthly') {
// Compound Interest Monthly: A = P(1 + r/n)^(nt)
// n = 12
var r_monthly = annualRateDecimal / 12;
var n_periods = months; // months * 1 (since term is already in months)
finalAmount = principal * Math.pow((1 + r_monthly), n_periods);
totalInterest = finalAmount – principal;
}
else if (frequency === 'annually') {
// Compound Interest Annually
// Note: If term is less than 1 year, this acts like simple interest at maturity in most banking systems,
// but strictly mathematically we treat it as fractional compounding or simple depending on policy.
// For calculator accuracy, we use the standard compound formula with t = years.
finalAmount = principal * Math.pow((1 + annualRateDecimal), timeInYears);
totalInterest = finalAmount – principal;
}
// 4. Calculate Effective Yield (Total Interest / Principal * 100)
var effectiveYield = (totalInterest / principal) * 100;
// 5. Display Results
document.getElementById('cbr_interest_earned').innerHTML = '$' + totalInterest.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('cbr_final_value').innerHTML = '$' + finalAmount.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('cbr_yield').innerHTML = effectiveYield.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}) + '%';
// Show result container
document.getElementById('cbr_results').style.display = 'block';
}
function resetCommBankRate() {
document.getElementById('cbr_deposit').value = '';
document.getElementById('cbr_rate').value = '';
document.getElementById('cbr_term').value = '';
document.getElementById('cbr_frequency').value = 'maturity';
document.getElementById('cbr_results').style.display = 'none';
}