MaplePath
Benchmark

Does the occupation search actually work?

GET /evaluate

Classifying a job description into one of the NOC 2021 unit groups is the one place in MaplePath where a wrong answer is plausible and consequential - it decides TEER, and TEER decides program eligibility. So retrieval is measured, not asserted. 300 job descriptions, hand-labelled with their correct NOC code, run through four retrieval methods with identical queries.

Correct NOC in top 10
99%
296 of 300 descriptions
Ranking quality
0.609
NDCG@10, shipped method
Lift over keyword search
+0.108
Vector vs BM25 alone
Misses
4
vector method, outside top 10
Each method against the same 300 labels

Higher NDCG@10 means the correct code sits nearer the top of the list. The shipped method is the second row.

BM25 full-textkeyword matching only0.501hit 0.98
pgvector semanticembedding similarity only0.609hit 0.99
Reciprocal rank fusionboth lists merged0.591hit 0.98
Hybrid + Cohere rerankrerank with Cohere after merging0.583hit 0.99
Per-example report

One row per labelled description, from examples_report. NDCG and hit are for the shipped vector method.

Job titleCase typeNDCGOutcome
Software Developerexact_title0.966Top 10
Software Engineerclose_sibling0.861Top 10
IT Support Technicianvague_title0.788Top 10
Bookkeeperteer_distinction0.411Top 10
Registered Nurseexact_title0.724Top 10
Licensed Practical Nurseclose_sibling0.372Top 10
Cookclose_sibling0.478Top 10
Electricianexact_title0.723Top 10
Transport Truck Driverexact_title0.642Top 10
City Councillorvague_title0.000Missed
Deputy Ministerexact_title0.000Missed
President, Trucking Companyvague_title0.000Missed
Hospital CEOvague_title0.000Missed
Finance Managerexact_title0.486Top 10
HR Managerexact_title0.429Top 10
Procurement Managerclose_sibling0.384Top 10
Bank Branch Managerexact_title0.567Top 10
Marketing Managerclose_sibling0.586Top 10
Marketing Specialistclose_sibling0.267Top 10
Accountantteer_distinction0.652Top 10
1

Labels live in data/noc_eval_labels.csv. This report is produced live by the /evaluate endpoint on each visit.