BaZi · Blog

How the Deep Oracle Timing Engine Works — Element-to-God Scoring for Luck Pillar × Annual Pillar

Deep Oracle 学术组 / 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:

  1. 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."
  2. 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.
  3. 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.
  4. 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

Curious how these ideas play out in your own chart? Compute your Four Pillars free with the deterministic engine.

Get your free chart
How the Deep Oracle Timing Engine Works — Element-to-God Scoring for Luck Pillar × Annual Pillar