Serial-Killer Astrology Claims Under Control-Matched Tests
N=60 natal charts, 59 dated attacks, and 83 expanded transit events: what survived, what failed, and why this cannot be used as behavioral screening.
Safety boundary: this is retrospective research on deceased or public historical criminal figures. It is not a diagnostic tool. It has zero authority to score, screen, assess, or predict behavior for living people.
True-crime astrology is full of confident claims: Scorpio is overrepresented, mutable signs hide double lives, Mars-Pluto makes violence obvious, the full moon triggers attacks, and minor bodies like Nessus or Lilith reveal the shadow material. Those claims are easy to cherry-pick from individual charts. The harder question is whether they survive controls.
We ran four separate retrospective tests:
| Test | Sample | Control strategy | Main readout |
|---|---|---|---|
| Natal chart scan | Tier 1 AA N=46; combined N=60 | Same-day random-time controls for houses; year-matched random-date controls for slower configurations | Primary AA cohort had no FDR survivors. Combined cohort had one Mars-Neptune hard-aspect pass. |
| Event-level transit scan | 59 confirmed murder/attack dates across four offenders | Shuffled the actual event dates across the four natal charts | Neptune hard transit to natal Sun/Moon survived; Mars, Pluto, Saturn, lunar, and mundane Mars-Uranus triggers failed. |
| Spree-peak day scan | 59 attack dates vs quiet days inside active spree windows | Compared murder dates against each offender's own non-murder days during the same spree range | No FDR survivors. Full/new moon, Mercury retrograde, Mars-Saturn tension, and tight Neptune peaks failed. |
| Expanded asteroid scan | 64 subjects and 83 confirmed events | Year-matched natal controls plus shuffled-event transit controls | No natal asteroid passes. Two transit asteroid anomalies survived: Lilith overrepresented and BU48 underrepresented. |
The short version
The obvious true-crime astrology memes mostly failed.
Scorpio emphasis did not hold up. Mutable dominance did not hold up. Mars-Pluto and Mars-Saturn natal hard aspects did not hold up. Full moons did not hold up. Mercury retrograde did not hold up. Spree-peak day triggers did not hold up. Nessus, Apophis, Lucifer, Chiron, and most other minor-body natal claims did not hold up.
The strongest surviving signals were narrower and less cinematic:
| Finding | Observed | Null mean | Lift | p-value | FDR read |
|---|---|---|---|---|---|
| Combined natal Mars-Neptune hard aspect | 23.3% | 11.7% | +11.7pp | 0.0070 | Passed in combined cohort; primary AA cohort did not pass FDR |
| Event-level Neptune hard transit to natal Sun/Moon | 57.6% | 30.3% | +27.4pp | 0.0010 | Passed q <= 0.10 |
| Asteroid transit: Mars/Saturn to natal 1181 Lilith | 28.9% | 17.8% | +11.2pp | 0.0050 | Passed q <= 0.10 |
| Asteroid transit: Mars/Saturn to natal 1998_BU48 | 7.2% | 21.4% | -14.2pp | 0.0010 | Passed q <= 0.10, but in the underrepresented direction |
That is not a license to claim "we can detect criminals in charts." We cannot. The sample is retrospective, selected, public, small, and ethically constrained. The only responsible interpretation is: under matched controls, many popular claims vanish, and a few narrow retrospective anomalies are worth writing down for replication.
Natal charts: most memes failed
The natal scan started from verified serial-killer birth data, then excluded pre-1900 births because the standard DE421 ephemeris used by the research stack covers 1899-07-29 through 2053-10-09. The primary cohort used only Tier 1 AA birth-record subjects (N=46). The combined readout used Tier 1 and Tier 2 subjects (N=60).
The test used two controls:
- Same-day random-time controls for house and angle claims. These keep the date constant and test whether the birth time creates unusual house placements.
- Year-matched random-date controls for slower planets, aspects, and signs. These control for generational and seasonal sky patterns.
The headline failures are important:
| Claim | Combined observed | Combined null | p-value | Result |
|---|---|---|---|---|
| Sun, Moon, or Ascendant in mutable signs | 70.0% | 70.5% | 1.0000 | Failed |
| Sun, Moon, or Ascendant in Scorpio | 20.0% | 24.4% | 0.4376 | Failed |
| Mars-Pluto hard aspect | 5.0% | 13.4% | 0.0649 | Failed |
| Mars-Saturn hard aspect | 11.7% | 17.7% | 0.2168 | Failed |
| Mars or Saturn in 8th/12th whole-sign houses | 35.0% | 31.2% | 0.5564 | Failed |
The one combined-cohort survivor was Mars-Neptune hard aspect:
| Cohort | Observed | Null mean | Lift | Cohen's h | p-value | Result |
|---|---|---|---|---|---|---|
| Primary AA N=46 | 23.9% | 12.2% | +11.7pp | +0.309 | 0.0140 | Raw signal; did not clear the primary FDR gate |
| Combined N=60 | 23.3% | 11.7% | +11.7pp | +0.311 | 0.0070 | Cleared q <= 0.10 in the combined readout |
This is a replication lead, not a product claim. The primary high-confidence cohort is the more conservative readout, and it did not produce an FDR-clean natal finding.
Event transits: Neptune survived, Mars did not
The event-level transit scan used 59 confirmed murder or attack dates across Ted Bundy, Jeffrey Dahmer, Richard Ramirez, and David Berkowitz. The control design shuffled the exact event dates across those four natal charts, preserving the calendar dates and the birth charts while testing whether the personal transit-to-natal alignment was unusual.
That matters because slow planets can look meaningful when a researcher picks one famous chart and one famous date. Shuffling the same dates across the same charts asks a cleaner question: was this person's chart unusually activated on that date compared with the same date assigned to another chart?
| Transit claim | Observed | Null mean | Lift | p-value | Result |
|---|---|---|---|---|---|
| Mars hard transit to natal Sun | 13.6% | 13.2% | +0.3pp | 1.0000 | Failed |
| Pluto hard transit to natal Sun/Moon | 0.0% | 5.5% | -5.5pp | 0.0470 | Raw underrepresentation; FDR failed |
| Saturn hard transit to natal Mars | 0.0% | 6.8% | -6.8pp | 0.0370 | Raw underrepresentation; FDR failed |
| Mars hard transit to natal Mars | 10.2% | 10.4% | -0.2pp | 1.0000 | Failed |
| Moon hard transit to natal Mars/Saturn | 16.9% | 24.6% | -7.7pp | 0.0919 | Failed |
| Mars or Saturn in natal angular houses | 50.8% | 56.4% | -5.5pp | 0.3956 | Failed |
| Neptune hard transit to natal Sun/Moon | 57.6% | 30.3% | +27.4pp | 0.0010 | Passed q <= 0.10 |
The practical reading is subtle: the common "Mars made them do it" style of transit claim did not survive. Neptune-to-luminary activation did, but it is a wide-window retrospective association, not a day-level trigger or a behavioral forecast.
Spree peaks: no day-level trigger survived
To test exact attack timing, we compared the same 59 attack dates against quiet days inside each offender's own active spree window. This is a stricter question: inside the same life period, same historical era, and same natal chart, do attack days differ from non-attack days?
No pre-registered spree-peak hypothesis survived FDR correction.
| Spree-peak claim | Observed | Null mean | Lift | p-value | Result |
|---|---|---|---|---|---|
| Mars-Saturn tension or Mars to natal Mars | 16.9% | 23.0% | -6.0pp | 0.2847 | Failed |
| Full or New Moon alignment | 16.9% | 13.1% | +3.8pp | 0.4605 | Failed |
| Moon conjunct natal Mars/Saturn | 5.1% | 5.6% | -0.5pp | 1.0000 | Failed |
| Mercury retrograde | 11.9% | 19.6% | -7.8pp | 0.1269 | Failed |
| Neptune tight hard transit to Sun/Moon | 11.9% | 19.4% | -7.6pp | 0.1489 | Failed |
This is the key guardrail for the Neptune result above. A wider Neptune transit-to-luminary association appeared in the event-level shuffle, but when we asked whether the exact peak days inside a spree were distinguishable from quiet days, even a tighter Neptune version failed.
Asteroids: no natal passes, two transit anomalies
The expanded scan tested 12 minor bodies across natal and transit hypotheses: Ceres, Pallas, Juno, Vesta, Chiron, Pholus, Nessus, Apophis, Lucifer, Lilith, 1996_TL66, and 1998_BU48.
This is exactly where the look-elsewhere problem gets dangerous. If you inspect enough minor bodies, something will always look archetypally perfect in one famous chart. The only way to keep that honest is to predefine the hypotheses and correct for the number of tests.
Natal asteroid claims produced no FDR-clean findings. Transit asteroid claims produced two:
| Asteroid transit claim | Observed | Null mean | Lift | p-value | Result |
|---|---|---|---|---|---|
| Mars/Saturn hard transit to natal 1181 Lilith | 28.9% | 17.8% | +11.2pp | 0.0050 | Passed q <= 0.10 |
| Mars/Saturn hard transit to natal 1998_BU48 | 7.2% | 21.4% | -14.2pp | 0.0010 | Passed q <= 0.10, underrepresented |
Notice the second result: it passed because it was lower than expected, not higher. That is one reason these outputs should stay in the research bucket until independent replication exists.
What this changes
This work does not make the product more predictive. It makes the product more careful.
The landing-page-safe claim is:
- Many easy true-crime astrology claims failed under matched controls.
- A few narrow retrospective anomalies appeared.
- None of these findings may be used to assess living people.
- The results are useful mainly as a methodological warning: controls matter.
That warning is the point. Without matched controls, astrology writing can make almost any famous chart look inevitable. With matched controls, the story gets smaller, stranger, and more honest.
Source files
The generated research artifacts are:
services/astro-api/research_output/serial_killer_analysis.jsonservices/astro-api/research_output/serial_killer_analysis.mdservices/astro-api/research_output/serial_killer_events.jsonservices/astro-api/research_output/serial_killer_events.mdservices/astro-api/research_output/serial_killer_spree_peaks.jsonservices/astro-api/research_output/serial_killer_spree_peaks.mdservices/astro-api/research_output/serial_killer_asteroids.jsonservices/astro-api/research_output/serial_killer_asteroids.md
The scripts live under services/astro-api/scripts/serial_killer_*.py.