Open data

Measurements from our own engine

Seven datasets, computed rather than collected, plus the verification battery the engine itself is checked against. Every figure carries its method, its limit and the date it was measured — and a CSV, so you can check it rather than take our word for it.

These are not survey results and they are not population statistics. They are what the Human Design wheel itself produces when you compute a very large number of charts and count what comes out. That distinction is the most important thing on this page, so it travels with every figure below and inside every citation line.

Everything here is published under CC BY 4.0. Free to reuse, including commercially, with attribution to DefinedSelf. If you use a figure, the citation line under each table is the form we would like back.

The engine, checked against a second implementation

All 624 activations across 24 charts spanning 1940–2022 land on the same gate and line as a completely separate ephemeris, written by other people in another language — 100%.

Several chart tools name the library they use. We could not find one that publishes a result you can check, so here is ours, in full: the 24 birth moments that were tested, the position our engine computes for each body, and the gate and line the other implementation lands on. All 624 rows, filtered for nothing — a disagreement would appear in the CSV as a row marked no.

Two things this does not check, stated before the number is quoted. It compares at the resolution of one line, which is 0.9375° of the wheel — so it shows the two implementations landing in the same bucket, not their longitudes agreeing exactly. And the two share their wheel constants: the reference script is a deliberate hand-copy of our gate order and offset, so this checks the astronomy and not the mandala laid over it. A mistake in the wheel would move both sides together and still score 100%.

What this is not. This says the arithmetic is right. It says nothing whatsoever about whether the meaning laid over that arithmetic is true — that question has its own page, and the honest answer there is no better than unproven.

Method
24 birth moments were drawn across 1940–2022. For each, the ecliptic longitude of 11 bodies was computed twice — once at birth and once at the design moment, 88 degrees of solar arc earlier — and each longitude mapped to its gate and line. Earth and the South Node are not computed: both implementations define them as 180° opposite the Sun and the North Node, so 96 of the 624 readings restate another reading rather than testing anything. The reference values come from the Moshier analytic ephemeris, reached through pyswisseph 2.10.03, which is not this codebase and not this language. Ours come from astronomy-engine 2.1.19 (MIT), TypeScript, running in your browser.
How to check it yourself
The CSV carries the longitude our engine computed for every body, in degrees, so you can compare it against any ephemeris you already trust — that is where two chart calculators actually diverge. Three things you need in order to do that properly, because guessing them will produce a disagreement that is yours and not ours: the longitudes are geocentric, apparent, tropical, in the true ecliptic of date; the lunar node is the osculating true node taken from the Moon’s orbital angular momentum, which differs from a mean node by well over a degree; and the timestamp in each row is the birth moment, so the design rows are longitudes at a moment the CSV does not give you.
Two honest gaps. The reference implementation’s own longitudes are not published — only the gate and line it lands on — so you can check our arithmetic against yours, but not against its. And the script named below lives in a private repository, so re-running it is not currently something a stranger can do. Both are fixable and neither is fixed today.
Limit
this is our own measurement of our own engine, and it stays that way until somebody outside this project re-runs it. Two further limits that a pass rate on its own would hide: the two implementations share their wheel constants, so this checks the astronomy and not the mandala laid over it; and the comparison is at gate.line resolution, which is a 0.9375-degree bucket rather than an exact match of longitudes.
Measured
— produced by npx jiti scripts/battery-exactness.mts. The comparison re-runs on every commit as part of the test suite.
Cite this as
DefinedSelf (2026). Cross-engine verification battery: 624/624 Human Design activations matched against the Moshier analytic ephemeris, reached through pyswisseph 2.10.03. https://definedself.com/data#verification-battery (accessed 2026-08-03). CC BY 4.0.

Download verification-battery.csv · 624 rows · CC BY 4.0

Type and authority distribution

Across 10,320 charts computed on a uniform grid spanning 1940–2025, Generators and Manifesting Generators together account for 67.5% of the wheel, and Emotional authority alone for 51.3%.

