FateMaster Research

Our Calculation Methodology

Every chart on FateMaster is computed by deterministic, versioned code following documented classical rules. This page discloses the whole pipeline — the corrections, the sources, the tests, and exactly where AI is and is not involved.

In one paragraph

FateMaster computes BaZi charts with deterministic algorithms — no AI, no randomness — in five stages: historical time zone resolution for the birthplace, historical daylight saving correction (124 countries and regions), true solar time conversion, the user-selected zi-hour convention, and year/month pillars bounded by astronomically computed solar terms. Interpretation text is drafted by AI from the finished chart, but no AI ever decides a pillar, a star, or a number. The engine is versioned (currently v30), covered by automated tests, and every improvement automatically reaches every previously saved chart.

Deterministic by Design

A birth chart is a calculation, not an opinion. Given the same birth moment, birthplace, and settings, our engine produces exactly the same chart every time — it is ordinary, inspectable program code following rules written down centuries ago, plus the timekeeping corrections that modern civil time makes necessary.

Three commitments follow from that. First, every rule we apply is documented on this site, with its classical source named. Second, every number we cite about the engine — how many countries, how many tests, how many verified stars — comes from the codebase itself and is updated when the code changes. Third, when schools of practice genuinely disagree, we say so openly and, where possible, let you choose the convention rather than silently picking one.

The Five Birth-Time Corrections, in Full

Four of the eight characters in a BaZi chart depend directly on the clock time of birth, so before any stem or branch is placed, the recorded time must be converted into the apparent solar time of the birthplace. That conversion has five stages, and each one can change the chart.

1 · Historical time zone resolution

Birthplace coordinates are resolved against the full historical time zone dataset, which keeps the regional boundaries that existed before 1970 — boundaries the commonly used simplified dataset merges away. For the 19 countries whose legal standard meridian is not a whole-hour offset, such as India at 82.5°E, a dedicated meridian table applies; everywhere else the meridian is derived from the legal UTC offset in force in the birth year, not the offset in force today.

2 · Historical daylight saving time

The engine carries the DST rules that were in force on the birth date for 124 countries and regions. That includes China's 1986–1991 summer time with its six different yearly windows, wartime double summer time in the United Kingdom, and 41 hand-verified standard-time override windows across 22 time zones for periods where generic DST detection provably fails — each window cross-checked against the IANA time zone database (2026b). Ambiguous and non-existent local times around clock changes are detected and flagged, never silently guessed.

3 · True solar time

Clock time becomes apparent solar time in two steps: a longitude correction of four minutes per degree between the birthplace and its standard meridian, then the equation of time, computed with a six-term trigonometric series rather than the common three-term shortcut. The equation of time alone swings between roughly −14 and +16 minutes over the year; the combined correction routinely exceeds half an hour and can move a birth across a two-hour branch boundary — or across midnight, changing the day pillar. Every affected pillar is recomputed after the correction.

4 · The zi-hour convention (23:00–01:00)

Classical schools disagree on whether the day changes at 11 pm or at midnight for births in the zi hour. We implement both conventions and save your choice with the chart. Under the early/late zi rule, the hour stem of a late-zi birth is derived from the next day’s day stem using the Five Rats formula (五鼠遁) — the detail the written tradition is unanimous about and casual implementations most often get wrong.

5 · Year and month boundaries, to the second

The year pillar and zodiac animal change at the astronomically computed instant of Lichun, not at Chinese New Year and not at midnight; the same boundary applies when a birth date is entered in the lunar calendar. Month pillars follow the exact instant of each solar term in the same way. A dedicated regression test locks the Lichun boundary in place so it can never silently regress.

Astronomical Calendar Foundations

Solar terms are computed from astronomical formulas with nutation corrections — the same class of calculation used in ephemerides — rather than read from coarse lookup tables. This matters at the edges: someone born hours before the Lichun instant belongs to the previous year, and someone born on the day of a term transition gets the month pillar of the correct side of that instant.

The engine accepts Gregorian and Chinese lunar birth dates, including leap months, for births from 1900 to 2100. Dates outside that range are rejected explicitly rather than silently producing a wrong chart. Luck pillar starting ages follow the classical three-days-per-year rule with the remainder carried down to the hour, yielding an exact starting date rather than a rounded age.

Chart Rules and Their Classical Sources

Interpretive structure follows the Ziping canon: Yuanhai Ziping (渊海子平) for the Day Master method, San Ming Tong Hui (三命通会) for symbolic-star conventions, Ziping Zhenquan (子平真诠) for pattern classification, Di Tian Sui (滴天髓) for elemental dynamics, and Qiong Tong Bao Jian (穷通宝鉴) for seasonal adjustment. Where a rule could be read more than one way, the convention we implement is stated in the relevant guide.

