Evaluates large language models on table question answering with advanced data analysis tasks, including forecasting and chart generation, as well as unclear queries that lack explicit parameters. Probes the model's ability to perform semantic parsing, infer missing parameters, generate executable analysis code, and reason about data visualization. Use when the user wants to benchmark on Text2Analysis, or asks about evaluating this task. Reports ECR, pass@1.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add qhjqhj00/research-skills-pool --skill text2analysis-eval --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Text2analysis Eval?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/qhjqhj00-text2analysis-eval)More formats (shields.io, HTML) on the badges page.
---
name: text2analysis-eval
description: Evaluates large language models on table question answering with advanced data analysis tasks, including forecasting and chart generation, as well as unclear queries that lack explicit parameters. Probes the model's ability to perform semantic parsing, infer missing parameters, generate executable analysis code, and reason about data visualization. Use when the user wants to benchmark on Text2Analysis, or asks about evaluating this task. Reports ECR, pass@1.
metadata:
skill_kind: dataset_eval
source_arxiv: 2312.13671
bibtex_key: he2023text2analysis
confidence: high
---
# text2analysis-eval
> Text2Analysis: A Benchmark of Table Question Answering with Advanced Data Analysis and Unclear Queries — He et al. (2023) (arXiv:2312.13671, 2023)
## What this evaluates
Evaluates large language models on table question answering with advanced data analysis tasks, including forecasting and chart generation, as well as unclear queries that lack explicit parameters. Probes the model's ability to perform semantic parsing, infer missing parameters, generate executable analysis code, and reason about data visualization.
## Datasets
- **Text2Analysis** — total 2249; splits: test (-1); repo https://github.com/microsoft/Text2Analysis
## Metrics
- `ECR` **(primary)** — range: [0, 1]
- Executable Code Ratio: the proportion of generated code snippets that execute without runtime errors.
- `pass@1` **(primary)** — range: [0, 1]
- Pass rate: the proportion of generated code that executes successfully and produces the correct result matching the gold answer.
- `CORR` — range: [0, 1]
- Correlation coefficient between predicted and actual values for forecasting tasks. Absolute value closer to 1 indicates better performance.
- `RMSE` — range: other
- Root Mean Square Error between predicted and actual values for forecasting tasks. Lower is better.
- `MAE` — range: other
- Mean Absolute Error between predicted and actual values for forecasting tasks. Lower is better.
- `MedAE` — range: other
- Median Absolute Error between predicted and actual values for forecasting tasks. Lower is better.
## Input / output format
**Input**: HTML table representation, natural language query, constraints on allowed code generation libraries, and requirements for result formatting.
**Output**: Python code (or equivalent script) that performs the requested data analysis, computes results, and optionally generates visualizations.
## Scoring recipe
```python
def score(predictions, golds):
ecr_scores = []
pass_scores = []
for pred, gold in zip(predictions, golds):
try:
exec(pred.code)
ecr_scores.append(1)
pass_scores.append(1 if pred.result == gold.result else 0)
except Exception:
ecr_scores.append(0)
pass_scores.append(0)
# Forecasting regression metrics
corr = pearsonr(pred.result, gold.result)
rmse = sqrt(mean_squared_error(gold.result, pred.result))
mae = mean_absolute_error(gold.result, pred.result)
medae = median_absolute_error(gold.result, pred.result)
return {
'ECR': sum(ecr_scores) / len(ecr_scores),
'pass@1': sum(pass_scores) / len(pass_scores),
'CORR': corr, 'RMSE': rmse, 'MAE': mae, 'MedAE': medae
}
```
## Common pitfalls
- Models frequently fail to parse unclear queries that lack explicit parameters, causing significant drops in ECR and pass rates, especially for chart generation.
- Forecasting tasks require both correct code generation and appropriate statistical model selection/parameter tuning; baselines often generate syntactically correct but semantically flawed code.
- Tabular models excel at simple value lookup but struggle with complex pivot operations and multi-step calculations required by the benchmark.
## Evidence (verbatim from paper)
> As shown in Table 2, overall experimental results demonstrate that GPT-4 outperforms other models. It achieves the highest ECR on the majority of tasks and the highest pass rate across all tasks.
## Citation
```bibtex
@misc{he2023text2analysis,
title={Text2Analysis: A Benchmark of Table Question Answering with Advanced Data Analysis and Unclear Queries},
author={He et al. (2023)},
year={2023},
note={arXiv:2312.13671}
}
```
- arXiv: 2312.13671
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!