categorynamepercent
typeGenerator35.2
typeManifesting Generator32.3
typeProjector21.2
typeManifestor10.3
typeReflector1.0
authorityEmotional51.3
authoritySacral32.1
authoritySplenic9.4
authoritySelf-Projected2.5
authorityMental2.2
authorityEgo1.4
authorityLunar1.0
Method
Every chart on a uniform grid of 10,320 birth instants across 1940–2025 was built by the site's own engine, and its type and authority read from chart topology.
Limit
a uniform grid of birth instants, not a sample of real births — these are the proportions the wheel produces, not population statistics.
Measured
— produced by scripts/type-distribution.mts. The script is not public; the CSV below is the full output.
Cite this as
DefinedSelf (2026). Type and authority distribution. https://definedself.com/data#type-distribution — measured 2026-07-31. A uniform grid of birth instants, not a sample of real births — these are the proportions the wheel produces, not population statistics.

Download type-distribution.csv · CC BY 4.0

Motor routing to the Throat

Among the 4,398 charts where a motor centre reaches the Throat at all, the connection is direct in only 76.8% of cases — roughly one in four routes through another centre.

routepercent
direct — motor on the other end of a single channel76.8
via one intermediate centre22.3
via two intermediate centres0.9
Method
For each of the 4,398 charts in the grid where any motor centre connects to the Throat, the shortest path between them was measured in centres traversed.
Limit
a uniform grid of birth instants, not a sample of real births — these are the proportions the wheel produces, not population statistics.
Measured
— produced by scripts/type-distribution.mts. The script is not public; the CSV below is the full output.
Cite this as
DefinedSelf (2026). Motor routing to the Throat. https://definedself.com/data#motor-routing — measured 2026-07-31. A uniform grid of birth instants, not a sample of real births — these are the proportions the wheel produces, not population statistics.

Download motor-routing.csv · CC BY 4.0

Centre states — defined, undefined, open

Across 92,880 centre-readings, 11.8% of centres are truly open — no gates at all — while 35.5% are undefined but carry gates. 75.1% of everything commonly called "open" is in fact undefined-with-gates.

statepercent
defined52.7
undefined (has gates, no full channel)35.5
open (no gates at all)11.8
Method
Each of the nine centres was classified in every chart on the grid — 92,880 centre-readings in total — as defined, undefined-with-gates, or fully open.
Limit
a uniform grid of birth instants, not a sample of real births — these are the proportions the wheel produces, not population statistics.
Measured
— produced by scripts/type-distribution.mts. The script is not public; the CSV below is the full output.
Cite this as
DefinedSelf (2026). Centre states — defined, undefined, open. https://definedself.com/data#centre-states — measured 2026-07-31. A uniform grid of birth instants, not a sample of real births — these are the proportions the wheel produces, not population statistics.

Download centre-states.csv · CC BY 4.0

What survives an unknown birth time

With no birth time at all, one type answer holds for the whole day in 55.3% of dates and one profile answer in 0% — profile never survives an unknown time. Knowing the hour recovers type to 97.4% and profile to 92%.

precisiontype percentauthority percentprofile percent
whole day unknown55.364.30.0
known to the hour97.497.992.0
known to the quarter hour98.999.096.4
assuming noon85.388.461.9
Method
300 birth dates were each rebuilt across every clock time of the day — 86,400 charts — and the share of dates giving a single unchanging answer was counted at each level of precision.
Limit
a uniform sweep of clock times, not a distribution of real birth times — this measures what the wheel does across a day.
Measured
— produced by scripts/birth-time-unknown.mts. The script is not public; the CSV below is the full output.
Cite this as
DefinedSelf (2026). What survives an unknown birth time. https://definedself.com/data#birth-time-survival — measured 2026-07-31. A uniform sweep of clock times, not a distribution of real birth times — this measures what the wheel does across a day.

Download birth-time-survival.csv · CC BY 4.0

How fast each body crosses a line

The Moon crosses one 0.9375° line every 1.7 hours and the Sun every 22.82 on average — shorter than a day, which is why an unknown birth time can never preserve a profile.

bodyhours per line
Moon1.7
Mercury13
Sun22.8
Mars31
Saturn384
Method
Measured directly from the engine's ephemeris — four years of Sun and one year of Moon positions at 1–2 minute resolution; the remaining bodies from the engine's own derived rates.
Limit
mean intervals — the Sun ranges to a maximum of 23.63 hours and the Moon from 1.37 to 1.92, so a single chart can sit either side of these figures.
Measured
— produced by the engine ephemeris + wheel. The script is not public; the CSV below is the full output.
Cite this as
DefinedSelf (2026). How fast each body crosses a line. https://definedself.com/data#line-crossing — measured 2026-07-31. Mean intervals — the Sun ranges to a maximum of 23.63 hours and the Moon from 1.37 to 1.92, so a single chart can sit either side of these figures.

