Fixing Riichi Mahjong Scoring

1 han 40 fu. How much does everybody owe ya? Well…

If you’re not dealer, and self-drew the winning tile, it’s 700 points from the dealer and 400 points from everybody else, for a total of 1500 points. If I dealt into you, instead I need to pay out 1300 points.

If you are dealer, everybody pays out 700 points on tsumo, for a total of 2100 points, and the payer owes 2000 points on ron.

Huh???

I don’t think I’ve ever heard anybody talk positively about the riichi scoring process. With the recent surge of interest in the game in the west, more and more people get to experience the joy of looking up scores in a table. Yay!

After reading a few of the more dramatic proposals to simplify scoring, I started to wonder what exactly about the score calculation process made it so finicky in the first place. What I discovered was that there’s actually a pretty simple mathematical explanation, that has a fairly straightfoward patch to fix the process, that I’d never seen proposed as a solution!

Does Riichi scoring even need to be fixed?

In short, NO. The current scoring system is widely adopted, and once you’ve memorized the scoring table, you don’t need to learn it ever again or even care about how scores are calculated. I just wanted to see what would happen if I messed with the scoring formula. If that answer’s good enough for you, close the tab and continue on with your day!

That being said, here are a few experiences that I have had multiple times:

  1. When trying to convince Discord jongers to visit local clubs, a common excuse is that they don’t want to learn how to score hands manually, without Mahjong Soul doing it for them
  2. When at tables with inexperienced players, calculating payments and settling score totals significantly bogs down the pace of play

And this is even occuring at local meetups where expert-level players are available to consult. If you’re just dipping your toes in the game for the first time, or trying to start a club from scratch, you don’t have that support network to call on. From my perspective, this makes the scoring system an accessibility problem, and hinders the growth of the game at the grassroots level.

Why scoring is so complicated in the first place

In its most basic form, the mathematical formula to calculate score is:

Raw Value = (20 + fu) × 2han
Converted Payment = Modifier × Raw Value

Where the payment modifier is 1x for non-dealer tsumo from non-dealer, 2x for all other tsumos, 4x for non-dealer ron, and 6x for dealer ron.

In previous generations, this formula was used verbatim to calculate score. Check out this scoring table from decades past:

Scoring table from an old version of riichi

This scoring table is gigantic, needs point precision down to the tens, and has a absolutely miniscule minimum score of 80. Over the years, a number of simplifications (sound familiar?) were added to the original process:

  1. Fu is rounded up to the nearest 10 before calculating raw score
  2. Two yaku related to seat position and dice rolling, collectively referred to as bazoro (場ゾロ), are now baked into the calculation for total han
  3. Converted score is rounded up to the nearest 100
  4. Score scaling is capped with the use of limit hands (mangan etc.)

With these changes, score calculation today now looks more like:

Raw Value = ⌈20 + fu⌉10 × 2(2 + han)
Converted Payment = 100⌈Modifier × Raw Value⌉

Scoring table from the Seattle mahjong community

And now we can use math to demonstrate why scoring is so cursed: by factoring prime numbers out of the formula, we can see that raw value will always be a multiple of 24×5=80. However, since the converted score is rounded up to the nearest 100 points, your actual point payment is instead always a factor of 22×52=100.

Since the two scale factors don’t share prime factorizations, the raw and converted payments will only ever perfectly line up when fu is a multiple of 25. Moreover, since the nearest-100 rounding occurs after payment modifiers are applied, the converted payments on the score table we all love to hate will never scale consistently with raw score. What a mess!

Why I don’t like the commonly proposed simplifications

The common proposals either throw the concept of fu out entirely and make score values 1000/2000/4000/8000 across the board, or simplify the cases down to 30/40/50 fu.

I’m actually a fan of fu as a concept. The score potential from big fu hands is non-trivial, which adds more opportunities for playmaking and adds excitement to the game. So what I would like to attempt, instead of simplifying the scoring system, is to fix the process to anneal the pain points introduced over decades of rule changes.

Let’s try to fix the scoring formula!

We have a mismatch in prime factors between raw and converted score, so multiplicative factors in the score formula are good targets for modifications. One such low-hanging fruit is bazoro, which is a fixed constant that only serves to modify base han count, and currently acts like a flat 4x multiplier to score. Since we have too many factors of 2 in the raw score factorization and not enough multiples of 5, the logical choice is to change bazoro from a 4x to a 5x multiplier.

New raw value calculation

