UmbrielAstrology

Where we are wrong, and by how much

Every figure on this page was produced by running a check, not by someone typing a number they believed. Each row says what was measured, what it was measured against, how many positions went into it, and the day the run happened. Nothing here is rounded in our favour, and the worst row is deliberately near the top of its group rather than buried at the bottom.

The measurement is simple to describe. We ask NASA/JPL Horizons where a body was at a given instant, we ask our own engine the same question, and we keep the largest disagreement we find. Horizons is the service spacecraft navigation is planned with. It has no idea we exist, which is exactly what makes it useful: we cannot tell by looking whether our own arithmetic is right, because a wrong answer arrives as a plausible degree of a plausible sign.

An arcminute is a sixtieth of a degree, written ′. A whole zodiac sign is 1,800 of them. An arcsecond, written ″, is a sixtieth of that again: about the width of a pound coin two and a half miles away.

The short versionAcross the bodies that appear on every chart, the largest disagreement with NASA/JPL anywhere between 1600 and 2200 is 10.4′. The worst figure on the whole page belongs to main-belt asteroids past number 6,214 at 69.9′, and the sentence under its row explains why. Altogether the rows still standing rest on 485,556 separate measurements, measured on 2026-09-16.

The bodies on every chart

The Sun, the Moon and the planets, each one asked of Horizons every five days and compared with what the engine returns at the same instant.

All against NASA/JPL Horizons, 1600–2200.

WhatWorst errorOut ofMeasured
Saturn10.4′43,836 positions2026-09-16
Worst case 2177-11-20.
Uranus9.89′43,836 positions2026-09-16
Worst case 1600-10-27.
Jupiter7.10′43,836 positions2026-09-16
Worst case 1763-11-29.
The Moon6.24′43,836 positions2026-09-16
Worst case 2008-11-14. On a truncated ELP-2000/82 series, which is a great deal more work than the short version and is the reason the Moon lands within arcminutes rather than tenths of a degree.
Neptune4.42′43,836 positions2026-09-16
Worst case 1662-01-13.
Mars4.12′43,836 positions2026-09-16
Worst case 1625-09-11.
Chiron3.76′43,836 positions2026-09-16
Worst case 2187-12-23. A Centaur, shepherded by Saturn and Uranus, so no fixed set of elements describes it for long. It was up to 3° out on a hand-calibrated orbit, and the error oscillated rather than sitting still, which is the signature of propagating the wrong orbit rather than the wrong epoch.
Venus1.76′43,836 positions2026-09-16
Worst case 2073-03-01.
Pluto1.65′43,836 positions2026-09-16
Worst case 2048-08-11. Two methods, each used only where it is the better one: a periodic series inside 1885–2100, and a JPL element grid outside it. The series alone was 65′ out in the far past, and the grid alone is worse than the series in the modern era.
Mercury1.54′43,836 positions2026-09-16
Worst case 2002-04-05.
The Sun0.27′43,836 positions2026-09-16
Worst case 2199-12-10. On a truncated VSOP87 series. The Schlyter series it replaced was 23″ out on average, which passes any longitude tolerance you would write while being thirteen minutes of clock on a solar return.

Points worked out from those

A derived point can be far worse than the body it is derived from, and it looks exactly as plausible either way.

All against NASA/JPL Horizons, 1920–2044.

WhatWorst errorOut ofMeasured
True Lilith, the lunar apogee6.50′12 moments2026-09-16
The same amplifier as the node, and the reason two more lunar points were built, measured, found wrong and withdrawn before they ever shipped.
True lunar node0.63′17 moments2026-09-16
Worst case 1929-08-21. A derived point can be far worse than the body it comes from. Near the node the Moon's latitude is multiplied by about eleven, and this one was 38.7′ out with nothing watching it.

The small bodies

Asteroids and comets, where the honest answer is a range rather than a number.

WhatWorst errorOut ofMeasured
Main-belt asteroids past number 6,214
vs NASA/JPL Horizons, a 1950 birth
69.9′100 bodies2026-09-16
This is the weakest thing in the product and the row to read first. Each of these carries a single orbit measured for 2026, propagated all the way back, and the further back the looser it gets. More than a degree is enough to put an asteroid on the wrong side of a sign line.
Near-Earth asteroids, all 183 of them
vs NASA/JPL Horizons, four moments each
27.5′732 checks2026-09-16
Worst case 2005-01-01. The worst case is one body 0.3596 AU from the Earth, close enough that a small error in the orbit is a large one in the angle. 95% of the checks land within 1.7′.
Comets, all 21 of them
vs NASA/JPL Horizons, 1920–2044
5.60′168 positions2026-09-16
A comet's orbit changes enough that one set of elements is wrong within months, so these run on a five-year grid of them. One comet was 80° out for a 1920 birth before that went in.
Main-belt asteroids, numbers 1 to 6,214
vs NASA/JPL Horizons, 1901–2088
1.20′2,223 body checks2026-09-16
Worst case 1966. Each of these is carried from NASA/JPL's own orbit for the nearest 4-year mark between 1900 and 2100, rather than one orbit propagated across a century.

Traditional techniques

Not positions but constructions: arcs, ascensions and rising times, checked against a second implementation rather than against the sky.

All against an independent implementation, one reference chart.

WhatWorst errorOut ofMeasured
Speculum and rising times2.20′73 values2026-09-16
The declinations, oblique ascensions and rising times a traditional astrologer works from, which nothing else here would have exercised. A further 372 right-ascension cells are checked in the same run.
Primary directions, in mundo1.80′35 arcs2026-09-16
Not an ephemeris question: these are arcs of right ascension converted to years, and the two routes to them have to agree.

What this measurement cannot see

A page of numbers with no stated limits is asking to be trusted rather than checked, so here are this one's.

Why you can believe the table and not just the prose

The honest weakness of a page like this is that it is a page. Numbers get typed, code moves on, and a figure that was true in August reads exactly the same in December. That has happened to us: an earlier survey of this same kind still has two rows in it that were already wrong when it was written, because the engine was improved while the run was in flight.

So this page is not written, it is generated. A tool runs the checks, records each result with the date and a fingerprint of the exact engine code it was measured against, and renders these tables from that record. A second pass re-renders the page and compares it, character for character, with what is published: if anyone edits a digit here by hand, that comparison fails and the build stops. There is no path by which a number on this page can be something a person believed rather than something a run produced.

The fingerprint is what keeps it honest over time. When the engine changes, every row measured against the old code is marked withdrawn and its figure comes down until the run is repeated. We would rather show you a gap than a number that has quietly stopped being true.

One distinction worth drawing, because nothing about the typography draws it for you. The figures in the tables are measurements, produced by the runs named above. The numbers inside the explanatory sentences are history: what a body was out by before it was fixed, and how the fault behaved. Those describe code that no longer exists, so they cannot go out of date, but they are not measurements of anything we ship today, and we would rather you knew which was which than assume the whole page is one kind of claim.

This run: engine 433450e0f1d2, generated 2026-09-16 21:18. The record itself is published as data, if you would rather read it that way.

If you are building one of these too

Please take any of this. The technique is not ours and the numbers are not a moat: ask an authority, keep the largest disagreement, print the sample size next to it, and record which version of your own code the answer belongs to. The astrologers who documented these methods precisely enough to be tested at all did the harder part long before we got here. We would much rather this kind of checking were ordinary than rare.

✦ Cast your free birth chart

Free, no account, and this is the arithmetic behind it.

310+ people cast their chart here in the last 30 days.

How accurate is Umbriel? · Free calculators · Beginner guides · What's new