Download line-crossing.csv · CC BY 4.0

How common each channel is

No channel is rare. The most common — 20-34, Throat – Sacral — appears in 14.7% of charts and the least common in 6.8%, a spread of only 2.16×. The average chart carries 3.48 of the 36.

channelpercentconnects
20-3414.7Throat – Sacral
37-4014.6Solar Plexus – Heart
23-4314.5Throat – Ajna
18-5812.4Spleen – Root
3-6011.8Sacral – Root
34-5711.8Sacral – Spleen
47-6411.5Ajna – Head
26-4411.3Heart – Spleen
28-3811.2Spleen – Root
6-5911.0Solar Plexus – Sacral
10-3410.7G – Sacral
19-4910.4Root – Solar Plexus
32-5410.4Spleen – Root
10-5710.2G – Spleen
29-4610.2Sacral – G
13-339.5G – Throat
7-319.4G – Throat
27-509.0Sacral – Spleen
39-559.0Root – Solar Plexus
1-88.9G – Throat
24-618.9Ajna – Head
4-638.6Ajna – Head
2-148.4G – Sacral
25-518.4G – Heart
30-418.3Solar Plexus – Root
16-488.2Throat – Spleen
11-568.0Ajna – Throat
12-228.0Throat – Solar Plexus
5-157.9Sacral – G
35-367.7Throat – Solar Plexus
20-577.4Throat – Spleen
42-537.3Sacral – Root
9-527.2Sacral – Root
10-207.2G – Throat
21-457.2Heart – Throat
17-626.8Ajna – Throat
Method
Every chart on the same uniform grid of 10,320 birth instants across 1940–2025 was built by the site's own engine, and each of the 36 channels counted as present when both of its gates are activated.
Limit
a uniform grid of birth instants, not a sample of real births — this is how often the wheel produces each channel, not how many people carry one.
Measured
— produced by scripts/channel-distribution.mts. The script is not public; the CSV below is the full output.
Cite this as
DefinedSelf (2026). How common each channel is. https://definedself.com/data#channel-distribution — measured 2026-08-03. A uniform grid of birth instants, not a sample of real births — this is how often the wheel produces each channel, not how many people carry one.

Download channel-distribution.csv · CC BY 4.0

What the moving sky adds to a fixed chart

Transits are the background, not the event. On 99.5% of chart-days the sky temporarily completes at least one channel the chart does not natally have, and the average is 3.73. The Sun spends about 5.7 days in a gate; the Moon about 10.2 hours.

measurevalue
chart-days measured125560
mean temporary channels per chart per day3.73
share of chart-days with at least one99.5%
days the Sun spends in one gate5.7
hours the Moon spends in one gate10.2
Method
344 natal charts from the uniform grid were crossed with 365 transit moments — one per day for a year — giving 125,560 chart-days. A channel counts as temporarily completed when both its gates are present across natal and transit positions together, and were NOT both already present natally.
Limit
a uniform grid of birth instants crossed with one transit moment per day for a year — not real births, and not a weighted sample of days. It measures what the sky does to the wheel, not what any day feels like.
Measured
— produced by scripts/transit-channels.mts. The script is not public; the CSV below is the full output.
Cite this as
DefinedSelf (2026). What the moving sky adds to a fixed chart. https://definedself.com/data#transit-channels — measured 2026-08-03. A uniform grid of birth instants crossed with one transit moment per day for a year — not real births, and not a weighted sample of days. It measures what the sky does to the wheel, not what any day feels like.

Download transit-channels.csv · CC BY 4.0

Why these and not others

Each of these came out of a question the site needed answered for its own pages — how common a type really is, whether a motor reaching the throat is usually direct, what a reader can still learn without a birth time. They are published because the computation was already done and the answer is checkable, not because anyone asked for a dataset.

If you find an error, it is worth telling us: the numbers come from one engine, and one engine can be wrong in the same direction every time. That is the honest limit of everything on this page — and it is the reason the battery above exists, and the reason its inputs are published rather than just its score. Checking our engine against a second one narrows that risk. It does not remove it, and only somebody outside this project re-running the comparison would.