LITEOPSDOCS
Agents & SystèmesMatchmaker

Système de scoring

Scoring multi-axes pondéré à 5 dimensions avec normalisation et diagramme radar explicable.

REF-SPEC/AG003-SCR v1.0 — 2026-04-09

1. Principe

Le système de scoring de Matchmaker évalue chaque ressource candidate selon 5 axes indépendants, pondérés et combinés en un score global 0-100. Chaque axe est calculé de manière autonome et visualisé dans un diagramme radar pour une explication transparente.

2. Les 5 axes

AxePoidsMesure
Similarité sémantique40%Proximité vectorielle entre le besoin et le profil complet de la ressource
Compétences matchées25%Recouvrement entre compétences demandées et compétences de la ressource, pondéré par niveau
Références sectorielles15%Correspondance entre secteurs demandés et secteurs d'expérience
Similarité de missions10%Proximité sémantique entre le besoin et les missions passées
Disponibilité10%Taux de disponibilité sur la période demandée

3. Formule globale

scoreGlobal = floor(
  (scoreSémantique    × 0.40) +
  (scoreCompétences   × 0.25) +
  (scoreRefsSecteur   × 0.15) +
  (scoreRefsMission   × 0.10) +
  (scoreDisponibilité × 0.10)
)

4. Détail de chaque axe

Similarité sémantique (40%)

L'axe principal. Compare l'embedding du besoin à l'embedding du profil complet de la ressource.

Construction du texte de profil :

{titre}
{bio}
Secteurs : {secteurs}
Compétences expert : {skills expert}
Compétences confirmé : {skills confirmé}
{références : client — mission — description — secteur — tags}

Calcul :

  1. Embedding du besoin (titre + contenu) via OpenAI text-embedding-3-small (1536 dims)
  2. Similarité cosinus avec l'embedding du profil
  3. Normalisation de la plage [0.25–0.85] vers [0–100]

Compétences matchées (25%)

Correspondance directe entre les compétences extraites du besoin et celles de la ressource.

Niveau de compétenceCoefficient
Expert×1.3
Confirmé×1.0
Débutant×0.7

Calcul :

  1. Extraction des compétences demandées via LLM
  2. Matching normalisé (lowercase, accents, substring)
  3. Somme pondérée par niveau / nombre de compétences demandées × 100
  4. Si aucune compétence demandée : score neutre (50)

Références sectorielles (15%)

Correspondance entre les secteurs demandés et les secteurs d'expérience de la ressource.

Calcul :

  1. Extraction des secteurs demandés via LLM
  2. Matching normalisé contre les secteurs du profil ET des références passées
  3. Score = (secteurs matchés / secteurs demandés) × 100
  4. Si aucun secteur demandé : score neutre (50)

Similarité de missions (10%)

Proximité sémantique entre le besoin et les missions passées de la ressource.

Calcul :

  1. Embedding de chaque référence passée
  2. Similarité cosinus entre le besoin et chaque référence
  3. Top 3 références les plus similaires retournées
  4. Score = meilleure similarité normalisée
  5. Si aucune référence embeddée : score 0

Disponibilité (10%)

Taux de capacité libre sur la période demandée.

StatusSeuilScore
Disponible≥ 80% libreÉlevé
Partiel20-80% libreMoyen
Indisponible< 20% libreBas

Calcul :

  1. Chargement des missions actives sur la période
  2. Calcul du taux d'allocation (jours/semaine par mission)
  3. Score = pourcentage de capacité libre
  4. Si aucune date fournie : score neutre (50)

5. Normalisation

La similarité cosinus brute est normalisée vers une échelle 0-100 :

normalizeScore(similarity, min = 0.25, max = 0.85) =
  round(((clamp(similarity, min, max) - min) / (max - min)) × 100)

Cette normalisation garantit que les scores sont lisibles et comparables, indépendamment de l'échelle naturelle de la similarité cosinus.

6. Diagramme radar

Le radar est l'élément UX central de Matchmaker. Pour chaque ressource candidate :

  • 5 axes disposés en étoile
  • Labels en JetBrains Mono UPPERCASE
  • Scores 0-100 par axe
  • Score global affiché en grand au centre
  • Couleur : accent Signal Green #A5D900

Le radar permet à l'utilisateur de comprendre pourquoi une ressource a été sélectionnée et sur quels critères elle excelle ou fait défaut.

On this page