How to Calculate Staff Attrition Rate
function calculateAttrition() {
var start = parseFloat(document.getElementById('startCount').value);
var end = parseFloat(document.getElementById('endCount').value);
var left = parseFloat(document.getElementById('leftCount').value);
var resultsArea = document.getElementById('resultsArea');
var avgDisplay = document.getElementById('avgDisplay');
var rateDisplay = document.getElementById('rateDisplay');
if (isNaN(start) || isNaN(end) || isNaN(left) || start < 0 || end < 0 || left < 0) {
alert('Please enter valid positive numbers for all fields.');
return;
}
var averageHeadcount = (start + end) / 2;
if (averageHeadcount === 0) {
alert('Average headcount cannot be zero.');
return;
}
var attritionRate = (left / averageHeadcount) * 100;
avgDisplay.innerHTML = averageHeadcount.toFixed(2);
rateDisplay.innerHTML = attritionRate.toFixed(2) + '%';
resultsArea.style.display = 'block';
// Smooth scroll to results
resultsArea.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}