ポイント20%還元で100円の商品を買うとする。 所持金は1000円からスタート | 現金 | 商品 | ポイント | | 1000 | 0 | 0 | | 900 | 1 | 20 | | 800 | 2 | 40 | | 700 | 3 | 60 | | 600 | 4 | 80 | | 500 | 5 | 100 | | 500 | 6 | 0 | | 400 | 7 | 20 | | 300 | 8 | 40 | | 200 | 9 | 60 | | 100 | 10 | 80 | | 0 | 11 | 100 | | 0 | 12 | 0 | 1000円で12個買えた。 現金割引で1000円で12個買おうとすると割引が16.7%である必要がある。 現金割引で500円で6個の場合も同じになる。 ポイント還元しながら買った場合はどうか。 | 現金 | 商品 | ポイント | | 1000 | 0 | 0 | | 900 | 1 | 20 | | 820 | 2 | 16 | | 736 | 3 | 16 | | 652 | 4 | 16 | | 568 | 5 | 16 | | 484 | 6 | 16 | | 400 | 7 | 16 | | 316 | 8 | 16 | | 232 | 9 | 16 | | 148 | 10 | 16 | | 64 | 11 | 16 | | -20 | 12 | 0 | #!/bin/sh money=1000 point=0 while [ $((money + point)) -ge 100 ]; do pay=$((100 - point)) money=$((money - pay)) point=$((pay / 5)) # point = pay * 0.2 echo "$money $point" done 1020円で12個買えることになる。 所持金すべてをつかってポイント還元で買う(最初の例のようにポイントをまとめて使う方法)と 所持金 所持金 x ポイント還元率 購入数 = ------ + ----------------------- 単価 単価 所持金 x (1 + ポイント還元率) = ----------------------------- = (a). 単価 いっぽう現金割引で買うと 所持金 購入数 = ----------------------- = (b). 単価 x (1 - 現金割引率) なので同じだけ買うなら (a) = (b) で 1 (1 + ポイント還元率) = ---------------- (1 - 現金割引率) となる。たとえば現金割引16%(0.16)はポイント還元率が19%(0.19)に相当。 くそめんどくさいなぁ。横軸を現金還元率(%)で縦軸を等価なポイント還元率とグラフはこのようになる。
もっと還元率の高い方をみると、もし現金99%引きだとポイント10000%還元(つまり払ったお金の100倍がポイントになる)というメチャクチャな世界になっている。 税金とかどうなるのかなぁ。