Jak przemyśleliśmy podejście do obliczania match score

Optymalizowaliśmy algorytm obliczania match score, co poprawiło jakość rekomendacji dla użytkowników.

---

Wprowadzenie do problemu obliczania match score

Niedawno w jednej z dyskusji na Slacku zespół zajmujący się dopasowaniem poruszył kwestię jakości rekomendacji, które oferujemy użytkownikom. Jeden z naszych kolegów zauważył, że wielu użytkowników nie otrzymuje wyników, które odpowiadają ich oczekiwaniom. To stało się dla nas sygnałem do działania. Zrozumieliśmy, że od dokładności obliczenia match score zależy nie tylko doświadczenie użytkowników, ale także efektywność całej platformy.

Dlaczego to ważne

Problem z match score dotyczył nie tylko zespołu programistów, ale także naszych użytkowników. Kiedy użytkownicy nie znajdują odpowiednich ofert pracy lub kandydatów, tracą zainteresowanie naszym produktem. Zaczęliśmy otrzymywać negatywne opinie i zauważyliśmy spadek zaangażowania na stronach /jobs i /for-candidates. To stało się poważną przeszkodą w rozwoju naszego serwisu i jego popularności na rynku.

Szczegóły problemu

W trakcie analizy odkryliśmy, że obecny algorytm obliczania match score nie uwzględnia wszystkich niezbędnych parametrów. Na przykład, nie brał pod uwagę specyficznych umiejętności, które użytkownicy poszukiwali u kandydatów. Jeden z użytkowników podał nam konkretny przykład: szukał inżyniera z doświadczeniem w uczeniu maszynowym, ale otrzymywał wyniki, które nie odpowiadały jego zapytaniu. Tworzyło to wrażenie, że system nie rozumie potrzeb użytkowników.

Pierwsze próby rozwiązania

Zaczęliśmy od próby dopracowania istniejącego algorytmu, dodając kilka nowych parametrów. Jednak nie przyniosło to znaczącej poprawy. Napotkaliśmy problem, że algorytm stał się zbyt skomplikowany i nieprzewidywalny. Ostatecznie, po kilku iteracjach, doszliśmy do wniosku, że należy całkowicie przemyśleć podejście do obliczania match score.

Techniczne podejście

Postanowiliśmy zastosować prostszą i bardziej przejrzystą model, opartą na wagach dla różnych parametrów. Każdemu kryterium przypisaliśmy określoną wagę, a wynik końcowy obliczaliśmy jako sumę iloczynów wag i wartości parametrów. Oto przykład kodu:

def calculate_match_score(candidate, job):
    score = 0
    score += candidate.skills * job.required_skills_weight
    score += candidate.experience * job.experience_weight
    return score

Ten model pozwolił nam elastycznie dostosowywać wagi i szybko testować różne kombinacje, co doprowadziło do znacznej poprawy jakości rekomendacji.

Zmiany w produkcie

Po wdrożeniu nowego algorytmu zauważyliśmy znaczną poprawę w opiniach użytkowników. Liczba pozytywnych opinii o odpowiednich ofertach na stronach /jobs wzrosła o 25%. Kandydaci zaczęli częściej otrzymywać odpowiednie oferty pracy, a w efekcie firmy zaczęły aktywniej korzystać z naszej platformy w poszukiwaniu talentów. To pozytywnie wpłynęło na wskaźniki zaangażowania użytkowników.

Czego się nauczyliśmy

W trakcie pracy nad projektem wyciągnęliśmy kilka ważnych wniosków:

  • Prostota często jest lepsza niż złożoność. Skomplikowane algorytmy mogą prowadzić do nieprzewidywalności i trudności w utrzymaniu.
  • Elastyczność w dostosowywaniu wag parametrów pozwala szybko adaptować się do zmian na rynku.
  • Ważność informacji zwrotnej od użytkowników. Przykłady z życia codziennego pomagają lepiej zrozumieć, co należy poprawić.
  • Testowanie różnych podejść jest kluczowe dla znalezienia optymalnego rozwiązania.

Co to oznacza dla kandydatów

Dla kandydatów oznacza to, że będą otrzymywać bardziej odpowiednie oferty pracy, które lepiej odpowiadają ich umiejętnościom i doświadczeniu. Zwiększa to szanse na udane zatrudnienie i skraca czas poświęcony na poszukiwania.

Co to oznacza dla rekruterów

Rekruterzy będą mogli znaleźć bardziej odpowiednich kandydatów, co zwiększy efektywność ich pracy. Dzięki poprawionym rekomendacjom będą mogli szybciej zamykać oferty pracy, co z kolei pozytywnie wpłynie na ich wskaźniki pracy.

Następne kroki

Chociaż osiągnęliśmy znaczące postępy, nadal monitorujemy wydajność nowego algorytmu. Jednym z zadań, które chcemy rozwiązać w najbliższej przyszłości, jest integracja dodatkowych danych o użytkownikach w celu poprawy dokładności obliczeń. Gdybyśmy mogli cofnąć się w czasie, poświęcilibyśmy więcej uwagi testowaniu na wczesnych etapach rozwoju, aby uniknąć przedwczesnych wniosków. ---

Materiały pokrewne

  • Chart plannedГрафик улучшений в качестве рекомендаций
    График, показывающий рост положительных отзывов после оптимизации алгоритма.
  • Architecture diagram plannedСтруктура алгоритма расчета match score
    Диаграмма, иллюстрирующая основные параметры и их влияние на итоговый score.

Także na Fitlane AI

Tematy: match score, алгоритм, оптимизация, разработка, анализ данных, рекомендации, Fitlane AI