Squareの手数料は「五捨五入」


クレジットカード決済サービスを提供するSquareは手数料を「五捨五入」で端数処理している。

Squareのホームページより
Squareのホームページより

Squareが非公開ベースでIPO申請をしたことに関連し、Squareの手数料の端数処理がどのように行われているのかが気になって調べてみた。

クレジットカード決済処理に伴うSquareの手数料は、カードをスワイプした場合は2.75%(マニュアルで処理した場合は3.5%+15セント)。

これだと1セント未満の端数が発生することがあるので、その場合は1件ごとに端数処理してセントの単位に丸められる。

通常は「四捨五入」をしているものと想定されるが、これは公平なようで実は公平ではない。ちょうど真ん中の0.5セントが切り上げになるので、切り上げになる確率の方が若干高くなる。

たとえば2ドルの決済処理をしたときのSquareの手数料は5.5セント。これを四捨五入すると6セントとなり、手数料は実質3%ということになってしまう。

1件あたりの決済金額がある程度大きければそれほど影響はないが、少額の決済が多数あるような場合には、この誤差は結構大きくなる。

端数処理にはこの誤差を防ぐための方法がいくつかある。Squareのサポート情報によると、同社は「banker’s rounding(銀行家の丸め)」または「round half to even(偶数丸め)」という方式を採用しているそうだ。

四捨五入の判断の対象となる数字がちょうど真ん中の5の場合は、丸めた後の数字が偶数になるように丸めるというものだ。たとえば11.5セントなら12セントに、12.5セントでも12セントに、13.5セントなら14セントになるという具合だ。

端数の5は切り上げになることもあれば、切り捨てになることもあるので、いわば「五捨五入」ということになる。これは金融機関などで使用されている標準的な方法らしい。

しかし、これでもまだ完全に公平というわけではない。端数の直前の数字が偶数か奇数かに左右されるので、たまたま偶数が多ければ切り捨てに偏り、奇数が多ければ切り上げに偏る。

統計的には五分五分になるにしても、たまたま出た数字で運命が決まってしまうというのは完全に公平とは言えない。

これを解決するためにいくつか方法がある。たとえば「round half alternatingly(交互丸め)」という方法がある。これは最初に5が出てきたら切り上げ、次に出てきたら切り捨てる、というように交互に行うものだ。

これだと切り上げと切り捨ての確率は半々になるが、これでもまだ完全に公平とは言えない。処理件数が奇数のときはどちらかに偏ることになる。

完全に公平に処理することはできないのか。端数処理はなかなか奥深い。