Raw Value = ⌈20 + fu⌉10 × 5 × 2han

Fu1 Han2 Han3 Han4 Han5 Han
1515030060012002400
2020040080016003200
25250500100020004000
30300600120024004800
40400800160032006400
505001000200040008000
606001200240048009600
7070014002800560011200

As a result of the change to bazoro, the raw score is now guaranteed to be an exact factor of 100 in most situations, removing any need for secondary rounding. This in turn dramatically simplifies the calculation for converted payments.

Let’s see how this change affects the payment table with modifers applied. I’ve also added a new row calculation for a 15 fu hand – more on that later.

Attempt #1: 5x bazoro, no additional adjustments

Non-Dealer
1 han2 han3 han4 han
20 fu1600
(800/400)
3200
(1600/800)
6400
(3200/1600)
25 fu2000
(1000/500)
4000
(2000/1000)
Mangan
30 fu1200
(600/300)
2400
(1200/600)
4800
(2400/1200)
Mangan
40 fu1600
(800/400)
3200
(1600/800)
6400
(3200/1600)
Mangan
50 fu2000
(1000/500)
4000
(2000/1000)
ManganMangan
60 fu2400
(1200/600)
4800
(2400/1200)
ManganMangan
70 fu2800
(1400/700)
5600
(2800/1400)
ManganMangan
Dealer
1 han2 han3 han4 han
20 fu2400
(800Ɐ)
4800
(1600Ɐ)
9600
(3200Ɐ)
25 fu3000
(1000Ɐ)
6000
(2000Ɐ)
Mangan
30 fu1800
(600Ɐ)
3600
(1200Ɐ)
7200
(2400Ɐ)
Mangan
40 fu2400
(800Ɐ)
4800
(1600Ɐ)
9600
(3200Ɐ)
Mangan
50 fu3000
(1000Ɐ)
6000
(2000Ɐ)
ManganMangan
60 fu3600
(1200Ɐ)
7200
(2400Ɐ)
ManganMangan
70 fu4200
(1400Ɐ)
8400
(2800Ɐ)
ManganMangan

Cool, now fu and han progressions are consistent across the entire board! The increase in bazoro also inflates scores by 20%, but relative hand values remain the same as before, so you should in theory be able to bump starting score up to 30,000 and call it a day.

The main downside is that the most common hand fu value of 30 no longer scales as a nice multiple of 1000. I’m a big fan of the dozenal system, so the change in 30 fu progression from 1000/2000/4000 to 1200/2400/4800 is actually pretty cool in my book. Most other people would rather use 1000x scaling, though, so this is probably a dealbreaker for everybody else on the planet.

As an aside, in addition to being exact factors of 100, almost every raw score is also an exact factor of 200. If you’re a fan of big honba, you might recognize this as an opportunity to raise the repeat bonus from 100 to 200 points per stick.

Fu rescaling

But what if you really wanted that nice clean multiple of 1,000 for a 30 fu hand? The 25 fu column still uses this progression, so one option would be to nerf the base hand value from 30 to 25 fu. But then this would also affect the special-cased hand values for pinfu tsumo and chiitoi, so what happens to those? And how does this affect game strategy, since the different fu rounding breakpoints change the relative value of hands?

Attempt #2: 15 fu base hand value

Raw Value = ⌈15 + fu⌉10 × 5 × 2han
Pinfu tsumo is worth 20 fu
Chiitoi is worth 20 fu

Non-Dealer
1 han2 han3 han4 han
20 fu1600
(800/400)
3200
(1600/800)
6400
(3200/1600)
25 fu1000
(600/200)
2000
(1000/500)
4000
(2000/1000)
Mangan
30 fu1200
(600/300)
2400
(1200/600)
4800
(2400/1200)
Mangan
40 fu1600
(800/400)
3200
(1600/800)
6400
(3200/1600)
Mangan
50 fu2000
(1000/500)
4000
(2000/1000)
ManganMangan
60 fu2400
(1200/600)
4800
(2400/1200)
ManganMangan
70 fu2800
(1400/700)
5600
(2800/1400)
ManganMangan
Dealer
1 han2 han3 han4 han
20 fu2400
(800Ɐ)
4800
(1600Ɐ)
9600
(3200Ɐ)
25 fu1500
(500Ɐ)
3000
(1000Ɐ)
6000
(2000Ɐ)
Mangan
30 fu1800
(600Ɐ)
3600
(1200Ɐ)
7200
(2400Ɐ)
Mangan
40 fu2400
(800Ɐ)
4800
(1600Ɐ)
9600
(3200Ɐ)
Mangan
50 fu3000
(1000Ɐ)
6000
(2000Ɐ)
ManganMangan
60 fu3600
(1200Ɐ)
7200
(2400Ɐ)
ManganMangan
70 fu4200
(1400Ɐ)
8400
(2800Ɐ)
ManganMangan

