GeoChrono benchmark leaderboard
Change over time in aerial image series, answered from the images alone, with no tools. A standalone evaluation: its scores are shown here and on model pages, but it is not counted in any index or ranking until more models have run it.
Models8 of 8 entries
Score
GeoChrono score
Share of questions answered correctly, 0 to 100 · Higher is better
How to read this chart
What this metric means. The share of questions the model answered correctly from the images alone, with no tools.
Rows. Default: each developer's best model, then open-weights models until 4 are in, then the best of the rest, up to 12. Tables keep every entry.
Data table: GeoChrono score
| Model | GeoChrono score |
|---|---|
| Claude Sonnet 5.5 (high) | 74 |
| Claude Opus 5.5 (high) | 73 |
| Claude Opus 5 (high) | 71 |
| Claude Haiku 5.5 (high) | 68 |
| Claude Opus 4.8 (high) | 59 |
| Claude Sonnet 5 (high) | 55 |
| Claude Opus 4.7 (high) | 54 |
| Claude Haiku 4.5 (Reasoning) | 36 |
GeoChrono: score vs. cost per question
GeoChrono score against average cost per question (USD) · Higher and further left is better
- Most attractive quadrant
- Pareto line
How to read this chart
What cost is measuring. What one attempt at a task would cost if paid token by token at the provider's published API prices, averaged over attempts: ordinary input tokens, input tokens served from the provider's cache at the lower cached price, tokens written to the cache where the provider charges for that, and output tokens (thinking included). Cost assumes each harness uses the model's pay-per-token API, priced at public list rates; sandboxes and our own engineering time are not included. Failed attempts count too.
How to read this chart. Each point is one entry. Further left means a lower average cost per question (log scale); higher means a higher GeoChrono score. Both axes fit the points shown, so the score axis does not start at zero. The shaded most attractive quadrant is the top-left quarter of the plot, split at the middle of each axis: a reading aid, not a fixed bar. The dotted Pareto line joins the points that no cheaper one beats on score. Only exact costs are plotted; the table lists every entry.
Data table: GeoChrono: score vs. cost per question
| Model | GeoChrono score | Cost per question (USD) | On the Pareto line |
|---|---|---|---|
| Claude Sonnet 5.5 (high) | 74 | $0.050 | Yes |
| Claude Opus 5.5 (high) | 73 | $0.099 | No |
| Claude Opus 5 (high) | 71 | $0.14 | No |
| Claude Haiku 5.5 (high) | 68 | $0.0029 | Yes |
| Claude Opus 4.8 (high) | 59 | $0.13 | No |
| Claude Sonnet 5 (high) | 55 | $0.068 | No |
| Claude Opus 4.7 (high) | 54 | $0.13 | No |
| Claude Haiku 4.5 (Reasoning) | 36 | $0.038 | No |
Token usage
GeoChrono: tokens per question
Average tokens per question by type · Lower is better
- Uncached input
- Cached input
- Output (reasoning included)
How to read this chart
What the parts mean. Uncached input: input tokens read at the full price. Cached input: input tokens served from the provider's cache at the lower cached price. Output: the tokens the model wrote, its reasoning included, as reported by the provider.
Compare with care. Models use different tokenisers, so the same text is a different number of tokens for different models. Use token counts to see how much work each model did, and cost to compare spending.
Data table: GeoChrono: tokens per question
| Model | Developer | Uncached input | Cached input | Output (reasoning included) | Total |
|---|---|---|---|---|---|
| Claude Opus 5.5 (high) | Anthropic | 11k | No data | 548 | 12k |
| Claude Sonnet 5.5 (high) | Anthropic | 11k | No data | 621 | 12k |
| Claude Opus 4.8 (high) | Anthropic | 11k | 35 | 753 | 12k |
| Claude Opus 4.7 (high) | Anthropic | 11k | No data | 608 | 12k |
| Claude Opus 5 (high) | Anthropic | 11k | No data | 1k | 12k |
| Claude Haiku 5.5 (high) | Anthropic | 11k | 0 | 1k | 13k |
| Claude Sonnet 5 (high) | Anthropic | 11k | No data | 2k | 14k |
| Claude Haiku 4.5 (Reasoning) | Anthropic | 11k | No data | 3k | 14k |
Cost
GeoChrono: cost per question
Average cost per question (USD) by token type · Lower is better
- Uncached input
- Cached input
- Output
- Not split by token type
How to read this chart
What cost is measuring. What one attempt at a task would cost if paid token by token at the provider's published API prices, averaged over attempts: ordinary input tokens, input tokens served from the provider's cache at the lower cached price, tokens written to the cache where the provider charges for that, and output tokens (thinking included). Cost assumes each harness uses the model's pay-per-token API, priced at public list rates; sandboxes and our own engineering time are not included. Failed attempts count too.
How the cost is split. Each part is the entry's average tokens of that type times its list price. The rest, mostly tokens written to the cache, is shown as not split by token type.
Data table: GeoChrono: cost per question
| Model | Developer | Uncached input | Cached input | Output | Not split by token type | Total |
|---|---|---|---|---|---|---|
| Claude Haiku 5.5 (high) | Anthropic | $0.0011 | $0.00 | $0.00061 | $0.0011 | $0.0029 |
| Claude Haiku 4.5 (Reasoning) | Anthropic | $0.011 | $0.00 | $0.016 | $0.011 | $0.038 |
| Claude Sonnet 5.5 (high) | Anthropic | $0.022 | $0.00 | $0.0062 | $0.022 | $0.050 |
| Claude Sonnet 5 (high) | Anthropic | $0.023 | $0.00 | $0.022 | $0.023 | $0.068 |
| Claude Opus 5.5 (high) | Anthropic | $0.044 | $0.00 | $0.011 | $0.044 | $0.099 |
| Claude Opus 4.8 (high) | Anthropic | $0.055 | $0.000018 | $0.019 | $0.055 | $0.13 |
| Claude Opus 4.7 (high) | Anthropic | $0.057 | $0.00 | $0.015 | $0.057 | $0.13 |
| Claude Opus 5 (high) | Anthropic | $0.055 | $0.00 | $0.028 | $0.055 | $0.14 |
Speed
GeoChrono: time per question
Time per question (at 100 output tokens/s), seconds · Lower is better
How to read this chart
Time per question. Time as if every model wrote 100 output tokens per second: output tokens divided by 100, plus the time the agent's commands took. Serving speed differs between providers and is not ranked.
Data table: GeoChrono: time per question
| Model | Developer | Time per question (s) |
|---|---|---|
| Claude Opus 5.5 (high) | Anthropic | 10s |
| Claude Opus 4.7 (high) | Anthropic | 10s |
| Claude Sonnet 5.5 (high) | Anthropic | 10s |
| Claude Opus 4.8 (high) | Anthropic | 11s |
| Claude Opus 5 (high) | Anthropic | 15s |
| Claude Haiku 5.5 (high) | Anthropic | 16s |
| Claude Sonnet 5 (high) | Anthropic | 26s |
| Claude Haiku 4.5 (Reasoning) | Anthropic | 36s |
GeoChrono: score vs. time per question
GeoChrono score against time per question (at 100 output tokens/s), seconds · Higher and further left is better
- Most attractive quadrant
- Pareto line
How to read this chart
Time per question. Time as if every model wrote 100 output tokens per second: output tokens divided by 100, plus the time the agent's commands took. Serving speed differs between providers and is not ranked.
How to read this chart. Each point is one entry. Further left means a lower average time per question (log scale); higher means a higher GeoChrono score. Both axes fit the points shown, so the score axis does not start at zero. The shaded most attractive quadrant is the top-left quarter of the plot: a reading aid, not a fixed bar. The dotted Pareto line joins the points that no faster one beats on score.
Data table: GeoChrono: score vs. time per question
| Model | GeoChrono score | Time per question (seconds) | On the Pareto line |
|---|---|---|---|
| Claude Sonnet 5.5 (high) | 74 | 10s | Yes |
| Claude Opus 5.5 (high) | 73 | 10s | Yes |
| Claude Opus 5 (high) | 71 | 15s | No |
| Claude Haiku 5.5 (high) | 68 | 16s | No |
| Claude Opus 4.8 (high) | 59 | 11s | No |
| Claude Sonnet 5 (high) | 55 | 26s | No |
| Claude Opus 4.7 (high) | 54 | 10s | No |
| Claude Haiku 4.5 (Reasoning) | 36 | 36s | No |
Score vs. release date
GeoChrono: score vs. release date
GeoChrono score against the model's public release date
How to read this chart
How to read this chart. Each point is one entry: across, the date its model was first released; up, its GeoChrono score. Models with no published release date are not plotted.
Data table: GeoChrono: score vs. release date
| Model | GeoChrono score | Release date |
|---|---|---|
| Claude Sonnet 5.5 (high) | 74 | 28 September 2026 |
| Claude Opus 5.5 (high) | 73 | 22 September 2026 |
| Claude Opus 5 (high) | 71 | 24 July 2026 |
| Claude Haiku 5.5 (high) | 68 | 7 October 2026 |
| Claude Opus 4.8 (high) | 59 | 28 May 2026 |
| Claude Sonnet 5 (high) | 55 | 30 June 2026 |
| Claude Opus 4.7 (high) | 54 | 16 April 2026 |
| Claude Haiku 4.5 (Reasoning) | 36 | 15 October 2025 |
Background
GeoChrono asks about long-term change in a place seen over many years: what the land cover is, whether an area grew or shrank, when an object appeared and how things changed in order. Each question shows a series of aerial photographs of the same place, each labelled with its year.
Licence: questions Apache-2.0; images from DVL-Suite (Apache-2.0), aerial photographs of the USDA National Agriculture Imagery Program (public domain).
Published by the GeoChrono authors (IntelliSensing).
Related links
Explore evaluations
- Geospatial Intelligence IndexAgent tasks, vision, guided workflows and geospatial knowledge, per model
- Geospatial Agent IndexEarth-Bench V2, GeoBenchX and GS-QA2; Text + vision adds Vision agents
- Earth-Bench V2Earth-Bench V2 poses Earth observation questions over satellite products (indices, temperatures, land cover) that are answered by computing over the data.
- GeoBenchXGeoBenchX asks for maps, numbers and lists from country-level and city-level geospatial data.
- GS-QA2GS-QA2 asks questions about places and terrain in the United States over OpenStreetMap vector layers and ASTER elevation data: nearest features, directions, distances, counts, elevations, slopes and features that meet terrain conditions.
- GeoAgentBenchGeoAgentBench gives an agent a geospatial question and the data to answer it, and expects the result files and a map.
- GeoAnalystBenchGeoAnalystBench collects GIS analyst workflows (suitability analysis, interpolation, hot spots, network and overlay work).
- OGD4AllOGD4All asks everyday questions about the City of Zurich's open government data: trees, buildings, transport, schools and more, from about 430 public datasets in GeoPackage and CSV form.
- GeoNatureAgentGeoNatureAgent asks for figures from environmental rasters over Spanish provinces and regions: here, the share of land suitable for CO₂ storage, by province, with follow-up questions that compare, rank or break the figures down.
- MultiGlobeQAMultiGlobeQA asks spatial questions about places all over the world: what lies within, next to or nearest to what, how far apart things are, and how many there are.
- GeoAgentEvalGeoAgentEval tests whether an agent can build, audit and repair spatial data in a PostGIS database, and decline honestly when a request cannot be done: flood zones, wards, routes, coordinate systems and stale records in one made-up town.
- BigEarthNet.txtBigEarthNet.txt asks about 1.2 km image patches over Europe: which land cover is present, how much, how many patches of it, what is next to what, and the country, season and climate zone.
- Geospatial knowledgeClosed-book multiple-choice questions on geospatial knowledge
- VisionQuestions answered from images
- Earth-Bench V2 imagesEarth-Bench V2 images are the Earth-Bench V2 questions that need the model to look at RGB satellite pictures: multiple choice on counting objects or scene types, ranking pictures by count or area, and comparing what changed.
- ThinkGeo imagesThinkGeo asks for one number about aerial and satellite images: a count, an area, a distance or a heading, accepted within a range.
- Vision agentsAgents that look at aerial images and use code
