Why AI Gets Bazi Charts Wrong (And How to Verify Yours)
AI does not calculate your Bazi chart, it predicts one. Here are the four calendar rules it breaks, and a five-minute check that catches a wrong chart.
Ask an AI for your Bazi chart and you will get one. Four pillars, a day master, ten gods, a five element count. It arrives in a tidy table within seconds, with no sign that anything was uncertain.
Ask a second AI. Then check both against a calendar engine.
They will not agree. Often the day pillar differs. Sometimes the year pillar does. Occasionally a model revises its own chart halfway through a conversation, unprompted, and does not mention that it changed anything.
The problem is simpler than that. AI never calculated your chart. It wrote one.
A language model predicts text. Hand it a birth date and time, and it produces the text most likely to follow, which is a Bazi chart shaped like the Bazi charts in its training data. That is a different operation from running a calendar, and the difference shows up in the pillars.
The machine is guessing, and we can measure how often
None of this is guesswork about how models behave. It has been benchmarked.
A University of Edinburgh study led by Rohit Saxena, presented at ICLR 2025, tested leading models on ordinary calendar questions: what day of the week a given date falls on, what the 153rd day of the year is. Accuracy was 26.3 percent. On reading analog clocks, 38.7 percent. The models tested included GPT-4o, Gemini 2.0, Claude 3.5 Sonnet, and Llama 3.2-Vision. A reasoning model, GPT-o1, did better on calendar tasks at around 80 percent, which still means one question in five went wrong.
The diagnosis from that work is blunt. Models do not run date algorithms, they predict answers from patterns in training data. Rare configurations, leap years, dates nobody happened to write about, those are where it falls apart.
Two more findings explain the mechanism. Research presented at EMNLP 2025 found that tokenizers chop calendar dates into fragments with no arithmetic meaning, so a date string can arrive as a scatter of unrelated pieces and the model never sees a date at all. A separate benchmark on non-Gregorian calendars, presented at ICLR 2026, found something the authors call Gregorian anchoring: even when asked inside another calendar system, models default back to Western date habits. Their conclusion is that temporal reasoning in these systems is mostly memorized rather than learned.
Now consider what that means for Bazi. Those benchmarks tested the Gregorian calendar, which has exactly one boundary rule: midnight. Bazi has four boundaries, and two of them are not midnight.
Four pillars, four different clocks
| Pillar | Changes at | What the boundary actually is |
|---|---|---|
| Year | Start of Spring (立春) | The sun reaching 315° of solar longitude, near 4 February |
| Month | One of twelve jie solar terms | An astronomical instant, not a calendar date |
| Day | Midnight, or 23:00, depending on the school | A continuous count with no astronomical marker |
| Hour | Every two hours | True solar time at the birth location |
A Gregorian question asks for one lookup. A Bazi chart asks for four, each with its own rule, and all four have to be right before the chart means anything. One wrong pillar changes everything downstream. It shifts the day master, which shifts all ten gods, which shifts the entire reading.
Where the charts actually go wrong
1. The year pillar changes at the wrong new year
Three different “new years” are in play, and they do not fall on the same day.
- 1 January, the Gregorian new year
- The lunar new year, 正月初一, which moves every year
- 立春, Start of Spring, which lands near 4 February
Bazi uses the third one. Nothing else.
Here is a case that separates them cleanly. In 1990, lunar new year fell on 27 January, and Start of Spring fell on 4 February at 10:14. Someone born on 1 February 1990 is therefore a Horse by the lunar calendar, six days into the new lunar year, and a Snake by Bazi. Their year pillar is 己巳, not 庚午. Run that week through a calendar engine and the switch is visible: 3 February still returns 己巳, and 4 February returns 庚午.
Ask a language model which applies to a 1 February 1990 birthday and you will get whichever answer appears more often in its training data. Popular writing about Chinese astrology talks about lunar new year far more than it talks about 立春.
2. The month pillar does not change on the first of the month
Bazi months begin at solar terms, and solar terms are instants, not dates. June 1990 contains parts of two Bazi months, because 芒种 (Grain in Ear) arrived on 6 June at 06:46.
- 5 June 1990: month pillar 辛巳
- 6 June 1990: month pillar 壬午
An AI that reads “born in June” and returns the Horse month (午) is right for most of that month and wrong for its first five days. This is exactly the kind of conditional boundary that pattern prediction handles badly. The month turns when the sun crosses a specific longitude, and that crossing drifts by a day or so every year. The Chinese almanac is built on those same crossings.
3. The day pillar cannot be looked up, only counted
Every other pillar is anchored to something in the sky. The day pillar is anchored to nothing. It is a 60-day cycle, counted continuously from a fixed reference point, and the only way to get it right is to run the count.
Five consecutive days in June 1990:
| Date | Day pillar |
|---|---|
| 13 June | 己酉 |
| 14 June | 庚戌 |
| 15 June | 辛亥 |
| 16 June | 壬子 |
| 17 June | 癸丑 |
There is no shortcut and no seasonal logic. It is a counter. Language models do not run counters, which is why the day pillar is the one they get wrong most often, and why it is the fastest thing to check.
The test is simple. Run the same birth details through two independent calculators. The day pillar has one correct answer, so if two engines disagree, one of them is broken. If you are comparing an AI against a real calendar engine and the day pillars differ, the AI is the one that is wrong.
4. The hour pillar needs the sun, not the clock
Two things complicate the hour pillar, and both are places where a model quietly gives up.
The first is true solar time. Clock time and sun time are not the same thing. A location east or west of its time zone’s central meridian is offset by four minutes per degree, and the equation of time adds or subtracts up to about sixteen more minutes across the year. In a place like western China, where the official clock runs on Beijing time, the gap between clock noon and solar noon is measured in hours. The hour pillar is built from solar time.
The second is the 子时 problem. The two-hour period around midnight straddles the end of one day and the start of the next, and schools disagree about when the day pillar rolls over. Some roll it at 23:00, some at midnight.
The two schools disagree, and both are staffed by people who know the system. Run a birth at 23:30 on 15 June 1990 through one engine and you get day pillar 辛亥, the 15th, with hour pillar 庚子. A school that advances the day at 23:00 gives 壬子 for the same moment.
Which convention is correct is a separate argument. What matters here is that a competent tool tells you which one it used. A model that generated a chart from training data cannot tell you, because it never picked one.
5. The luck pillars depend on data the model was probably not given
The ten-year luck pillars add two more rules. Direction depends on gender combined with the polarity of the year stem. Starting age depends on how many days separate the birth from the nearest solar term, divided by three.
That gives you the sharpest test in this article. Change the gender on the same birth details and the luck pillars must change completely. If they do not, the tool is not computing them.
The failure is quiet
A wrong calculator gives you an error. A wrong Bazi chart gives you a table.
Everything about the output looks right. The format is right, the terminology is right, and the tone is confident enough to stop you asking. A chart with a day pillar off by one is indistinguishable from a correct chart unless you check it against something that actually counts. Writers who have looked at this closely describe the same thing: the model produces the same confident register whether the pillar is right or wrong.
There is a worse version. Because the model regenerates text on every turn, it can silently change a pillar later in the conversation, and the user, who has no independent source to compare against, has no way to notice.
A five-minute check
You do not need to verify a chart by hand. You need four tests that a wrong chart cannot pass.
- Two engines, one answer. Run the same birth details through two independent calculators. The day pillar must match. If it does not, stop and find out why.
- The Start of Spring test. Calculate a chart for 3 February 1990 and another for 4 February 1990. The year pillar must move from 己巳 to 庚午. A tool that keeps it the same is using the lunar new year, or 1 January, and its year pillar is wrong for anyone born between those dates and 立春.
- The gender test. Switch the gender on identical birth details. The luck pillars must change direction.
- The solar term test. If the birth date falls within a day of a solar term, check the month pillar against the term’s exact time, not the date.
Any tool that fails one of these is not computing the chart, and the reading built on top of it is built on nothing.
Our own Bazi calculator runs on a calendar engine rather than a model, handles the 立春 year boundary and the solar term month boundaries, and shows the day master and element distribution. It is free and needs no account. Check it against a second tool too, which is advice we would give about any calculator, including ours.
Calculation and interpretation are different things
This article has been about calculation, so the line between calculation and interpretation needs to be precise.
A Bazi chart is a computation. Given a birth date, a time, and a location, there is exactly one correct set of pillars. It can be checked, reproduced, and audited. Getting it wrong is a factual error, not a difference of interpretation.
A Bazi reading is a tradition. Once the chart is correct, practitioners interpret it through frameworks such as the ten gods and element balance, and those frameworks carry their own internal logic and their own disagreements. Reading is where schools diverge, where experience matters, and where no two practitioners will say identical things. That is also where Bazi parts company with Western astrology, which reads a different sky entirely.
The trouble is that AI performs both parts the same way, by generating plausible text, and then presents both with the same confidence. A wrong day master cascades. It changes every one of the ten gods, because the ten gods are all defined relative to the day master. A reading built on a wrong day master is not a slightly off reading. It is a reading of a different chart.
One more limit applies even to correct charts. Bazi describes patterns and tendencies. It does not predict specific events, and there is no scientific evidence that it does. A responsible reading will not tell you whether you will marry on a particular date or whether a specific job will come through, and it will not give medical or financial advice. If a reading does those things, the calendar math is not the problem.
What to do with this
If you want your chart, get it from something that counts. Use a calendar engine, check the four boundaries above, and compare two sources before you trust either.
Then, and only then, is the interpretation worth having a conversation about. A correct chart is the floor. Everything else is built on it.
Frequently Asked Questions
Why does AI get Bazi charts wrong?
Because it does not calculate them. A language model generates the text that most plausibly follows your prompt, and a Bazi chart is a likely thing to follow a birth date. In benchmarks, leading models scored 26.3 percent on ordinary calendar questions such as identifying the day of the week for a given date. Bazi is harder than those questions, because it has four boundary rules instead of one: Start of Spring for the year, solar terms for the month, midnight or 23:00 for the day, and true solar time for the hour.
Can ChatGPT calculate a Bazi chart accurately?
Not reliably. The same prompt can produce different pillars on different runs, and the output stays confident either way. If you want to use a general AI for interpretation, calculate the chart first with a calendar engine, paste the finished chart into the conversation, and tell the model explicitly not to recalculate it. That separation, compute first and interpret second, is what practitioners who work with these tools recommend.
What is the most common Bazi calculation error?
The year pillar. Three different new years are in play, 1 January, the lunar new year, and Start of Spring (立春), and Bazi uses only 立春, which falls near 4 February. Someone born on 1 February 1990 is a Horse by the lunar calendar and a Snake by Bazi: their year pillar is 己巳, not 庚午. A model that leans on the more commonly written lunar new year gets this wrong every time.
How can I check whether my Bazi chart is correct?
Four tests. Run the same birth details through two independent calculators and confirm the day pillar matches. Test the year boundary by calculating 3 February 1990 and 4 February 1990, where the year pillar must change from 己巳 to 庚午. Switch the gender on identical details and confirm the luck pillars change. And check the month pillar against the exact time of the nearest solar term if your birthday falls near one.
Does a wrong Bazi chart still give a useful reading?
No. The ten gods are all defined relative to the day master, so a wrong day master changes every relationship in the chart, and a wrong year or month pillar changes the element balance and the luck cycles. The reading then describes a chart nobody was born with.
Read next: the Bazi guide for the full structure of a chart, the ten day master types to find your core element, or Bazi luck cycles for how the ten-year phases work once your chart is correct.