← Back to research
methodology··6 min

We Ran 10,000 Permutation Tests on Astrology

What survived, what didn't, and why most published astrology findings won't replicate

Astrology has a replication problem. Most claims in astrology books — "Jupiter brings expansion," "Saturn return is a crisis," "ZR peak periods are culminations" — were arrived at by pattern-matching on small samples of people the author already knew were notable. That's how you generate hypotheses, not test them.

We spent last week stress-testing 26 of those claims against a cohort of 266 documented life-peak events and 252 documented setbacks, with a permutation test rigorous enough that small-effect noise can't sneak through.

Here's what survived.

The method in one paragraph

For each astrological claim, we computed the fraction of peak events where it fires. Then we shuffled which birth chart goes with which event date — 10,000 times — and computed the same fraction under each random pairing. If the real fraction is no different from the shuffled fraction, the claim carries no information: it's firing because of how common the configuration is in any population, not because it has anything to do with the events in question.

This is the permutation test. It's assumption-light and it's ruthless. Small effects that look meaningful in a book get crushed by it.

What survived at 10,000 permutations

Four hypotheses cleared the Benjamini–Hochberg correction at q=0.05 (5% false-discovery rate) after testing all 26:

  • Vedic benefic mahadasha (H6): people experiencing major life events — in either direction — are much more likely to be in a Vimshottari mahadasha ruled by Jupiter, Venus, Mercury, or the Moon than chance predicts (47.5% vs 37.3%, p=0.0001).
  • Climacteric year (H21): Valens, writing in the 2nd century CE, claimed age × 7 and age × 15 are crisis years. The "crisis" framing doesn't hold, but the timing does — people at ages divisible by 7 or 15 have elevated rates of major events (21.6% vs 14.7%, p=0.0012).
  • Jupiter mahadasha specifically (H7): Parashara's "Jupiter dasha expands" holds as a general event-timing signal (15.6% vs 10.7%, p=0.002), though not specifically for positive events.
  • Saturn return (H18): three windows at ~29, ~58, ~87 years. Classical tradition calls these crisis years. Our data says the opposite — peaks fire more often in Saturn-return windows than setbacks do (8.2% vs 4.8%).

What didn't survive

Most of the rest. Including:

  • Fixed-star fortune conjunctions (Robson/Brady: Aldebaran, Regulus, Spica on Jupiter/Venus/MC/ASC). 4.3% peak vs 4.2% null. Null.
  • Jupiter/Uranus midpoint on MC (Manda 2007 NCGR paper). Null.
  • Transiting Uranus to natal benefic (same paper). Null.
  • Dhana Yoga connected lords (Parashara, BPHS Ch.41). 38.7% peak vs 20.6% setback looks dramatic — but the permutation null is 38.2%. That's a demographic artifact of our cohort composition, not a signal.
  • Transit Jupiter conjunct natal Sun partile. Null.
  • Profection lord retrograde. Null.
  • Partile Venus harmonious. Null.

Note how many of these are famous. Null means null — no amount of explanation can rescue them, and you should be skeptical of any astrology writer who cites them as active principles without a real replication.

The most interesting finding: ZR peak is contrarian

Chris Brennan's Hellenistic Astrology (2017) makes a strong claim: Zodiacal Releasing L1 peak periods — when the active time-lord is angular to the Lot of Fortune — mark life culminations. It's central to modern Hellenistic practice.

In our data, peaks fire less often during ZR L1 peak than chance predicts. 21.6% observed vs 29.9% null, p=0.023. The direction replicated across both 200 and 10,000 permutations with stable effect size. This is not noise.

There are three ways to read this:

  1. ZR captures intensity of experience, not outcome valence — the windows might produce above-baseline rates of BOTH peaks AND setbacks, which in a peak-only test looks like a negative signal.
  2. Our event-dating convention might not match ZR's activation logic. Nobel announcements lag the work by years; lottery wins are sharp but lottery buying is continuous.
  3. The doctrine might be wrong as stated, or at least overstated.

Either way, the data is what it is. We've updated our production scorer to treat ZR peak as a negative weight until replication in a different cohort tells us otherwise.

What this means for product

We build a forecasting app that predicts daily luck scores from a user's birth chart. The question we care about is: does the model actually put real lucky moments in the top part of its score distribution?

Before this study, our trained logistic regression produced ROC AUC=0.505 — essentially random — with several backwards-signed weights. After replacing it with a research-anchored theory prior (weights proportional to peak-vs-setback gap, signs fixed by the permutation study), the lottery backtest shows:

  • Mean same-day percentile: 0.693 (random = 0.500)
  • Top-quartile rate: 30.2% (random = 25%)
  • Top-decile rate: 15.1% (random = 10%)

That's a 51% lift over random at the top decile. The signal is small — astrology isn't a lottery-prediction engine — but it's real and it's measurable, and the statistical methodology that got us there won't embarrass us when a skeptic asks for replication.

What's next

  • Expand the cohort. N=266 peaks lets us detect Cohen's h ≈ 0.15; we need N≈400 for h ≈ 0.10. The AstroDataBank scrape has more raw material we haven't ingested yet.
  • Replicate the surprise findings. win_saturn_partile_any at p=0.038 in the lottery cohort is interesting but wasn't pre-registered — it gets a held-out replication before we trust it.
  • Subgroup robustness. Do these signals hold for day-chart vs night-chart, AA-Rodden vs A-Rodden, 20th vs 21st century births?

Raw outputs, scripts, and a full hypothesis-by-hypothesis table with effect sizes, p-values, and both BH and BY FDR correction are in findings-2026-04-17-10k-permutation.md and expanded_analysis_fast.json.