---
Einführung in das Problem der Berechnung des Match Scores
Kürzlich hat das Matching-Team in einer Diskussion auf Slack das Thema der Qualität der Empfehlungen angesprochen, die wir unseren Nutzern bereitstellen. Einer unserer Kollegen bemerkte, dass viele Nutzer nicht die Ergebnisse erhalten, die ihren Erwartungen entsprechen. Das war für uns ein Signal zum Handeln. Wir wussten, dass die Genauigkeit der Berechnung des Match Scores nicht nur das Nutzererlebnis beeinflusst, sondern auch die Effizienz der gesamten Plattform.
Warum ist das wichtig
Das Problem mit dem Match Score betraf nicht nur das Entwicklerteam, sondern auch unsere Nutzer. Wenn Nutzer keine passenden Stellenangebote oder Kandidaten finden, verlieren sie das Interesse an unserem Produkt. Wir begannen, negative Rückmeldungen zu erhalten und bemerkten einen Rückgang der Interaktion auf den Seiten /jobs und /for-candidates. Das stellte ein ernsthaftes Hindernis für das Wachstum unseres Services und seiner Popularität auf dem Markt dar.
Einzelheiten zum Problem
Bei der Analyse stellten wir fest, dass der aktuelle Algorithmus zur Berechnung des Match Scores nicht alle erforderlichen Parameter berücksichtigte. Zum Beispiel wurden spezifische Fähigkeiten, nach denen Nutzer bei Kandidaten suchten, nicht berücksichtigt. Einer der Nutzer gab uns ein konkretes Beispiel: Er suchte einen Ingenieur mit Erfahrung im maschinellen Lernen, erhielt jedoch Ergebnisse, die nicht seinem Anliegen entsprachen. Das erweckte den Eindruck, dass das System die Bedürfnisse der Nutzer nicht verstand.
Erste Versuche zur Lösung
Wir begannen mit dem Versuch, den bestehenden Algorithmus zu überarbeiten, indem wir einige neue Parameter hinzufügten. Doch dies führte nicht zu signifikanten Verbesserungen. Wir stellten fest, dass der Algorithmus zu komplex und unvorhersehbar geworden war. Letztendlich kamen wir nach mehreren Iterationen zu dem Schluss, dass wir den Ansatz zur Berechnung des Match Scores vollständig neu überdenken mussten.
Technischer Ansatz
Wir entschieden uns, ein einfacheres und transparenteres Modell zu verwenden, das auf Gewichten für verschiedene Parameter basiert. Jedem Kriterium wurde ein bestimmtes Gewicht zugewiesen, und der endgültige Score wurde als Summe der Produkte von Gewichten und Werten der Parameter berechnet. Hier ist ein Beispielcode:
def calculate_match_score(candidate, job):
score = 0
score += candidate.skills * job.required_skills_weight
score += candidate.experience * job.experience_weight
return score
Dieses Modell ermöglichte es uns, die Gewichte flexibel anzupassen und schnell verschiedene Kombinationen zu testen, was zu einer signifikanten Verbesserung der Qualität der Empfehlungen führte.
Änderungen im Produkt
Nach der Implementierung des neuen Algorithmus bemerkten wir eine deutliche Verbesserung der Nutzerbewertungen. Die Anzahl der positiven Rückmeldungen zu passenden Angeboten auf den Seiten /jobs stieg um 25%. Kandidaten erhielten häufiger passende Stellenangebote, und im Gegenzug begannen Unternehmen, unsere Plattform aktiver zur Talentsuche zu nutzen. Dies hatte positive Auswirkungen auf die Kennzahlen zur Nutzerinteraktion.
Was wir gelernt haben
Im Verlauf der Arbeiten an dem Projekt zogen wir mehrere wichtige Schlussfolgerungen:
- Einfachheit ist oft besser als Komplexität. Komplexe Algorithmen können zu Unvorhersehbarkeit und Schwierigkeiten bei der Wartung führen.
- Flexibilität bei der Anpassung der Gewichtungen der Parameter ermöglicht eine schnelle Anpassung an Marktveränderungen.
- Die Bedeutung von Nutzerfeedback. Beispiele aus der Praxis helfen, besser zu verstehen, was genau verbessert werden muss.
- Das Testen verschiedener Ansätze ist wichtig, um die optimale Lösung zu finden.
Was das für Kandidaten bedeutet
Für Kandidaten bedeutet das, dass sie relevantere Stellenangebote erhalten, die besser zu ihren Fähigkeiten und Erfahrungen passen. Das erhöht die Chancen auf eine erfolgreiche Anstellung und verringert die Zeit, die für die Suche aufgewendet wird.
Was das für Recruiter bedeutet
Recruiter werden in der Lage sein, passendere Kandidaten zu finden, was die Effizienz ihrer Arbeit steigert. Dank der verbesserten Empfehlungen können sie Stellenangebote schneller besetzen, was sich wiederum positiv auf ihre Leistungskennzahlen auswirkt.
Nächste Schritte
Obwohl wir erhebliche Fortschritte erzielt haben, beobachten wir weiterhin die Leistung des neuen Algorithmus. Eine der Aufgaben, die wir in naher Zukunft angehen möchten, ist die Integration zusätzlicher Nutzerdaten zur Verbesserung der Berechnungsgenauigkeit. Hätten wir die Möglichkeit, zurückzublicken, würden wir den frühen Phasen der Entwicklung mehr Aufmerksamkeit beim Testen widmen, um voreilige Schlussfolgerungen zu vermeiden. ---