BaZi · Blog
How the Deep Oracle Timing Engine Works — Element-to-God Scoring for Luck Pillar × Annual Pillar
Deep Oracle Engineering Desk · 2026-05-09 · 6 min read
What the timing engine answers
When a person sees their own BaZi chart, their first question is usually not "what is my chart" (that's structural reading) but "how will my career go in 2026," "is 2027 a good year to change jobs," "will I find romance next year." These are all timing questions — projecting the static chart onto a time axis.
Classical BaZi literature treats timing qualitatively: "this year meeting that god is highly auspicious," "clashing the day master brings disaster." These rules scatter across various texts and contradict each other across schools. Deep Oracle's timing-rating engine turns this qualitative tradition into a reproducible, contestable, tunable quantitative framework.
This article opens up how the engine actually works. Every auspicious score you see in the in-depth BaZi reading and the monthly forecast series (like rat-2026-january) comes from this flow.
Core data structures
The engine models each time unit (luck pillar / annual pillar / monthly pillar) as a TimingPillar object:
{
ganzhi: 'BingWu',
stem: { char: 'Bing', element: 'fire', polarity: 'yang' },
branch: { char: 'Wu', element: 'fire', hidden_stems: ['Ding', 'Ji'] },
startDate: ISO date,
endDate: ISO date,
type: 'dayun' | 'liunian' | 'liuyue',
}
And the native's chart is abstracted as:
{
dayMaster: 'Jia',
dayMasterElement: 'wood',
yongshen: ['water', 'wood'], // useful-god elements (multi-select)
jishen: ['metal'], // taboo-god elements
strengthVerdict: 'weak day master',
patternPrimary: 'Direct Officer Pattern',
}
Element-to-god relation mapping
To judge a time unit's auspicious value, the engine first computes "what role does this period's stem and branch elements play, relative to the native's useful god":
- Useful god (favorable): period element ∈ native's useful gods → strong positive score
- Supportive god: period element generates the useful god → moderate positive
- Neutral god: period element neither generates nor controls the useful god → 0
- Adverse god: period element controls the useful god → moderate negative
- Taboo god: period element ∈ native's taboo gods → strong negative
These five-tier relations are the engine's base scoring unit. Each time unit's stem contributes one score, branch contributes one, and the branch's hidden stems each contribute partial scores (weighted by hidden-stem priority).
Weighted aggregate scoring
A single time unit's total score is the weighted sum of its component scores:
- Stem (transparent element) weight: 40%
- Branch primary hidden stem: 35%
- Branch secondary hidden stem: 15%
- Branch residual hidden stem: 10%
The aggregate maps to five tiers:
- ≥ +60: 大吉 (major auspicious)
- +20 to +60: 吉 (auspicious)
- -20 to +20: 平 (neutral)
- -60 to -20: 凶 (adverse)
- ≤ -60: 大凶 (major adverse)
Compound luck-pillar × annual-pillar judgment
Luck pillars and annual pillars are two independent time layers, but what the native actually experiences is the superposition. The engine combines them with these rules:
- Luck pillar primary, annual pillar secondary: luck pillar score weighted 60%, annual 40%. The luck pillar is the ten-year "environmental base tone"; the annual is the single-year "specific event trigger."
- Clash detection: if the luck pillar branch and annual branch form a six-clash (Zi-Wu, Mao-You, Yin-Shen, Si-Hai, Chen-Xu, Chou-Wei), the overall score drops one tier. "Luck pillar and annual both clashing" is an explicit warning in classical literature.
- Three-combination / three-meeting amplification: if luck pillar + annual + a chart pillar form a three-combination (Shen-Zi-Chen water trine, Yin-Wu-Xu fire trine, etc.) or three-meeting (Hai-Zi-Chou water meeting, Yin-Mao-Chen wood meeting, etc.), and the combined element is the useful god → overall rises one tier.
- Special triggers at key positions: e.g. annual clashing the day branch (spouse palace) → relationship domain flagged separately.
Four-domain breakout scoring
Classical literature gives an overall judgment, but the native's lived experience is domain-specific — the same year can be major-auspicious for career, neutral for relationships, adverse for health. The engine breaks the aggregate score into four domains:
- Career: primary inputs are Officer stars (Direct Officer, Seven Killings) + Resource stars (the resource-generates-officer pathway) + Output (Hurting Officer attacks Officer) relations. Annual is Officer and is the useful god → career auspicious.
- Wealth: primary inputs are Wealth stars (Direct Wealth, Indirect Wealth) + Friend (peer competition for wealth) relations. Annual wealth star transparent + Friend not strong → wealth auspicious.
- Relationships: primary inputs are spouse star (opposite-polarity wealth or officer) + spouse palace (day branch) dynamics. Annual combining day branch → relationships auspicious; clashing day branch → adverse.
- Health: primary inputs are day master strength + degree to which the five-element balance is disrupted. Annual amplifies an existing imbalance → health warning.
Each domain has its own scoring formula, with the final output being four independent five-tier auspicious values. See the timing analysis section in the in-depth BaZi reading for the actual output.
Engine boundaries
The timing engine is a structural-tendency estimator, not an event predictor. It can tell you:
- Whether your chart's structure makes 2026 "auspicious" or "adverse" for career
- The general reason (useful god strengthened / taboo god dominant / spouse palace clashed)
- Which months that tendency peaks (the monthly breakout)
It cannot tell you:
- "You'll change jobs in June 2026" — specific events require real-world layering
- "How much money you'll make this year" — dollar figures aren't in the BaZi judgment scope
- "What specific health issues you'll have" — medical diagnosis is a professional domain that BaZi cannot replace
Relationship to classical literature
The engine's scoring rules aren't designed in a vacuum — each maps to a classical BaZi proposition:
- "Useful god dominant is highly auspicious" → useful god layer's positive score
- "Clashing the day master brings disaster" → taboo god layer's negative score + clash detection
- "Three-combination wealth pattern brings money" → three-combination detection + wealth domain breakout
- "Year and luck pillar both arriving brings serious misfortune" → luck pillar + annual identical-character + native's taboo god triggers warning
But classical rules contradict each other — some texts say "Direct Officer meeting Seven Killings is necessarily inauspicious," others say "officer-killings mixed is not necessarily harmful." The engine makes explicit choices on these contradiction points, with each choice backed by a methodology citation. See Deep Oracle's BaZi methodology.
Relationship to the four useful-god schools
Timing scoring's foundation is the useful god, and useful-god selection itself has four-school divergence (see the four useful-god decision schools).
Deep Oracle defaults to the strength-balancing school's useful god as input to the timing engine, but also outputs a parallel scoring computed from the climate-adjustment school's useful god for cross-reference. This matters — the same chart can have opposite timing scores under different schools, and surfacing this divergence is more honest than pretending one answer.
Tunable thresholds, contestability
All engine thresholds — the ±60 cutoffs for major-auspicious, the 60%/40% weighting between luck pillar and annual, the specific four-domain formulas — are tunable. When we have low confidence on a particular threshold, the in-depth BaZi reading marks the output as "low confidence." When a native or fellow practitioner disagrees with a specific judgment, they can trace it back to the specific threshold and formula — not stopped at "the black box says inauspicious so it's inauspicious."
YMYL framing
The timing-rating engine is a cultural interpretive framework, not a substitute for medical advice, psychological diagnosis, financial planning, or legal counsel. For health, financial, or relationship decisions with real consequences, please also consult licensed professionals.
Going further
- See your own chart's timing scores: in-depth BaZi reading.
- The four-school useful-god decision flow that feeds the engine: useful-god decision framework.
- Full methodology: Deep Oracle BaZi methodology overview.
- Specific monthly judgments: see the monthly forecast series in the BaZi insight library.