How to Calculate Double Declining Depreciation Rate
by
Double Declining Balance Depreciation Calculator
Results
Double Declining Rate: %
Depreciation Expense (Year ):
Accumulated Depreciation:
Ending Book Value:
Year
Start Book Value
Depreciation
End Book Value
How to Calculate Double Declining Depreciation Rate
The Double Declining Balance (DDB) method is an accelerated depreciation form that recovers the cost of an asset much faster than the standard straight-line method. It is particularly useful for assets that lose their value quickly in the early years of their useful life, such as technology or vehicles.
The DDB Formula
To calculate the double declining depreciation, you follow these steps:
Calculate the Straight-Line Rate: 1 / Useful Life of the asset.
Calculate the DDB Rate: 2 × Straight-Line Rate.
Apply the Rate: Multiply the DDB Rate by the current Book Value (Initial Cost – Accumulated Depreciation) at the start of the year.
Note: Depreciation stops once the book value reaches the estimated salvage value.
Example Calculation
Suppose you purchase a piece of machinery for $10,000 with a salvage value of $1,000 and a useful life of 5 years.
This method is ideal for businesses looking to minimize taxable income in the short term, as it results in higher expenses during the initial years of an asset's life. It is commonly applied to machinery, computer equipment, and specialized tools that face rapid obsolescence.
function calculateDDB() {
var cost = parseFloat(document.getElementById('assetCost').value);
var salvage = parseFloat(document.getElementById('salvageValue').value);
var life = parseFloat(document.getElementById('usefulLife').value);
var targetYear = parseInt(document.getElementById('calcYear').value);
var resultDiv = document.getElementById('ddbResult');
var scheduleBody = document.getElementById('scheduleBody');
if (isNaN(cost) || isNaN(salvage) || isNaN(life) || isNaN(targetYear) || life <= 0 || targetYear cost) {
alert('Salvage value cannot be greater than the initial cost.');
return;
}
var straightLineRate = 1 / life;
var ddbRate = straightLineRate * 2;
var currentBookValue = cost;
var accumulatedDepreciation = 0;
var outputYearExpense = 0;
var outputAccumulated = 0;
var outputBookValue = 0;
scheduleBody.innerHTML = ";
resultDiv.style.display = 'block';
for (var i = 1; i <= life; i++) {
var startValue = currentBookValue;
var expense = currentBookValue * ddbRate;
// Ensure we don't depreciate below salvage value
if (currentBookValue – expense < salvage) {
expense = currentBookValue – salvage;
}
// If we are already at salvage value
if (expense < 0) expense = 0;
currentBookValue -= expense;
accumulatedDepreciation += expense;
if (i === targetYear) {
outputYearExpense = expense;
outputAccumulated = accumulatedDepreciation;
outputBookValue = currentBookValue;
}
var row = scheduleBody.insertRow();
row.innerHTML = '