MathTutorBench

A benchmark for measuring open-ended pedagogical capabilities of LLM tutors โ€” three teacher skills, seven tasks, teacher-grounded evaluation.

EMNLP 2025 (Main Conference)

๐Ÿ“„ Paper ๐Ÿ’ป Code ACL Anthology ๐Ÿค— Reward Model ๐Ÿค— Dataset

Results

Leaderboard

Click any column header to sort. The best score per column is highlighted. Win rates are computed by the pedagogical reward model against ground-truth teacher responses.

Model Problem Solving Socratic Questioning Solution Correctness Mistake Location Mistake Correction Scaffolding Win Rate Pedagogy IF Win Rate Scaffolding (Hard) Pedagogy IF (Hard)

Problem Solving: accuracy ยท Socratic Questioning: BLEU ยท Solution Correctness: F1 ยท Mistake Location: micro-F1 ยท Mistake Correction: accuracy ยท remaining columns: reward-model win rate. Models marked NEW were added after the paper's release.

All models are evaluated with thinking/reasoning disabled (is_thinking option). The only exceptions are google/gemini-2.5-pro, google/gemini-3.1-pro and google/gemini-3.6-flash, which use their default adaptive thinking (thinking budget set to -1).

Findings

Problem Solving โ‰  Good Tutoring

Three skills, one picture

Averaging the benchmark subtasks into the three high-level teacher skills โ€” Math Expertise (problem solving, socratic questioning), Student Understanding (solution correctness, mistake location, mistake correction) and Pedagogy (the four win rates) โ€” shows that strong problem solvers are not automatically strong tutors. Specialized math models sit far below the pedagogy frontier, while tutoring-tuned models trade some math expertise for better scaffolding.

Scatter of Student Understanding vs Pedagogy, colored by Math Expertise

Each point is one model; color encodes Math Expertise (darker = stronger). Red-edged stars mark our models.

Task-level comparison

The per-task radar view makes the trade-off concrete: models with near-identical problem-solving accuracy can differ by 20+ points in scaffolding and pedagogical instruction-following win rates, especially on the harder variants where the tutor must respond within a real dialog context.

Radar chart comparing models across the nine benchmark tasks

Regenerate both figures with python visualize.py --results_dir results/.

Benchmark

How MathTutorBench Works

MathTutorBench provides a unified framework for evaluating open-ended pedagogical capabilities of large language model (LLM) tutors. Each task is annotated with teacher ground truth; model outputs are scored automatically โ€” via accuracy, F1 or BLEU where the task allows it, and via a trained pedagogical reward model for open-ended scaffolding quality.

Overview of the three teacher skills and seven tasks

Usage

Quick Start โ€” Evaluate a New Model

0. Run your model locally using vllm (skip if using an API)

See the vllm documentation for details. Optionally add tensor parallelism for large models.

vllm serve [[model_name]] --seed 42 --tensor-parallel-size 4

1. Run task(s) from the benchmark

# Example with vllm model
python main.py --tasks mistake_location.yaml --provider completion_api --model_args base_url=http://localhost:8000/v1,model=meta-llama/Llama-3.2-3B-Instruct

# Example with OpenAI API
python main.py --tasks mistake_correction.yaml --provider completion_api --model_args model=gpt-4o-mini-2024-07-18,api_key=<API_KEY>,is_chat=True

# Example with OpenRouter (any OpenAI-compatible provider works)
python main.py --tasks problem_solving.yaml --provider completion_api --model_args base_url=https://openrouter.ai/api/v1/,api_key=sk-XX,model=anthropic/claude-sonnet-4.6 --output results/ --debug
๐Ÿ’ฐ Cost estimate: running the full benchmark via OpenRouter costs around $35 USD for non-reasoning models (e.g. Claude Sonnet 4.6) and can reach $100โ€“200 USD for reasoning models due to the additional reasoning tokens. Use --debug first to verify your setup on a small subset.

Parameters

2. Run the reward model for the Pedagogical Ability tasks

Computes win rates of generated teacher utterances over ground-truth teacher utterances. The model is small (1.5B parameters); the full evaluation runs within ~10 minutes on a single GPU.

python reward_model/compute_scaffolding_score.py --data_path results/generations-<specific-model>.json

3. Visualize results

python visualize.py --results_dir results/

Installation

pip install -r requirements.txt

Contribute

Submit Your Model to the Leaderboard

  1. Open a new issue titled Leaderboard Submission: <Model Name>.
  2. Provide the exact model name on the Hugging Face Hub, any specific code/arguments/settings needed to run it with vllm, and copy the results from your local run.

Add a new benchmark task

Open a new PR providing the task configuration in the configs folder and the task implementation in the tasks folder.

People

Team

1 ETH Zurich  ยท  2 UKP Lab, TU Darmstadt

Reference

Citation

Published at EMNLP 2025 (main conference). Please cite as:

@inproceedings{macina-etal-2025-mathtutorbench,
    title = "{M}ath{T}utor{B}ench: A Benchmark for Measuring Open-ended Pedagogical Capabilities of {LLM} Tutors",
    author = "Macina, Jakub and Daheim, Nico and Hakimi, Ido and Kapur, Manu and Gurevych, Iryna and Sachan, Mrinmaya",
    booktitle = "Proceedings of the 2025 Conference on Empirical Methods in Natural Language Processing",
    month = nov,
    year = "2025",
    address = "Suzhou, China",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2025.emnlp-main.11/",
    doi = "10.18653/v1/2025.emnlp-main.11",
    pages = "204--221",
}