<!-- LLM_VERSION_INFO
FORMAT: text/markdown
CONTENT_TYPE: article
ORIGINAL_URL: https://www.vals.ai/benchmarks/mortgage_tax
ALTERNATE_VERSION: benchmarks/mortgage_tax/index.html (text/html)
EXTRACTION_DATE: 2026-04-17T00:43:22.467Z

This is the markdown version with text-only content (images converted to alt-text).
For rich formatting with images, request the HTML version at: benchmarks/mortgage_tax/index.html
-->

# MortgageTax

Proprietary

Vals AI original benchmark crafted with industry experts on non-public datasets

Updated: 4/16/2026

Evaluating reading and understanding tax certificates as images

## Systems (69)

### Accuracy

| Model | Accuracy | Cost In/Out | Latency |
|-------|----------|--------------|---------|
| [Claude Opus 4.7](/content/models/anthropic_claude-opus-4-7/index.html) | 70.27%± 0.90 | $5 / $25 | 16.10s |
| [Gemini 3.1 Pro Preview (02/26)](/content/models/google_gemini-3.1-pro-preview/index.html) | 69.40%± 0.91 | $2 / $12 | 23.62s |
| [Gemini 3 Pro (11/25)](/content/models/google_gemini-3-pro-preview/index.html) | 69.08%± 0.91 | $2 / $12 | 25.60s |
| [Gemini 2.5 Pro](/content/models/google_gemini-2.5-pro/index.html) | 68.92%± 0.91 | $1.25 / $10 | 24.01s |
| [Claude 3.7 Sonnet (Nonthinking)](/content/models/anthropic_claude-3-7-sonnet-20250219/index.html) | 68.68%± 1.78 | $3 / $15 | 5.67s |
| [Claude Opus 4.5 (Nonthinking)](/content/models/anthropic_claude-opus-4-5-20251101/index.html) | 68.68%± 0.91 | $5 / $25 | 10.53s |
| [Claude Opus 4.6 (Thinking)](/content/models/anthropic_claude-opus-4-6-thinking/index.html) | 68.52%± 0.91 | $5 / $25 | 27.16s |
| [GPT 5.4](/content/models/openai_gpt-5.4-2026-03-05/index.html) | 68.32%± 0.91 | $2.5 / $15 | 45.00s |
| [Gemini 3.1 Flash Lite Preview](/content/models/google_gemini-3.1-flash-lite-preview/index.html) | 68.04%± 0.91 | $0.25 / $1.5 | 5.37s |
| [Qwen 3.6 Plus](/content/models/alibaba_qwen3.6-plus/index.html) | 67.97%± 0.91 | $0.5 / $3 | 78.18s |

### Key Takeaways

- [Claude Opus 4.7](/content/models/anthropic_claude-opus-4-7/index.html) is the best performing model overall with **70.27%** accuracy, excelling in both semantic and numerical extraction tasks, followed closely by [Gemini 3.1 Pro Preview (02/26)](/content/models/google_gemini-3.1-pro-preview/index.html) at 69.40%.
- The benchmark tests the multimodal capabilities of models, as the documents are provided as images, including both computer-written and handwritten parts.
- The best models perform similarly on the Semantic Extraction task, while the gaps are more pronounced in the Numerical Extraction task.

### Dataset and Context

The MortgageTax benchmark evaluates the ability of language models to extract information from mortgage tax certificates. [Vontive](https://www.vontive.com/) provided both the mortgage documents and the labeled queries, which we used as a foundation for the dataset.

When prompting the models, we provide the documents as images, testing their multimodal capabilities. We test them on two tasks:

- **Semantic Extraction**: We ask the models to extract the year, the parcel number, and the county from the tax certificate.
- **Numerical Extraction**: We ask the models to calculate the annualized amount due based on the tax certificate.

For both tasks, the models are asked to reply in a JSON format containing both an explanation and the final answer for each question. Not all models follow this format precisely, so some regex pattern matching is used to extract the final answers.

The dataset consists of 1258 documents, divided into three sets:

- Public Validation (20 samples): Publicly accessible, available on request.
- Private Validation (300 samples): Available for purchase to evaluate your own models/agents on.
- Test (938 samples): A hold-out set that we never share externally. Only this set is used for the numbers reported on this page.

To receive access to the Public or Private Validation sets, please reach out to us at [contact@vals.ai](mailto:contact@vals.ai).

### MortgageTax Input Example

Below is a typical example of the images passed to the models. For confidentiality reasons, we redacted the names and addresses of the owners and properties.

Here are examples of the questions asked of the models.

**Numerical Extraction:**

```json
{
    "annualized_amount_due": {
        "reasoning": "Reasoning for annualized_amount_due",
        "answer": "Answer to annualized_amount_due"
    }
}
```

**Semantic Extraction:**

```json
{
    "tax_year": {
        "reasoning": "Reasoning for tax_year",
        "answer": "Answer to tax_year question"
    },
    "county": {
        "reasoning": "Reasoning for county",
        "answer": "Answer to county question"
    },
    "parcel_number": {
        "reasoning": "Reasoning for parcel_number",
        "answer": "Answer to parcel_number question"
    }
}
```
