アヒルのある日

株式会社AHIRUの社員ブログです。毎週更新!社員が自由に思いついたことを書きます。

確率の調整:1万回と1万倍

こんにちは!するどいプランナーです!
今回は「確率の調整:N回とN倍」についてのお話です。

前回はガチャを題材に確率のマクロな見方とミクロな見方について説明しました。
今回はミクロな見方について別の例を説明しますね。


◆たくさん繰り返す抽選
最近のスマホアプリだとクエストスキップ機能があったりして、毎回プレイしなくても報酬だけ獲得できるようになっているもの多いですよね。
スキップした場合でも確率で抽選したクエスト報酬を渡すことになるかと思いますが、それをどのように計算するのが良いでしょう?

 

例えばドロップ率1%のアイテムの抽選を1,000回繰り返す場合で考えてみましょう。
一番素直なやりかたは、抽選を1,000回繰り返すという方法ですよね。
ただこの方法は、抽選を1,000回繰り返すサーバー負荷が問題になったり、1,000回分の結果を送るという通信量が問題になったりします。

 

逆に一番負荷が少ないやり方は、期待値を使用する方法です。
1,000 x 1% = 10個
獲得した!とするわけですね。ただこれだと揺らぎが全くありません。
もちろんそれが意図した体感になるのであればよいのですが、揺らぎを出したい場合は工夫が必要そうです。

 

では抽選を1回だけ行い、その結果を1,000倍するのはどうでしょう?
1%で1,000個
99%で0個
となるわけです。これは揺らぎが大きすぎそうです。

 

◆ばらつき具合
1倍を1000回(=素直なやり方)
2倍を500回
4倍を250回
10倍を100回
どの場合もマクロな見方では期待値は同じになりますが、それぞれどれくらいばらつくのかを比較してみましょう。

f:id:surudoi_ahiru:20211202225505p:plain

N倍を大きくするほど、ばらつき具合も大きくなることが分かると思います。

特に注目すべきは「当選回数が0になる確率」ですね。ユーザーが一番つまらないと感じるであろう「1回も当たらない」という状況が、「1倍を1000回」だとほぼ0%ですが「10倍を100回」だと35%以上もあります。

これは体感に大きな差を与えそうですよね。実行時の負荷はユーザを待たせる時間にもつながりますから、なるべく倍率が高いものを選びたいところではありますが、ばらつきを理解したうえで一番体感が良くなるものを選びたいですね。


◆説明は重要
どの方法を取るにしても「ユーザーに対して嘘をつかない」ことは忘れないようにしましょう。例えば2倍を500回繰り返すなら「2倍スキップを500回実行しますか?」と言うなどです。
バレない嘘はないですからね。

 

◆まとめ

・抽選を繰り返すとき、回数が多いと工夫が必要になることがある
・ばらつき具合と負荷のバランスを取ろう
・嘘は付いちゃダメ