{primary_keyword} weighted average cost of debt calculator
Use this weighted average cost of debt calculator to combine multiple borrowings, apply tax shields, and reveal the true after-tax {primary_keyword} so finance teams can benchmark funding strategies with confidence.
Calculate your weighted average cost of debt
Enter the outstanding balance for the first borrowing tranche.
Annual nominal rate for Debt 1.
Outstanding balance for the second instrument.
Annual rate for Debt 2, often higher for subordinated notes.
Optional mezzanine or term loan balance.
Annual rate for Debt 3.
Tax shield reduces {primary_keyword} because interest is tax-deductible.
Issuance and commitment fees converted to an annual percentage.
Weighted average cost of debt: 0.00%
Total debt outstanding: $0
Pre-tax weighted average cost of debt: 0.00%
Tax shield benefit: 0.00%
After-tax weighted average cost of debt: 0.00%After-tax
Weighted average with fees included: 0.00%
Formula: Sum(each debt principal × rate) ÷ total debt = pre-tax {primary_keyword}; then multiply by (1 − tax rate) to get after-tax {primary_keyword}. Fees are added as an equivalent rate.
Debt
Principal
Rate (%)
Weight
Interest Expense
Cost Contribution
Each row shows how individual borrowings contribute to the overall {primary_keyword}.
PrincipalAnnual Interest
Bar chart comparing principal vs annual interest expense to visualize {primary_keyword} drivers.
What is {primary_keyword}?
{primary_keyword} is the blended rate a company pays on all its outstanding debt, weighted by each loan's size. {primary_keyword} guides treasury teams, CFOs, and credit analysts when assessing funding efficiency. Stakeholders use {primary_keyword} to benchmark refinancing options, compare bond issuances, and evaluate capital structure changes.
Who should use {primary_keyword}? Corporate finance leaders, FP&A analysts, lenders, and investors all rely on {primary_keyword} to judge whether incremental borrowing improves or harms shareholder value. Common misconceptions about {primary_keyword} include assuming it equals the highest coupon, ignoring fees, and forgetting the tax shield that lowers effective borrowing costs.
{primary_keyword} Formula and Mathematical Explanation
The {primary_keyword} formula starts with the weighted average of each instrument's interest rate: (Sum of principal × rate) ÷ total principal. To find after-tax {primary_keyword}, multiply the pre-tax result by (1 − marginal tax rate). When fees exist, convert them into an annualized percentage and add to the rate before weighting. This step-by-step approach reveals the real {primary_keyword} that reflects cash interest and tax benefits.
Variable
Meaning
Unit
Typical range
P
Principal of each debt tranche
Currency
10,000 to 5,000,000
r
Nominal interest rate per tranche
%
2% to 12%
T
Marginal tax rate
%
0% to 40%
f
Annualized fees as a percent
%
0% to 2%
W
Weight of each tranche (P ÷ total P)
Ratio
0 to 1
{primary_keyword}
After-tax weighted average cost of debt
%
2% to 9%
Variables used inside the {primary_keyword} formula and their ranges.
Practical Examples (Real-World Use Cases)
Example 1: A manufacturer has $1,000,000 at 5% and $500,000 at 7%, with a 25% tax rate. Pre-tax {primary_keyword} = [(1,000,000×5%) + (500,000×7%)] ÷ 1,500,000 = 5.67%. After tax, {primary_keyword} = 5.67% × (1 − 0.25) = 4.25%. The company learns that refinancing the 7% tranche could lower the blended {primary_keyword} significantly.
Example 2: A SaaS firm issues $400,000 convertible notes at 9% plus 1% fees and has $600,000 venture debt at 6%. Total debt is $1,000,000. Effective rates are 10% and 6%. Pre-tax {primary_keyword} = (400,000×10% + 600,000×6%) ÷ 1,000,000 = 7.6%. With a 21% tax rate, after-tax {primary_keyword} = 7.6% × 0.79 = 6.00%. This shows how tax shields soften expensive tranches.
How to Use This {primary_keyword} Calculator
Enter each principal balance and its interest rate; include mezzanine, term loans, and bonds.
Add your marginal tax rate to capture the tax shield within {primary_keyword}.
Input annualized fees to reflect commitment charges, arrangement fees, or OID amortization.
Watch {primary_keyword} update in real time; review the table to see each weight and interest expense.
Use the chart to visualize which tranche drives {primary_keyword}; larger green bars signal higher interest costs.
Copy results to share {primary_keyword} assumptions with stakeholders or attach to credit memos.
Reading the results: the main highlighted value shows after-tax {primary_keyword}. The intermediate metrics explain pre-tax {primary_keyword}, tax shield benefit, and fee-adjusted {primary_keyword} to guide decisions.
Key Factors That Affect {primary_keyword} Results
Interest rates: Higher coupons lift {primary_keyword} immediately. Tax rate: A larger tax shield lowers after-tax {primary_keyword}. Debt mix: Heavier weights on expensive tranches raise {primary_keyword}. Fees: Ongoing or amortized fees add hidden cost to {primary_keyword}. Tenor and repricing: Shorter maturities can reset rates, shifting future {primary_keyword}. Credit risk: Downgrades widen spreads, increasing {primary_keyword}. Inflation and macro rates: Rising benchmarks push floating rates higher, elevating {primary_keyword}. Covenants and liquidity: Restrictive terms might limit refinancing, locking in a higher {primary_keyword}.
Frequently Asked Questions (FAQ)
Does {primary_keyword} include fees? Yes, add fees as an annual percent to capture the full {primary_keyword}.
Should I use nominal or effective rates? Use effective annual rates so {primary_keyword} reflects compounding.
How many tranches can I include? You can extend inputs; {primary_keyword} scales across any number of debts.
Is {primary_keyword} before or after tax? The main output shows after-tax {primary_keyword}, while pre-tax is shown as an intermediate.
Does floating debt change {primary_keyword}? Yes, floating coupons rise or fall with benchmarks, shifting {primary_keyword}.
What if total debt is zero? {primary_keyword} is undefined; the calculator shows zero until debt exists.
Do amortizing loans alter {primary_keyword}? Over time, reducing principal changes weights and lowers {primary_keyword} if costly tranches amortize faster.
Can tax loss carryforwards affect {primary_keyword}? If taxes are not payable, the tax shield may be deferred, so effective {primary_keyword} could be higher.
Related Tools and Internal Resources
{related_keywords} – Explore complementary analytics that align with {primary_keyword}.
{related_keywords} – Benchmark capital structure choices connected to {primary_keyword} outcomes.
{related_keywords} – Compare refinancing paths while monitoring {primary_keyword} shifts.
{related_keywords} – Model tax impacts alongside {primary_keyword} adjustments.
{related_keywords} – Track debt covenants that influence {primary_keyword} over time.
{related_keywords} – Simulate sensitivity cases for {primary_keyword} under rate scenarios.
var chartCtx = null;
function formatCurrency(num){
if(isNaN(num)){return "$0";}
var fixed = num.toFixed(0);
return "$" + fixed.replace(/\B(?=(\d{3})+(?!\d))/g,",");
}
function formatPercent(num){
if(isNaN(num)){return "0.00%";}
return num.toFixed(2) + "%";
}
function validateInput(id,min,max){
var el=document.getElementById(id);
var val=parseFloat(el.value);
var err=document.getElementById("err-"+id);
if(isNaN(val)){
err.textContent="Please enter a number.";
return null;
}
if(valmax){
err.textContent="Value must be below "+max+".";
return null;
}
err.textContent="";
return val;
}
function calculateCost(){
var d1=validateInput("debt1Amount",0);
var r1=validateInput("debt1Rate",0);
var d2=validateInput("debt2Amount",0);
var r2=validateInput("debt2Rate",0);
var d3=validateInput("debt3Amount",0);
var r3=validateInput("debt3Rate",0);
var tax=validateInput("taxRate",0,60);
var fees=validateInput("feesRate",0,5);
if(d1===null||r1===null||d2===null||r2===null||d3===null||r3===null||tax===null||fees===null){return;}
var totalDebt=d1+d2+d3;
document.getElementById("totalDebt").textContent=formatCurrency(totalDebt);
if(totalDebt<=0){
document.getElementById("mainResult").textContent="Weighted average cost of debt: 0.00%";
document.getElementById("preTax").textContent="0.00%";
document.getElementById("taxShield").textContent="0.00%";
document.getElementById("afterTax").textContent="0.00%";
document.getElementById("withFees").textContent="0.00%";
updateTable([],totalDebt);
drawChart([0,0,0],[0,0,0],["Debt 1","Debt 2","Debt 3"]);
return;
}
var rates=[r1+fees,r2+fees,r3+fees];
var principals=[d1,d2,d3];
var interest1=d1*(r1/100);
var interest2=d2*(r2/100);
var interest3=d3*(r3/100);
var interestFees=(d1+d2+d3)*(fees/100);
var totalInterest=interest1+interest2+interest3+interestFees;
var weightedSum=(d1*(r1+fees)+d2*(r2+fees)+d3*(r3+fees))/totalDebt;
var preTax=weightedSum;
var afterTax=preTax*(1-(tax/100));
var taxShield=preTax-afterTax;
document.getElementById("preTax").textContent=formatPercent(preTax);
document.getElementById("taxShield").textContent=formatPercent(taxShield);
document.getElementById("afterTax").textContent=formatPercent(afterTax);
document.getElementById("withFees").textContent=formatPercent(preTax);
document.getElementById("mainResult").textContent="Weighted average cost of debt: "+formatPercent(afterTax);
updateTable([
{name:"Debt 1",principal:d1,rate:r1,fees:fees},
{name:"Debt 2",principal:d2,rate:r2,fees:fees},
{name:"Debt 3",principal:d3,rate:r3,fees:fees}
],totalDebt);
drawChart([d1,d2,d3],[interest1,interest2,interest3],["Debt 1","Debt 2","Debt 3"]);
}
function updateTable(rows,totalDebt){
var tbody=document.getElementById("debtTableBody");
tbody.innerHTML="";
var i;
for(i=0;i0?row.principal/totalDebt:0;
var interest=row.principal*(row.rate/100);
var contribution=weight*(row.rate+row.fees);
var tr=document.createElement("tr");
var cells=[
row.name,
formatCurrency(row.principal),
formatPercent(row.rate),
(weight*100).toFixed(2)+"%",
formatCurrency(interest),
formatPercent(contribution)
];
var j;
for(j=0;j<cells.length;j++){
var td=document.createElement("td");
td.textContent=cells[j];
tr.appendChild(td);
}
tbody.appendChild(tr);
}
}
function drawChart(amounts,interests,labels){
var canvas=document.getElementById("costChart");
if(!canvas.getContext){return;}
if(chartCtx===null){chartCtx=canvas.getContext("2d");}
var ctx=chartCtx;
ctx.clearRect(0,0,canvas.width,canvas.height);
var padding=40;
var barWidth=50;
var gap=60;
var maxVal=0;
var i;
for(i=0;imaxVal){maxVal=amounts[i];}
if(interests[i]>maxVal){maxVal=interests[i];}
}
if(maxVal===0){maxVal=1;}
for(i=0;i<labels.length;i++){
var x=padding+i*(barWidth*2+gap);
var amtHeight=(amounts[i]/maxVal)*(canvas.height-2*padding);
var intHeight=(interests[i]/maxVal)*(canvas.height-2*padding);
ctx.fillStyle="#004a99";
ctx.fillRect(x,canvas.height-padding-amtHeight,barWidth,amtHeight);
ctx.fillStyle="#28a745";
ctx.fillRect(x+barWidth,canvas.height-padding-intHeight,barWidth,intHeight);
ctx.fillStyle="#1f2a3d";
ctx.font="12px Arial";
ctx.fillText(labels[i],x,canvas.height-padding+14);
}
ctx.strokeStyle="#d9e2ec";
ctx.beginPath();
ctx.moveTo(padding,canvas.height-padding);
ctx.lineTo(canvas.width-padding,canvas.height-padding);
ctx.stroke();
}
function resetDefaults(){
document.getElementById("debt1Amount").value=500000;
document.getElementById("debt1Rate").value=4.5;
document.getElementById("debt2Amount").value=300000;
document.getElementById("debt2Rate").value=6.2;
document.getElementById("debt3Amount").value=200000;
document.getElementById("debt3Rate").value=8.0;
document.getElementById("taxRate").value=25;
document.getElementById("feesRate").value=0.5;
var errs=document.getElementsByClassName("error");
var i;
for(i=0;i<errs.length;i++){errs[i].textContent="";}
calculateCost();
}
function copyResults(){
var summary="Weighted average cost of debt results:\n";
summary+="After-tax cost: "+document.getElementById("afterTax").textContent+"\n";
summary+="Pre-tax cost: "+document.getElementById("preTax").textContent+"\n";
summary+="Tax shield: "+document.getElementById("taxShield").textContent+"\n";
summary+="Total debt: "+document.getElementById("totalDebt").textContent+"\n";
summary+="With fees: "+document.getElementById("withFees").textContent+"\n";
summary+="Assumptions: Tax rate "+document.getElementById("taxRate").value+"%, Fees "+document.getElementById("feesRate").value+"%";
if(navigator.clipboard && navigator.clipboard.writeText){
navigator.clipboard.writeText(summary);
}else{
var temp=document.createElement("textarea");
temp.value=summary;
document.body.appendChild(temp);
temp.select();
document.execCommand("copy");
document.body.removeChild(temp);
}
}
calculateCost();