Huni
ik_candidates.stage adayın ulaştığı son aşamadır. Bir aşamaya ulaşan sayısı, o aşamada ya da sonrasında kalan herkesin toplamıdır. Bu yüzden aşamalara bir sıra numarası verip “bu sıraya ulaşmış mı?” diye saymak gerekir.
WITH a AS (
SELECT CASE stage WHEN 'başvuru' THEN 1 WHEN 'ön eleme' THEN 2 WHEN 'mülakat' THEN 3
WHEN 'teklif' THEN 4 WHEN 'teklif reddedildi' THEN 4 WHEN 'işe alındı' THEN 5 END AS sira
FROM ik_candidates
)
SELECT SUM(CASE WHEN sira >= 1 THEN 1 ELSE 0 END) AS basvuru,
SUM(CASE WHEN sira >= 2 THEN 1 ELSE 0 END) AS on_eleme,
SUM(CASE WHEN sira >= 3 THEN 1 ELSE 0 END) AS mulakat,
SUM(CASE WHEN sira >= 4 THEN 1 ELSE 0 END) AS teklif,
SUM(CASE WHEN sira >= 5 THEN 1 ELSE 0 END) AS ise_alim
FROM a;
Kaynak etkinliği
Bir kaynağın değeri yalnızca kaç aday getirdiği değil; işe alınma oranı, doldurma süresi ve işe alınanların kalıcılığı ve performansıdır. Çok aday getiren bir kaynak, düşük dönüşüm ve yüksek ilk yıl devriyle pahalı olabilir.
Doldurma süresi (time to fill)
Kadro talebinin açılışı ile kapanışı arasındaki gün sayısı. Dağılım çarpık olduğu için ortalama yerine medyan raporlanır.
Derinleş: Time-to-fill, kabul oranı ve paydanın seçimi
İşe alım metriklerinin neredeyse hepsi bir orandır ve hepsinde asıl soru paydanın kim olduğudur. Sık kullanılan tanımlar:
| Metrik | Başlangıç → bitiş | Kimi ölçer? |
|---|---|---|
| Time to fill | Talebin açılışı → kapanışı | Süreç (onaylar, ilan, mülakat takvimi) |
| Time to hire | Adayın başvurusu → işe alınması | Adayın deneyimi; iyi adaylar uzun süreçte kaybolur |
| Teklif kabul oranı | Kabul ÷ teklif | Ücret rekabetçiliği, işveren markası |
| Kaynak verimi | İşe alınan ÷ başvuran (kaynağa göre) | Kaynağın aday kalitesi |
Kabul oranında iki payda
stage sütunu adayın son aşamasını tutar. “teklif” aşamasında kalmış 1.907 aday var: teklif almış ama ne kabul ne ret kaydı var (yanıt bekleyen, süresi dolan ya da talebi iptal edilen teklifler). Bunları paydaya katmak oranı yarıdan fazla düşürür:
SELECT
SUM(CASE WHEN stage IN ('teklif', 'teklif reddedildi', 'işe alındı') THEN 1 ELSE 0 END) AS teklif_alan,
SUM(CASE WHEN stage IN ('teklif reddedildi', 'işe alındı') THEN 1 ELSE 0 END) AS sonuclanan,
ROUND(100.0 * SUM(CASE WHEN stage = 'işe alındı' THEN 1 ELSE 0 END)
/ SUM(CASE WHEN stage IN ('teklif', 'teklif reddedildi', 'işe alındı') THEN 1 ELSE 0 END), 1) AS tum_teklif_kabul,
ROUND(100.0 * SUM(CASE WHEN stage = 'işe alındı' THEN 1 ELSE 0 END)
/ SUM(CASE WHEN stage IN ('teklif reddedildi', 'işe alındı') THEN 1 ELSE 0 END), 1) AS sonuclanan_kabul
FROM ik_candidates;
Tüm tekliflere göre kabul %22,8, yalnızca sonuçlanan tekliflere göre %54,8. İkisi de “doğru” olabilir ama farklı sorulara cevap verir. Sonuçlanan teklif oranı “teklif verdiğimizde aday ne der?” sorusunu cevaplar. Tüm teklif oranı ise süreçteki kaybı da içerir. Raporda hangisini kullandığını yaz.
Time to fill'de üç hata
- Açık talepleri unutmak: Yalnızca kapanmış talepleri ölçersen en uzun bekleyenler hesaba girmez ve süre olduğundan kısa görünür. Açık taleplerin yaşını ayrıca raporla.
- İptalleri karıştırmak: İptal edilen bir talebin “kapanış” tarihi doldurma süresi değildir.
status = 'dolduruldu'filtresi şarttır. - Ortalama yerine medyan: Birkaç zor pozisyon ortalamayı yukarı çeker. Bölüm karşılaştırmasında ortalama kullanıyorsan medyanı da göster.
Bölüm farkları çoğu zaman beklenen yerde çıkar. Doldurulan taleplerde ortalama süre Veri ve Analitik'te yaklaşık 52 gün, Kurumsal Satış'ta 34 gün. Teknik roller için daha erken ilan açmak, bu tür bir bulgudan çıkan somut aksiyondur.