Evaluates text embedding models on information retrieval tasks using the MTEB benchmark and a custom e-commerce Q&A dataset. It measures ranking quality via nDCG and mAP, and assesses similarity distribution calibration via AUPRC on a held-out set with single-relevant-passage queries. Use when the user wants to benchmark on MTEB Retrieval, E-commerce Q&A, or asks about evaluating this task. Reports nDCG@10.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add qhjqhj00/research-skills-pool --skill mteb-retrieval-eval --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Mteb Retrieval Eval?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/qhjqhj00-mteb-retrieval-eval)More formats (shields.io, HTML) on the badges page.
---
name: mteb-retrieval-eval
description: Evaluates text embedding models on information retrieval tasks using the MTEB benchmark and a custom e-commerce Q&A dataset. It measures ranking quality via nDCG and mAP, and assesses similarity distribution calibration via AUPRC on a held-out set with single-relevant-passage queries. Use when the user wants to benchmark on MTEB Retrieval, E-commerce Q&A, or asks about evaluating this task. Reports nDCG@10.
metadata:
skill_kind: dataset_eval
source_arxiv: 2408.11868
bibtex_key: lu2024improvingembedding
confidence: high
---
# mteb-retrieval-eval
> Improving embedding with contrastive fine-tuning on small datasets with expert-augmented scores — Lu et al. (2024) (arXiv:2408.11868, 2024)
## What this evaluates
Evaluates text embedding models on information retrieval tasks using the MTEB benchmark and a custom e-commerce Q&A dataset. It measures ranking quality via nDCG and mAP, and assesses similarity distribution calibration via AUPRC on a held-out set with single-relevant-passage queries.
## Datasets
- **MTEB Retrieval** — total ?; splits: test (-1)
- **E-commerce Q&A** — total 26; splits: train (1040), test (546)
## Metrics
- `nDCG@10` **(primary)** — range: [0, 1]
- Normalized Discounted Cumulative Gain at rank 10. Computed as DCG@10 divided by the ideal DCG@10 for the same set of labels. DCG sums (2^rel_i - 1) / log2(i+2) for the top-10 results.
- `mAP@10` — range: [0, 1]
- Mean Average Precision at rank 10. Computes the average precision score for each query over the top-10 retrieved results, then averages across all queries.
- `AUPRC` — range: [0, 1]
- Area Under the Precision-Recall Curve. Calculated by varying a similarity threshold to generate precision-recall pairs and integrating the curve.
## Input / output format
**Input**: Query text and a list of candidate passage texts.
**Output**: Similarity scores for each query-passage pair, used to rank passages.
## Scoring recipe
```python
def compute_ndcg_at_k(scores, labels, k=10):
dcg = sum((2**labels[i] - 1) / math.log2(i + 2) for i in range(min(k, len(scores))))
ideal = sorted(labels, reverse=True)
idcg = sum((2**ideal[i] - 1) / math.log2(i + 2) for i in range(min(k, len(ideal))))
return dcg / idcg if idcg > 0 else 0.0
def compute_mAP_at_k(scores, labels, k=10):
ranked = sorted(zip(scores, labels), reverse=True)[:k]
rel_count, p_sum = 0, 0.0
for i, (_, l) in enumerate(ranked):
if l == 1:
rel_count += 1
p_sum += rel_count / (i + 1)
return p_sum / max(rel_count, 1)
def compute_auprc(scores, labels):
thresholds = sorted(set(scores), reverse=True)
precs, recs = [], []
for t in thresholds:
tp = sum(1 for s, l in zip(scores, labels) if s >= t and l == 1)
fp = sum(1 for s, l in zip(scores, labels) if s >= t and l == 0)
fn = sum(1 for s, l in zip(scores, labels) if s < t and l == 1)
precs.append(tp / (tp + fp) if (tp + fp) > 0 else 0.0)
recs.append(tp / (tp + fn) if (tp + fn) > 0 else 0.0)
return np.trapz(precs, recs)
```
## Common pitfalls
- The custom held-out dataset has exactly one relevant passage per query, making standard MTEB retrieval metrics unsuitable; AUPRC is used instead.
- Hard-label fine-tuning on this small dataset actually degrades performance compared to the benchmark, contrary to expectations that more data/labels always help.
- MTEB includes non-retrieval tasks (e.g., bitext mining), but the evaluation strictly focuses on the retrieval subsets.
## Evidence (verbatim from paper)
> The evaluation metrics used are mean average precision at 10 (mAP@10), normalized discounted cumulative gain at 10 (nDCG@10), mean reciprocal rank at 10 (mRR@10), and more (Muennighoff et al., [2022]). In this work, we focus on the retrieval subsets. For retrieval tasks, the default metric suggested by MTEB is nDCG@10, while we show both mAP@10 and nDCG@10 metrics for evaluation. ... The metric of the area under precision-recall curve (AUPRC) is considered.
## Citation
```bibtex
@misc{lu2024improvingembedding,
title={Improving embedding with contrastive fine-tuning on small datasets with expert-augmented scores},
author={Lu et al. (2024)},
year={2024},
note={arXiv:2408.11868}
}
```
- arXiv: 2408.11868
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!