A small fudge factor is applied to non-dealer 1han 25fu to make sure the final point tally comes out to 1000 instead of 1100. Pinfu tsumo also gets a big buff, as scoring it at a value of 15 fu would drop the raw score to 60% of 1han 3025fu instead of the 66% in the original score table. The interpolated 20-25-30 fu progression is kinda awkward, too.

Attempt #3: 10 fu base hand value

Raw Value = ⌈10 + fu⌉10 × 5 × 2han
Pinfu tsumo is worth 15 fu
Chiitoi is worth 15 fu

Non-Dealer
1 han2 han3 han4 han
15 fu1200
(600/300)
2400
(1200/600)
4800
(2400/1200)
20 fu800
(400/200)
1600
(800/400)
3200
(1600/800)
6400
(3200/1600)
30 fu1200
(600/300)
2400
(1200/600)
4800
(2400/1200)
Mangan
40 fu1600
(800/400)
3200
(1600/800)
6400
(3200/1600)
Mangan
50 fu2000
(1000/500)
4000
(2000/1000)
ManganMangan
60 fu2400
(1200/600)
4800
(2400/1200)
ManganMangan
70 fu2800
(1400/700)
5600
(2800/1400)
ManganMangan
Dealer
1 han2 han3 han4 han
15 fu1800
(600Ɐ)
3600
(1200Ɐ)
7200
(2400Ɐ)
20 fu1200
(400Ɐ)
2400
(800Ɐ)
4800
(1600Ɐ)
9600
(3200Ɐ)
30 fu1800
(600Ɐ)
3600
(1200Ɐ)
7200
(2400Ɐ)
Mangan
40 fu2400
(800Ɐ)
4800
(1600Ɐ)
9600
(3200Ɐ)
Mangan
50 fu3000
(1000Ɐ)
6000
(2000Ɐ)
ManganMangan
60 fu3600
(1200Ɐ)
7200
(2400Ɐ)
ManganMangan
70 fu4200
(1400Ɐ)
8400
(2800Ɐ)
ManganMangan

The nice 1000 point progression from the 25 fu row is forsaken once again to make progressions a little more consistent, and just like before pinfu tsumo and chiitoi are smushed together in a new raw value entry for 15 fu. The most common hand score of 1han20fu instead becomes a multiple of powers of 2… wait that’s actually pretty easy to remember too.

The main issue with this system is that dropping starting fu by so much has a big impact on hand value. For example, getting 10 extra fu gives you a 50% buff to score here, whereas in the existing system that same hand would only be worth 33% more.

(UPDATE: I have since learned that 10 fu base value was the original norm, possibly from before mahjong was imported into Japan)

Will anybody even try to adopt one of these scoring systems for themselves?

The sniff test here is whether the new score tables are actually an improvement over the existing ones. The self-consistency of point progressions within each row of fu and through payment modifiers is a definite upgrade, while the progressions down each column don’t seem particularly easier or more difficult than before.

Seems like a win, but the main hurdle is that none of these fixes are just drop-in-and-replace over the existing scoring system. Just like with online communities, network effects and switching costs make each additional suggested change a compoundingly worse proposition, and there’s up to three possible rule tweaks reported here, depending on the system used.

You also have to take into account the transition period when some places try to adopt one of the new systems while others keep on using the existing one. Players now need to navigate both systems, and sooner or later somebody is going to make a big miscalculation in a high-stakes game because they have too many scoring systems saved in their mental stack.

The future of riichi scoring

If nothing else, I think the 5x bazoro tweak is so compelling that it warrants serious consideration. The changes to fu, on the other hand, probably cook too hard and need more time in the kitchen first.

Converted payments table for 5x bazoro scoring

The fixes proposed here focus entirely on the score calculation aspect rather than keeping the holistic goal of accessibility in mind. In other words, there’s a good chance it misses the forest for the trees when it comes to making genuine improvements to the game of mahjong.

If I were to make a prediction, I’d wager the most likely outcome would be the elimination of fu as a concept while adding some kind of bonus for hands with large amounts of triplets and quads.

This article was updated on August 24, 2025