Recruitment Rate Calculation

Recruitment Rate Calculator

Recruitment Metrics Summary

Selection Rate 0%
Offer Acceptance Rate 0%
Cost Per Hire $0
Yield Ratio 0%

Understanding Recruitment Rate Calculation

Recruitment rate calculation is a fundamental HR process used to measure the efficiency and effectiveness of a company's hiring pipeline. By analyzing the conversion of applicants to successful hires, organizations can optimize their sourcing strategies and reduce operational costs.

Key Metrics Explained

  • Selection Rate (Hiring Rate): This determines what percentage of your total candidate pool eventually joins the company. A very low rate might indicate overly strict criteria or poor sourcing, while a very high rate might suggest a lack of selectivity.
  • Offer Acceptance Rate (OAR): This measures the attractiveness of your company's offers. If OAR is low, it often points to issues with compensation packages, company reputation, or a slow hiring process.
  • Cost Per Hire: This is the total financial investment required to fill a vacant position, including advertising, recruiter fees, and internal resource time.

The Recruitment Rate Formula

Recruitment Rate = (Total Hires / Total Applicants) x 100

Practical Example

Suppose a technology firm opens a Senior Developer position. Over 30 days, they receive 400 applications. After screening and interviews, they extend 8 offers, out of which 6 candidates accept. The total spending on LinkedIn ads and recruiter commissions was $12,000.

  • Recruitment Selection Rate: (6 / 400) x 100 = 1.5%
  • Offer Acceptance Rate: (6 / 8) x 100 = 75%
  • Cost Per Hire: $12,000 / 6 = $2,000

Why Calculate Recruitment Rates?

Tracking these numbers allows HR managers to identify bottlenecks. For instance, if you have a high volume of applicants but a 0.1% hire rate, your job descriptions might be reaching the wrong audience. Conversely, if your offer acceptance rate is below 50%, you may need to benchmark your salaries against industry competitors.

function calculateRecruitmentMetrics() { var applicants = parseFloat(document.getElementById('totalApplicants').value); var hires = parseFloat(document.getElementById('totalHires').value); var cost = parseFloat(document.getElementById('totalCost').value); var offers = parseFloat(document.getElementById('offersExtended').value); // Validation if (isNaN(applicants) || applicants <= 0 || isNaN(hires) || hires applicants) { alert("Hires cannot exceed the number of applicants."); return; } // Calculations var selectionRate = (hires / applicants) * 100; var offerAcceptance = 0; if (!isNaN(offers) && offers > 0) { offerAcceptance = (hires / offers) * 100; } var costPerHire = 0; if (!isNaN(cost) && cost > 0 && hires > 0) { costPerHire = cost / hires; } var yieldRatio = (hires / applicants) * 100; // Display results document.getElementById('recruitmentResults').style.display = 'block'; document.getElementById('selectionRateDisplay').innerText = selectionRate.toFixed(2) + "%"; if (!isNaN(offers) && offers > 0) { document.getElementById('offerAcceptanceDisplay').innerText = offerAcceptance.toFixed(1) + "%"; } else { document.getElementById('offerAcceptanceDisplay').innerText = "N/A"; } if (!isNaN(cost) && cost > 0 && hires > 0) { document.getElementById('costPerHireDisplay').innerText = "$" + costPerHire.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); } else { document.getElementById('costPerHireDisplay').innerText = "N/A"; } document.getElementById('yieldRatioDisplay').innerText = yieldRatio.toFixed(2) + "%"; }

Leave a Comment