Several BaZi rules are disputed across schools. The engine commits to one answer for each. This page documents the choices honestly so a practitioner trained in a different lineage can see exactly where their reading would diverge from this site’s.
Why this page exists
BaZi has been continuously practised for over a thousand years across multiple regions, schools, and lineages. The result is a field where most rules are universally agreed (year and day pillars, the ten gods, the basic interactions) and a few are not (luck pillar direction edge cases, transformation conditions, symbolic star sets, day boundary).
A working calculator has to commit to specific rules. There is no way to be neutral. The honest move is to document the choices, explain the reasoning, and tell practitioners from other schools where they will see this engine disagree with theirs.
The engine’s default answers track the modern Hong Kong / Joey Yap lineage, which is the most-documented English-language standard and the body of work this site uses as its primary reference.
The conventions
Each entry below documents one rule the engine commits to, the reasoning behind it, and the alternative view a practitioner from a different lineage may hold.
01
Year boundary
立春
Engine rule:BaZi years start at Lìchūn (立春), the solar term that falls around February 4 each year, when the sun crosses 315° ecliptic longitude. Births before Lìchūn belong to the previous year's pillar.
Reasoning:This is the standard modern convention across all major lineages — Hong Kong, Taiwan, Singapore, Malaysia, and the mainland. There is no serious dispute. The engine ships a precomputed table of all 24 solar terms for every year from 1849 to 2101 so the boundary resolves to the second.
Alternative view:A few entertainment-grade calculators use January 1 as the year boundary. This is wrong by classical and modern standards alike, and produces an incorrect year pillar for anyone born in January or early February.
02
Day boundary
子初 23:00
Engine rule:The day pillar advances at 23:00, not at midnight. The 子 (zǐ) hour begins at 11 PM. A baby born at 23:30 on Tuesday belongs to Wednesday's day pillar.
Reasoning:Modern standardised convention used by Hong Kong Observatory, Singapore, Taiwan, and the Joey Yap lineage. The 子 hour is the first hour of the new day in classical Chinese timekeeping; treating 23:00 as the boundary keeps the hour pillar's relationship to the day pillar consistent for everyone born in the late-evening two-hour window.
Alternative view:Some classical sources and a minority of modern practitioners use midnight (00:00) as the day boundary, treating the 23:00–00:00 hour as 'late zǐ' belonging to the previous day. The engine does not support this convention; if you were trained in a school that uses midnight, the day pillar for births between 23:00 and 24:00 will differ here from your reading.
03
True solar time
Engine rule:Every chart is computed against the user's birth longitude, with the Equation of Time correction applied. Local clock time is converted to actual sun position at the birth coordinates before the pillars are derived.
Reasoning:Universal standard. Any practitioner using BaZi seriously corrects for true solar time; the mathematical reasoning is the same whether you trained in Hong Kong, Taipei, or Kuala Lumpur. Latitude is informational only; longitude does the work.
Alternative view:Most free online calculators skip this entirely and use local clock time as-is. This silently produces wrong charts for anyone born outside their timezone's central meridian, and is the single most common reason two charts of the same nominal birth time disagree on the hour pillar.
04
Luck pillar direction
大运顺逆
Engine rule:Direction is set by gender combined with the polarity of the year stem. Yang stem + male, or yin stem + female → forward through the 60-cycle. Yang stem + female, or yin stem + male → reverse.
Reasoning:This is the standard rule across the Hong Kong / Joey Yap / Lee Hung Fat lineages and the mainland modern textbooks. It is the rule encoded in every English-language BaZi book this site relies on as a reference.
Alternative view:A handful of classical sources adjust the rule with a month-stem modifier under specific conditions. The engine does not implement these modifiers — they are rare, lineage-specific, and not consistently documented in the sources we trust. Practitioners from those schools will see direction agree on most charts but diverge on the edge cases their tradition treats specially.
05
Luck pillar start age
起运
Engine rule:The first luck pillar's start age is computed from the actual distance between the birth datetime and the relevant solar term, using the classical conversion three days = one year.
Reasoning:The 3-day rule is the universal modern standard. The engine measures the distance precisely (in days, not weeks) and divides by three; siblings born a week apart can therefore have different start ages, which is the correct behaviour. No rounding to common values like eight or ten.
Alternative view:A few pre-Republic sources use four days = one year. The engine does not implement this. Some lineages also apply small gender-specific offsets (e.g. females start six months earlier in certain traditions); the engine does not implement these either. Where they apply, practitioners from those schools will see start ages off by one to three months versus this engine.
06
Hidden stem weighting
藏干
Engine rule:Each earthly branch contains one, two, or three hidden stems weighted by main qi (primary), secondary, and tertiary positions. The engine uses [0.7, 0.3, 0.15] for day master strength scoring and [0.5, 0.3, 0.15] for transformation detection.
Reasoning:The two weighting schemes serve different purposes. Strength scoring needs the main qi to dominate so the day master's elemental support is read clearly; the higher main weight (0.7) is closer to how practitioners weight 'rooting' qualitatively. Transformation detection needs a more conservative element balance to avoid false positives on charts where a marginal element dominance shouldn't trigger a 化气 reading; the 0.5 main weight produces fewer false transformations.
Alternative view:Several modern textbooks use a single weighting scheme — typically [0.6, 0.3, 0.1] or [1.0, 0.5, 0.2] — applied uniformly across both calculations. The engine's split is documented honestly here so practitioners can compare. We are tracking the asymmetry as a candidate for unification once the trade-offs are better understood empirically.
07
Climate balance
调候
Engine rule:For balanced charts, the climate adjustment element is read from the classical 调候 table derived from 穷通宝鉴 (The Classic of Climatic Influences). The table specifies the correct seasonal element for each of the ten Day Masters in each of the twelve months — 120 entries total.
Reasoning:穷通宝鉴 is the canonical source for 调候 across every major lineage. The engine encodes the table directly rather than deriving climate adjustment from a generic seasonal heuristic, which is what most free calculators do.
Alternative view:The current implementation has a small honesty gap: 115 of the 120 entries are populated against 穷通宝鉴; the remaining 5 (Yin Fire in metal months, Yin Earth in metal months, Yin Metal in earth-transitional months, Yin Water in metal months) currently fall back to a generic seasonal heuristic. This is documented and tracked. Charts in those specific stem-month combinations will see a slightly less precise climate prescription than charts elsewhere in the table. Wave 3 of the site backlog fills the gap.
08
Transformation structures
化气格
Engine rule:The engine detects the five classical 化气 transformations (甲己→土, 乙庚→金, 丙辛→水, 丁壬→木, 戊癸→火) using percentage thresholds: the transformed element must be ≥35% of the chart and the day master's native element must be ≤35%.
Reasoning:Percentage gates are a quantitative simplification of the classical structural conditions. Real 化气 detection in classical sources requires the stem pair to be adjacent (month-hour positions), the month branch to support the transformed element, and the opposing element to be absent or minimal. The 35% gates are an honest approximation that catches most true transformations and rejects most false ones.
Alternative view:Strict classical lineages will reject some charts the engine flags as 化气 — particularly weak charts with heavy element presence but no structural support for the transformation. The engine's confidence score on transformations is therefore lower than its confidence on standard structures. Wave 3 of the backlog refactors this to use proper structural conditions instead of percentage gates, including 假从 (false follow) detection.
09
Symbolic stars (15)
神煞
Engine rule:The engine implements 15 symbolic stars: Heavenly Virtue, Moon Virtue, Heavenly / Moon Virtue Combined, Nobleman, Peach Blossom, Travelling Horse, Sky Punishment, Sky Dog, Solitary, Widowhood, Academic, Golden Lock, Blade (羊刃), Kui Gang (魁罡), and Red Phoenix.
Reasoning:These 15 are the standard set used across the modern Hong Kong, Joey Yap, and Singapore lineages. The detection rules follow the formulas in the most-cited English-language references.
Alternative view:Several lineage-specific stars exist beyond this set — 童子煞 (Tóngzǐshā), regional folk stars, and Yin-stem variants of 羊刃 — and lineages disagree on whether yin stems carry 羊刃 at all. The engine does not include lineage-specific stars and treats yin-stem 羊刃 as weaker by detection rule. Practitioners using a wider star set will find some markers absent here.
10
魁罡 (Kui Gang) day list
魁罡
Engine rule:Kui Gang is detected on four day pillars: 庚辰, 庚戌, 壬辰, 戊戌.
Reasoning:These four days are the most commonly cited 魁罡 set in modern textbooks and the practitioner sources we rely on. The engine follows this convention exactly.
Alternative view:A minority of classical sources include additional days (notably 戊辰 and 庚午). The engine does not detect these. If your lineage uses the longer list, charts on those days will not get the 魁罡 marker here.
Where this engine sits in the field
The engine’s rule choices put it closest to the modern Hong Kong school, with some Singapore and Taiwan influences in the symbolic stars and structure detection. Practitioners trained in mainland Chinese textbooks will agree on most charts and disagree on the edges (day boundary, hidden stem weights, transformation conditions). Practitioners trained in Western pop-BaZi or entertainment-grade sites will see this engine produce different answers on roughly half their charts because most of those sites skip true solar time and use January 1 as the year boundary.
None of the disputed conventions affect the day master itself for the vast majority of births. The day master is read from the day stem, which only depends on the date (and the 23:00 day boundary for late-evening births). Two practitioners using different schools will almost always agree on the day master, the year pillar, and the month pillar. They will sometimes disagree on the hour pillar (true solar time), the luck pillar direction (rare edge cases), and the structure detection (transformation thresholds).
If your reading from another source disagrees with this engine on a specific point, the methodology page above should tell you which rule is responsible. If it does not, that is a documentation gap worth flagging — please report it.
Reporting errors
If you find an engine error — a chart that should resolve one way and resolves another, a day pillar that disagrees with verified historical data, a luck pillar direction that breaks the documented rule — please report it. Engine errors will be treated as bugs and fixed. The about page explains how validation works in practice and how the test suite catches regressions before they ship.