How day-picking (택일) is calculated

The math behind /days — read from the code, not a folk calendar.

The short answer

Bokki's date picker (택일, /days) does not consult a universal calendar of lucky and unlucky days. It builds your own Four Pillars chart once, then scores every candidate day in the next 45 days against that one chart: a day earns points if its element matches what your chart favors, if its branch harmonizes with your day branch, or if it carries the star your purpose needs (a wealth star for business, a travel star for a trip, and so on) — and it is thrown out entirely if its branch clashes with yours. The five results you see are just the highest-scoring days out of that scan, sorted and cut to the top five.

One chart, built once

pickGoodDays() calls getFourPillars(birthDate, birthTime) exactly once, at the top of the function, and everything downstream reads from that single result: the day master, the favorable and unfavorable elements (the same 억부/조후 용신 logic our 용신 article explains), and your own day branch. This matters because a chart has more than one branch that could stand in for “you” — the year branch and the day branch are different things — and the whole scoring pass has to agree on which chart it is reading, or two screens can quietly disagree about the same birth. This used to not be true. Preparing this article, we reread the code and found that the favorable/unfavorable elements were built from getFourPillars(birthDate, birthTime), while the year branch that 역마 (the travel star) reads was built from a second, separate call that dropped the birth time entirely. Most birthdays agree either way, but 입춘 (4–5 February) is a year boundary, and a birth time near it can put the two calls on opposite sides. For a birth on 4 February 1990 at 20:00, the correct chart's year branch is 午 (Horse), so 역마 is 申 (Monkey); the time-blind path produced year branch 巳 (Snake) and 역마 亥 (Pig) instead — a different travel star for the same person on the same date, in two Bokki screens. The function was fixed to read a single chart everywhere (commit ac1fea1, taekil.ts:234), and that exact 1990-02-04 case is now pinned by a regression test so the split cannot come back silently.

How a day's score adds up

Take a birth on 20 March 1995 at 07:25 and ask for travel days starting 1 September 2026. Every candidate day starts at a base score of 60. On 4 September 2026 the day's element is Metal, one of this chart's favorable elements, so the day gains +14. The day's branch is Snake, and for this chart (year branch Pig) yeokmaBranch() returns Snake as the travel star, so the day gains a further +12 — a final score of 86, the highest of the next 45 days. Two days earlier, 2 September, gains the same +14 for Metal and +10 instead because its branch (Rabbit) forms a six-harmony (六合) with the day branch (Dog) rather than carrying the travel star — 84, a close second. None of this is a probability; it is a ranking of the same 45 days against one chart, from highest total to lowest.

How one day's score is built — and why another day never gets onepickGoodDays() scans forward from a chosen date and scores each day against ONE chart, built once from the birth date, time and place. For a birth on 20 March 1995 at 07:25 (Seoul), asking for travel days from 1 September 2026: 4 September 2026 starts at a base of 60, gains +14 because the day's element (Metal) matches this chart's favorable element, and gains +12 because the day's branch (Snake) is this chart's travel star (역마), for a total of 86. Meanwhile 3 September 2026 falls on a Dragon day, which clashes (沖) with this chart's own day branch (Dog) — the engine skips it outright before scoring, so it never appears in the results at all, no matter how favorable its element might otherwise be.2026-09-04 · Fri · scoredbase60+14 favorable element (Metal)74+12 travel star (역마, Snake)862026-09-03 · Thu · Dragon daybase 60?clashes (沖) with day branch 戌 (Dog) — skipped before scoring, never shownone chart, built once — birth 1995-03-20 07:25 · day master Metal · day branch 戌 (Dog)
Why some days never show up at all

Two rules keep the list from padding out to 45 candidates. First, a hard skip: if a day's branch clashes (六冲) with your own day branch, that day is dropped before it is even scored — no element bonus, however favorable, buys it back in. In the chart above (day branch Dog), every Dragon-branch day in the 45-day window is a hard skip; four of them fall in that window and none appear in the result, even though one, 3 September 2026, carries the same favorable Metal element as the winning day. Second, a day with no bonus at all — base score 60 and nothing else — is left out rather than padded into the list; only 24 of the 45 scanned days in this example earn any score at all. The five you see are a genuine top five, not five results forced out of a shorter real list.

What we don't calculate

Bokki does not consult a traditional daily almanac (通書) — no 건제십이신, no 황도/흑도 day, no folk 손 없는 날 calendar. Every score comes from the relationship between the candidate day's pillar and your own chart, nothing else. For weddings we score only the spouse stars (財 for a man, 官 for a woman, both if gender is unknown) — not a full compatibility reading between two charts, and not the longer catalogue of wedding-specific taboos some almanacs keep. The scores are an internal ranking, not a probability: 86 does not mean an 86% chance of anything, and Bokki never claims a high-scoring day guarantees a good outcome. And the tool does not know your real schedule — it ranks the days you could pick from within the next 45, starting from today in your own timezone, nothing more.

← Pick my dates

Read next

Try /days — pick a date for your own chart
What is Saju? — the four pillars, explained
What is 역마 (yeokma)? — the travel star this tool reads
What is 용신 (yongsin)? — the favorable element this tool scores

Questions people actually ask

How does Bokki decide which days are good?

It builds your Four Pillars chart once from your birth date (and time, if you give it), then scores every day in the next 45 days against that chart — favorable element, harmony with your day branch, and a purpose-specific star — and shows the five highest scores.

Does a high score mean something good is guaranteed to happen?

No. The score is a ranking of 45 candidate days against your own chart, not a probability or a promise. Bokki reads energy and tendencies, never certainties.

Why don't I see all 45 days I asked for?

Two reasons. A day whose branch clashes (六冲) with your own day branch is skipped outright, however favorable its element. A day with no bonus at all — nothing matching your chart — is left off the list rather than padded in. Only days with a genuine signal are shown.

What is 역마 (the travel star), and why does it work differently from the other purpose stars?

The other four purposes (wedding, business, exam, move) score an element — wealth, resource, and so on. Travel scores a branch instead: 역마 is a fixed animal branch determined by which of four three-branch groups your year branch belongs to, not an element at all, so it is checked against the day's branch rather than its element.

Does /days use a different birth chart than my Saju reading?

No — both read the same Four Pillars, built the same way from the same birth date, time and place. An earlier version of this tool briefly built the travel star from a second, time-blind chart, which could disagree with the main reading for birthdays near 입춘 (4–5 February); that was fixed and is now pinned by a regression test.