Compare · 9 axes
12 calibers, 9 axes, and every hole left open
Neither the universe nor the family tree carries a single measured dimension. This does — for a set you assemble, up to 12 at a time. Where the corpus has no value the ribbon stops and resumes on the far side of the gap: never bridged, never averaged, never guessed.
- ETA 2892-2 — 8 of 9 axes carried, 1 unknown
- ETA 2824-2 — 7 of 9 axes carried, 2 unknown, 1 contested
- ETA 2892-A2 — 6 of 9 axes carried, 3 unknown
- Valjoux / ETA 7750 — 5 of 9 axes carried, 4 unknown, 1 contested
- EB 1612 — 4 of 9 axes carried, 5 unknown
- Grand Seiko 9S55 — 3 of 9 axes carried, 6 unknown
- Lemania 2310 — 2 of 9 axes carried, 7 unknown
- ETA 2824 — 1 of 9 axes carried, 8 unknown
- Venus 188 / Valjoux 7730 — 0 of 9 axes carried, 9 unknown
A caliber with no value on an axis is given no position on that axis. Its hollow tick goes in the gutter beneath the plot instead, on the caliber’s own row, because “where the value would be” is precisely what the corpus does not say — and a tick placed on the line between its neighbours would be an interpolation drawn in the one view built to refuse them. Reading a row of the gutter left to right tells you what this site does not know about that movement; reading a column tells you what it does not know about that property.
What this view cannot draw
Not one of the 12,269 designs in this corpus carries all 9 of these properties. The most complete record on the site carries 8. That is not a defect in the view — it is the single most useful thing the view says, and you can read it off the plot in one glance the first time a ribbon breaks. This page is deliberately not a corpus overview: 12,269 polylines would be solid ink, and 12,269 is a fifteenth of what this corpus will hold when the current ingestion lands. It is a comparison instrument, and the cap of 12 is the form working rather than the form giving up.
Designs by how many of the 9 axes they carry. The column at 9 is empty, drawn as a dashed rule rather than as a bar, because an unknown must never read as a small quantity.
Reading the axes left to right: 11,084 designs carry the first 2 · 9,743 designs carry the first 3 · 8,918 designs carry the first 4 · 8,357 designs carry the first 5 · 7,184 designs carry the first 6 · 6,637 designs carry the first 7 · 3,669 designs carry the first 8 · 0 designs carry the first 9. Every one of those drop-offs is a ribbon breaking, and the drop is steepest at the last axis because it is the least documented property in the vocabulary.
The 300 designs this view can put nothing on the picture for
They carry none of the 9 axes. They are not filtered out: add one and it appears as a numbered chip, a labelled row, a full row of hollow ticks in the gutter, and a table row of dashes. What it does not get is a line, because there is nothing to draw one through. The first 12 by descendant reach: Venus 188 / Valjoux 7730 · Eterna 1427 · Rolex 1530 · Cartier 1847 MC · Baume & Mercier Baumatic BM12-1975A · ETA 2890-2 · Lemania 5100 · Rolex 3085 · Venus 175 · Ракета 2609.НА · Credor 6830 · Grand Seiko 9F62. That list is a warning about the corpus, not about the calibers: “Venus 188 / Valjoux 7730” is not an obscure movement.
And the gaps are not random
Mean number of these 9 axes carried, by maker, over the 71 makers with at least 5 designs attributed. Best: Enicar 7.66 over 67 · Zodiac 7.57 over 14 · Mido 7.53 over 36. Worst: Tianjin Sea-Gull Watch Group 0 over 7 (7 with nothing at all) · Luch 1.05 over 43 (33 with nothing at all) · Molnija 1.17 over 6 (4 with nothing at all). The 5,770 designs with no maker sourced average 6.7. A comparison that happens to pick from the top of that list will look complete; one that picks from the bottom will look broken. Both pictures are true, and neither is a statement about the movements.
How a value gets chosen when the corpus asserts more than one
Where a design asserts several values for one property this view never averages and never chooses: values in a dispute group are drawn as ruby ticks and the ribbon breaks between them, and values that merely differ in scope (the 17/21-jewel case) are drawn as a fork through every asserted value. rank='preferred' would supersede this behaviour; the corpus currently has no preferred rows.
And how one never gets chosen: there is no code path in this view that joins two axes across a missing value. A gap is emitted as a gap in components/viz/compare-geometry.ts, and tools/layout_compare.py re-derives every carrier count from SQL and refuses to write the payload if it disagrees with what it is about to publish.
The axes, and why each one is on the scale it is on
| # | Axis | Scale | Designs carrying it | Designs with no value | Values asserted | Values accepted | Values staged | Contested values · designs | Designs asserting a range |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Jewels build.jewel_count | linear | 11,603 | 666 | 15,939 | 817 | 15,114 | 8 · 4 | 3,257 |
| 2 | Frequency osc.frequency_vph | log · vph | 11,174 | 1,095 | 11,181 | 675 | 10,504 | 2 · 1 | 7 |
| 3 | Movement height geom.height_mm | log · mm | 10,485 | 1,784 | 10,543 | 957 | 9,582 | 4 · 2 | 58 |
| 4 | Winding mode wind.mode | enum | 10,356 | 1,913 | 10,362 | 345 | 10,015 | 2 · 1 | 6 |
| 5 | Power reserve (typical) power.reserve_typical_h | log · h | 9,947 | 2,322 | 10,005 | 613 | 9,372 | 20 · 9 | 55 |
| 6 | Movement diameter geom.diameter_mm | linear · mm | 9,922 | 2,347 | 9,950 | 735 | 9,204 | 11 · 5 | 27 |
| 7 | Seconds display disp.seconds_display | enum | 9,109 | 3,160 | 9,133 | 45 | 9,088 | — | 24 |
| 8 | Shock protection osc.shock_protection | enum | 5,431 | 6,838 | 5,966 | 25 | 5,941 | — | 500 |
| 9 | Total components build.component_count | log | 89 | 12,180 | 93 | 89 | 0 | 4 · 2 | 4 |
- 1 Jewels · linear
- corpus range includes 0, so the axis is linear. Extremes: Dugena 819 (Otero 27) at 17,721 · 4002 anonymous at 0.
- 2 Frequency · log · vph
- corpus range 120–5,184,000 spans a factor of 43200; a linear axis would be governed by its largest value alone. Extremes: Omega 1220 at 5,184,000 · Jaeger-LeCoultre 560 (Atmos) at 120.
- 3 Movement height · log · mm
- corpus range 0.98–15.1 spans a factor of 15; a linear axis would be governed by its largest value alone. Extremes: Ganthony 19''' at 15.1 · ETA-ESA 210.001 at 0.98.
- 4 Winding mode · enum
- enum property; 2 of 4 vocabulary levels occur in the corpus.
- 5 Power reserve (typical) · log · h
- corpus range 3–744 spans a factor of 248; a linear axis would be governed by its largest value alone. Extremes: A. Lange & Söhne L034.1 at 744 · Hanhart 155 at 3.
- 6 Movement diameter · linear · mm
- corpus range 9–54 spans a factor of 6.0; linear keeps the units readable. Extremes: Slava 5498 at 54 · Ronda 1032 at 9.
- 7 Seconds display · enum
- enum property; 4 of 4 vocabulary levels occur in the corpus.
- 8 Shock protection · enum
- enum property; 11 of 12 vocabulary levels occur in the corpus.
- 9 Total components · log
- corpus range 119–1,278 spans a factor of 11; a linear axis would be governed by its largest value alone. Extremes: Patek Philippe Calibre 89 at 1,278 · Jaeger-LeCoultre 849 at 119.
Two grains in one table, and they are labelled rather than blended. The first two columns count designs; the next three count asserted values. They differ wherever a design asserts more than one value for one property — the 17/21-jewel case — so a value count can and does exceed the count of designs carrying that property. Nothing is double-counted; the two columns are answers to different questions, and adding one to the other is meaningless.
Axes are ordered by coverage descending (n_designs), ties broken by property id, computed at build time, so the densest axes lead and the ribbons are established before the sparse ones thin them. Round round/2026-09-08 · corpus 70c0140ebad3f9a6 · built 2026-09-08T17:57:55 · every number on this page comes from tools/layout_compare.py.
A quantity with at most 16 distinct values in the whole corpus is drawn as an ordinal band rather than a continuous line, because a continuous axis would invent positions no escapement can physically occupy. A quantity whose corpus range spans a factor of 10 or more, with a positive floor, gets a log axis so one true outlier cannot govern the whole scale. Both thresholds live in the build tool, not in the page.
There is no time axis here on purpose. 8,569 of 12,269 designs have no introduction year, and 9,750 touch no lineage edge. The universe already places a dated caliber on a real era axis and holds the undated ones in its reservoir band rather than interpolating them; repeating that here would add a tenth axis on which most ribbons break for a reason this view has nothing new to say about.
Assemble a set
Showing the 40 calibers with the widest descendant reach, of 4,000 in the picker (8,269 further designs are not in the shipped picker index and are reachable by search or by URL). The comb shows which of the 9 axes each one carries.
- ETA 2824ETA SA Manufacture Horlogère Suisse
- Venus 188 / Valjoux 7730Valjoux SA
- Valjoux 7733Valjoux SA
- Eterna 1427Eterna SA
- ETA 2824-2ETA SA Manufacture Horlogère Suisse
- Buren 1281Buren
- Valjoux / ETA 7750ETA SA Manufacture Horlogère Suisse
- ETA 2892-A2ETA SA Manufacture Horlogère Suisse
- ETA 2892-2ETA SA Manufacture Horlogère Suisse
- ETA 2671ETA SA Manufacture Horlogère Suisse
- ETA 2550ETA SA Manufacture Horlogère Suisse
- ETA 2412ETA SA Manufacture Horlogère Suisse
- AS 1012maker not sourced
- AS 1525maker not sourced
- AS 1758maker not sourced
- ETA 2551ETA SA Manufacture Horlogère Suisse
- Jaeger-LeCoultre 920Manufacture Jaeger-LeCoultre SA
- AS 1687maker not sourced
- AS 1716maker not sourced
- ETA 2451ETA SA Manufacture Horlogère Suisse
- AS 1200maker not sourced
- AS 1475maker not sourced
- AS 1688maker not sourced
- ETA 2452ETA SA Manufacture Horlogère Suisse
- ETA 2472ETA SA Manufacture Horlogère Suisse
- ETA 2540ETA SA Manufacture Horlogère Suisse
- ETA 2541ETA SA Manufacture Horlogère Suisse
- Felsa 4122Felsa SA
- FHF Robert 8.75'''maker not sourced
- AS 1977-2 (=Durowe 1977-2)maker not sourced
- ETA 735ETA SA Manufacture Horlogère Suisse
- ETA 2360ETA SA Manufacture Horlogère Suisse
- Felsa 22Felsa SA
- Lemania 2310Lemania Watch Co.
- ETA 2365ETA SA Manufacture Horlogère Suisse
- ETA 2391ETA SA Manufacture Horlogère Suisse
- ETA 2512ETA SA Manufacture Horlogère Suisse
- Frederic Piguet 21Frédéric Piguet SA
- Unitas / ETA 6497ETA SA Manufacture Horlogère Suisse
- Zenith 3019 PHC (El Primero)Zenith
Sets to start from
Each of these is chosen by a rule at build time, not curated by hand, so the set changes with the corpus rather than going stale. The rule is printed beside it.
A cross-section of what the corpus knows
for every coverage level k, the design with the widest descendant reach that carries exactly k of the 9 axes — from the most complete record on the site down to one that carries nothing at all
The largest family
every member of the largest cluster under the heritage profile (28 designs), taken in descending descendant reach and cut at 12
The most completely documented
the designs carrying the most of the 9 axes, ties broken by descendant reach then designation
Where the sources disagree
every design carrying at least one disputed value on these axes, most contested first — the only set on this page that is guaranteed to show ruby (22 designs qualify; the first 12 are loaded)
Calibers that ship as a range
designs asserting more than one value on an axis without a dispute — the 17/21 jewel case, where the corpus records a range because the caliber has one (3,623 designs qualify; the first 12 are loaded)
Undated, unconnected, and fully specified
designs with no introduction year AND no lineage edge, yet carrying at least 6 of the 9 axes — the calibers the era field can only put in the reservoir and the family tree draws as a lone node (5,005 designs qualify; the first 12 are loaded)
The comparison as a table
Everything the plot draws, in text, with the status of each value: ● a value no source contradicts · ◆ contested · — no value in the corpus. Ten columns do not fit a phone, so this table scrolls sideways inside its own box; the page never does.
| Caliber | Jewels | Frequency | Movement height | Winding mode | Power reserve (typical) | Movement diameter | Seconds display | Shock protection | Total components | Unknown |
|---|---|---|---|---|---|---|---|---|---|---|
1 · ETA 2892-2 ETA SA Manufacture Horlogère Suisse | ● 21 | ● 28,800 vph | ● 3.6 mm | ● Automatic + hand-winding | ● 42 h | ● 25.6 mm | ● Central seconds | ● Incabloc | — | 1/9 |
2 · ETA 2824-2 ETA SA Manufacture Horlogère Suisse | ● 17 or 21 or 25 | ● 28,800 vph | ● 4.6 mm | ● Automatic + hand-winding | ◆ 38 h / 42 h | ● 25.6 mm | — | ● Incabloc | — | 2/9 |
3 · ETA 2892-A2 ETA SA Manufacture Horlogère Suisse | ● 21 | ● 28,800 vph | ● 3.6 mm | ● Automatic + hand-winding | ● 42 h | ● 25.6 mm | — | — | — | 3/9 |
ETA SA Manufacture Horlogère Suisse | ● 25 | ● 28,800 vph | ● 7.9 mm | — | ◆ 48 h / 54 h | ● 30 mm | — | — | — | 4/9 |
5 · EB 1612 maker not sourced | ● 17 | ● 18,000 vph | — | ● Hand-wound (manual) | — | — | — | ● KIF Parechoc | — | 5/9 |
6 · Grand Seiko 9S55 Grand Seiko | — | ● 28,800 vph | — | ● Automatic + hand-winding | ● 50 h | — | — | — | — | 6/9 |
7 · Lemania 2310 Lemania Watch Co. | — | ● 18,000 vph | — | — | — | ● 27 mm | — | — | — | 7/9 |
8 · ETA 2824 ETA SA Manufacture Horlogère Suisse | — | — | — | ● Automatic + hand-winding | — | — | — | — | — | 8/9 |
Valjoux SA | — | — | — | — | — | — | — | — | — | 9/9 |
Sources behind ETA 2892-2
- build.jewel_count = 21 (staged) cc1d9f88ac7d54656 · source (tier 2, read 2018-11-07)
- osc.frequency_vph = 28,800 vph (staged) c636fe466b14eb5f1 · source (tier 2, read 2018-11-07)
- geom.height_mm = 3.6 mm (staged) c27a40b2afda87f2f · source (tier 2, read 2018-11-07)
- wind.mode = Automatic + hand-winding (staged) cebf88cd274977f74 · source (tier 2, read 2018-11-07)
- power.reserve_typical_h = 42 h (staged) c088953c4c9a13652 · source (tier 2, read 2018-11-07)
- geom.diameter_mm = 25.6 mm (staged) c00e92a95200fd5c5 · source (tier 2, read 2018-11-07)
- disp.seconds_display = Central seconds (staged) c755a05d41217755d · source (tier 2, read 2018-11-07)
- osc.shock_protection = Incabloc (staged) c373b0ae2ab41e208 · scope: example movement, 2000 · source (tier 2, read 2018-11-07)
Sources behind ETA 2824-2
- build.jewel_count = 17 (accepted) c3c64e5d6db4a1449 · scope: Ranfft data sheet, the 17-jewel member of its 17/21/25 range · source (tier 2, read 2026-08-24)
- build.jewel_count = 21 (accepted) c452b2c32ce27477a · scope: Ranfft data sheet, the 21-jewel member of its 17/21/25 range · source (tier 2, read 2026-08-24)
- build.jewel_count = 25 (accepted) c050346174321c650 · scope: ETA Executions sheet, all four grades · source (tier 1, read 2026-08-24)
- osc.frequency_vph = 28,800 vph (accepted) cc44e5b785e21669d · source (tier 2, read 2026-08-24)
- geom.height_mm = 4.6 mm (accepted) c4f298ffde68eec2d · source (tier 2, read 2017-04-01)
- wind.mode = Automatic + hand-winding (accepted) c578221d05f3c2a61 · source (tier 2, read 2026-09-08)
- power.reserve_typical_h = 38 h (disputed) cfc4f36a874e37a75 · source (tier 2, read 2026-09-08)
- power.reserve_typical_h = 42 h (disputed) c5327776f21592c5c · source (tier 2, read 2023-12-17)
- geom.diameter_mm = 25.6 mm (accepted) c5bfffa3e81c53cde · source (tier 2, read 2026-08-24)
- osc.shock_protection = Incabloc (accepted) c32cc2be839390ad8 · source (tier 2, read 2026-09-08)
Sources behind ETA 2892-A2
- build.jewel_count = 21 (accepted) c883664dfe1c90664 · source (tier 2, read 2017-04-08)
- osc.frequency_vph = 28,800 vph (accepted) c37249858357e682e · source (tier 2, read 2026-08-24)
- geom.height_mm = 3.6 mm (accepted) c317a14f2c5db4a7c · source (tier 2, read 2017-04-08)
- wind.mode = Automatic + hand-winding (accepted) c096ea2919b267378 · source (tier 2, read 2026-08-24)
- power.reserve_typical_h = 42 h (accepted) ccde14740b2496f37 · source (tier 2, read 2026-08-24)
- geom.diameter_mm = 25.6 mm (accepted) c69c63d9c302a52b1 · source (tier 2, read 2017-04-08)
Sources behind Valjoux / ETA 7750
- build.jewel_count = 25 (accepted) cba4d8b174ed5e83d · source (tier 2, read 2026-08-24)
- osc.frequency_vph = 28,800 vph (accepted) ca1a5f79dd85427d8 · source (tier 2, read 2026-08-24)
- geom.height_mm = 7.9 mm (accepted) cf1f5448421ae60df · source (tier 2, read 2019-08-22)
- power.reserve_typical_h = 48 h (disputed) c72ec578a68cfc442 · source (tier 2, read 2026-08-24)
- power.reserve_typical_h = 54 h (disputed) c0cc8db73741bdfe6 · source (tier 2, read 2019-08-22)
- geom.diameter_mm = 30 mm (accepted) c7dbc35f4e1c98861 · source (tier 2, read 2019-08-22)
Sources behind EB 1612
- build.jewel_count = 17 (staged) c6b70686ad75e6758 · source (tier 2, read 2023-09-07)
- osc.frequency_vph = 18,000 vph (staged) c7d61aba8fab40f99 · source (tier 2, read 2023-09-07)
- wind.mode = Hand-wound (manual) (staged) c5fc04635d1c626eb · source (tier 2, read 2023-09-07)
- osc.shock_protection = KIF Parechoc (staged) cc41387e6d3c55e9f · scope: example movement, 1970 · source (tier 2, read 2023-09-07)
Sources behind Grand Seiko 9S55
Sources behind Lemania 2310
Sources behind ETA 2824
- wind.mode = Automatic + hand-winding (accepted) cf3f78875721d7304 · source (tier 2, read 2026-08-24)
Sources behind Venus 188 / Valjoux 7730
- Nothing on these 9 axes.
Elsewhere
This view answers “how do these differ”. For where they sit in time and descent, the universe; for what the corpus holds and what it does not know, the browse table and its facet coverage; for one caliber in full, its own page — every designation above links straight to it.