Hidden stems, weighted

Elemental strength counts the stems hidden inside each branch at three grades — principal 1.0, middle 0.7, residual 0.5 — instead of treating all characters as equal. This weighted model is what Day Master strength and favorable-element analysis are built on.

57 symbolic stars, verified

The Shen Sha engine derives 57 verified stars using San Ming Tong Hui conventions. It is validated against 39 fully annotated reference charts — every pillar labeled with its expected stars — and currently scores 100% recall and precision on that suite. The verification script ships with the codebase and can be re-run at any time.

25 chart patterns

Pattern classification covers the eight regular structures plus follow, dominant, and transformation patterns — 25 in all — including the advanced case where a three-branch combination rewrites the elemental balance of the whole chart before the pattern is judged.

Interactions, documented

Stem combinations and clashes, branch combinations, clashes, punishments, harms and destructions, partial and concealed combinations — the full interaction ruleset is published in our guides together with its classical sources, so any practitioner can check a chart against the books.

Engineering Practices

A versioned engine — currently v30

Every change to the calculation rules increments the engine version, and every change since v11 — 20 entries to date — stays in the source code. You never have to wonder which rules produced a chart.

Self-correcting saved charts

When a saved chart is opened, its stored version is compared with the current engine. Charts computed by an older version are automatically recalculated under the current rules and saved back — every fix reaches every user, with no stale results left behind.

86 automated time-handling tests

Time zone and daylight saving behavior is guarded by 86 automated test cases organized by country and rollout batch, from the United States and Europe through Indonesia and the post-Soviet zones, plus a dedicated regression test for the Lichun year boundary.

Re-runnable verification

Accuracy claims on this site are scoped and checkable: the symbolic-star suite (39 charts, 100% recall and precision) can be re-executed against the engine at any time. When we improve a rule, the suite is how we prove nothing else broke.

Where AI Is — and Is Not — Involved

The chart itself — pillars, hidden stems, ten gods, symbolic stars, patterns, luck cycles — is computed entirely by deterministic code. No AI model participates in placing a single character, and the same input always yields the same chart.

AI enters only after the chart is finished: large language models draft the interpretive text — personality readings, timing analysis, answers to your questions — grounded in the computed chart facts that are injected into the prompt. The division of labor is strict: the algorithm decides what is in the chart; AI helps explain what it may mean. If an interpretation ever contradicts the chart data, the chart data is authoritative.

Scope and Limits

BaZi is a classical metaphysical system. We build the most rigorous implementation of it we can, and we present the results as a framework for reflection — not as medical, financial, legal, or psychological advice. Consequential decisions deserve professional counsel and multiple perspectives; a chart can be one of them, never the only one.

Some charts are genuinely ambiguous — a birth minutes from an hour boundary, a true-solar correction that crosses a boundary, a late-zi birth where two conventions disagree. In those cases the calculator warns you and shows what changed, because an honest tool tells you when its own foundations are uncertain.

Corrections and Contact

If you believe a chart is computed incorrectly, we want to know: write to [email protected] with the birth data and the discrepancy. Confirmed issues are fixed in a new engine version, and because saved charts self-correct on their next open, the fix reaches everyone — including the chart you reported.

Methodology FAQ

Can my saved chart change?

Yes, by design. If we correct a calculation rule, the engine version increments, and any saved chart computed under an older version is recalculated the next time it is opened. A chart that changes is a chart that got more accurate. Every rule change since v11 — 20 to date — is logged in the source code.

Why does my chart here differ from another calculator?

Almost always because of birth-time preprocessing: whether historical daylight saving time was applied, whether clock time was converted to true solar time, which zi-hour convention was used, and whether the year pillar switches at Lichun or at Chinese New Year. Each of those choices can shift a pillar. This page documents exactly which rules we apply, so you can compare implementations point by point.

Did AI compute my chart?

No. Pillars, stars, patterns, and cycles are computed by deterministic code and are fully reproducible. AI is used only to write the interpretive text on top of the finished chart, with the chart facts supplied to it — it never decides any element of the chart itself.

I think my chart is wrong. What should I do?

First check the three usual suspects: birth time recorded under daylight saving, a birth in the 23:00–01:00 zi window, and a birthday near Lichun in early February — the calculator flags each of these cases. If the result still looks wrong, email [email protected] with the birth data; confirmed errors are fixed for everyone through the versioned self-correction mechanism.

Go deeper

See the methodology at work

Cast your chart with every correction on this page applied automatically — and every boundary case flagged honestly.