How your name's elements (발음오행) are calculated
The table behind /name — read from the code, and from the 1446 original.
The short answer
Bokki's name reading (발음오행, /name) turns each syllable of a Korean name into one of the Five Elements, using the sound the syllable starts with. 김 starts with ㄱ, a molar sound, which is Wood; 민 starts with ㅁ, a labial sound, which is Earth; 수 starts with ㅅ, a dental sound, which is Metal. That gives the chain 木 · 土 · 金. Then each neighbouring pair is read: Wood controls Earth (相剋, a tension), and Earth generates Metal (相生, a flow). Because the name holds both, Bokki reads it as mixed — one flow and one tension. That is the whole calculation. There is no score, no percentage and no ranking anywhere in it.
Only the first sound of each syllable
A Hangul syllable is a single Unicode character that packs three slots: an initial consonant, a vowel, and an optional final consonant. The code recovers just the first of those, by taking the syllable's position in the Hangul block and dividing by 588 — the number of vowel-and-final combinations each initial consonant owns. Everything after that division is discarded. This has a consequence worth stating plainly: 김 and 기 read identically, and so 김민수 and 감만소 produce exactly the same chain of elements. The nineteen possible initial consonants are not spread evenly across the five elements either — Wood has three (ㄱ ㄲ ㅋ), Fire five (ㄴ ㄷ ㄸ ㄹ ㅌ), Earth four (ㅁ ㅂ ㅃ ㅍ), Metal five (ㅅ ㅆ ㅈ ㅉ ㅊ), and Water only two (ㅇ ㅎ). Water has the narrowest gate of the five — though that is a fact about the table, not about names: ㅇ is one of the most common initials in Korean given names, so Water is not rare on the screen. The asymmetry is in the 1446 source, not something we chose.
Three names, three readings
박지훈 reads 土 · 金 · 水: Earth generates Metal, Metal generates Water. Every neighbour flows into the next, so Bokki reads it as a flowing name. 오예은 reads 水 · 水 · 水 — the same element three times. Same-element neighbours are neither generative nor controlling; the classical term is 比和, and since there is no controlling pair the reading is also a flow. 강민호 reads 木 · 土 · 水: Wood controls Earth, and Earth controls Water. Both pairs are tensions and none of them flow, so this one reads as a clash — which in Bokki's words is the grain of a strong character, not a fault. And 김민수, from the first section, sits in between: one tension and one flow, read as mixed. Those are the only three readings the function can return, and which one you get depends on nothing but the count of controlling and generative pairs.
Two mappings — and this is why answers differ
Here is the part most naming sites do not tell you. The correspondence between the five sound classes and the five elements exists in two versions that disagree about two of the five. The 訓民正音 解例本 — the 1446 commentary written by the scholars who designed Hangul — puts the labial sounds (ㅁ ㅂ ㅍ) with Earth and the guttural sounds (ㅇ ㅎ) with Water. Modern Korean naming practice mostly swaps those two, following a line of commentary from 1750 onward, written during the centuries when the 解例本 itself was lost — it was rediscovered only in 1940. Bokki follows the 1446 original, and says so on the screen rather than hiding the choice. How much does the choice matter? We ran all 6,859 possible three-syllable initial-consonant combinations through both mappings: 2,668 of them, 38.9%, land on a different reading. For two-syllable names it is 96 of 361, or 26.6%. 김민수 is one of them — under the mainstream mapping 민 becomes Water instead of Earth, every pair turns generative, and the same name reads as a flow instead of mixed. So if another site tells you something different about your name, neither of you is miscalculating: you are being measured with two different rulers, and only one of them says which ruler it is.
What we don't calculate
This reading is one branch of Korean name study, and a narrow one. We do not do 수리성명학 — the dominant modern school, which counts the stroke number of each hanja and reads the totals against an 81-number table. We do not do 자원오행, which reads the element of the Chinese character itself rather than its sound, so the hanja you were actually given never enters our calculation. We do not check 불용문자 (characters traditionally avoided in names), 항렬 (generational characters), or the shape of the name against a family register. We do not read the final consonant, though some schools do. And we do not score: there is no good name and no bad name here, no percentage, and Bokki will never suggest that anyone change their name — the reading is a mirror held up to a pattern of sounds, not a verdict on a person. If your name has no Hangul in it at all, Bokki says it cannot read it rather than romanising it and measuring the spelling instead.