プログラム悪戦苦闘日記

はてなダイアリーからの移行(遺物)

オレ流 ヨドバシ式ポイント考察

 10%ポイント還元 = 10%引き なのだろうか?という疑問が前からあったので、
計算してみることにした。
 
n回目の買い物後に x_{n}ポイントが溜まっているとする。
a円の買い物をして、pポイント還元されるとすると、

x_{n+1} = p(a - x_{n}) (n = 0, 1, 2, ...) --- (1)

となる。ただし、全てのnに対してa - x_{n} >= 0(常にポイント残より買い物額のほうが多い)、
[tex: 0

x_{n} = (x_{0} - \frac{pa}{1+p})(-p)^n + \frac{pa}{1+p}
   = -\frac{pa}{1+p}(-p)^n + \frac{pa}{1+p} --- (2)

となる。
 さて実際の割引率:αを、

α = 1 - 実際に払った額 / 割引無しのときの支払額

で定義すると、n回目の買い物後における実際の割り引き率\alpha_{n}は、

\alpha_{n} = 1 - \frac{\Bigsum_{n}a - \Bigsum_{n}x_{n}}{\Bigsum_{n}a}
   = 1 - \frac{an - \left\{ -\frac{pa}{(1+p)^2}(1 - (-p)^{n+1}) + n\frac{pa}{1+p} \right\}}{an} --- (3)

となる。しかし、このままではよく分からないので、この店には常連で買い物をしているとしよう。
すなわち(3)式を n -> ∽ としてみる。

\alpha = \frac{p}{1+p} (n -> ∽) --- (3)'

(3)'式に典型的なポイント還元率 p = 0.1 を入れてみると、α = 0.091 になる。
すなわち、「10%ポイント還元 = 9.1%引きと等価」ということだ。
 さらに(2)も n -> ∽ にして、常にどのくらいポイントが手元に残っているかを求めると、

x = a\frac{p}{1+p}

となり、p = 0.1 のとき買った額の9.1%が使い切れていな事がわかる。
 さて、もう一度(3)と(3)'を見てみよう。(3)式で n -> ∽ にしたとき、 -\frac{pa}{(1+p)^2}(1 - (-p)^{n+1})の項が
0に収束しているため、影響が加味されていない。この項は元の漸化式(2)では、 -\frac{pa}{1+p}(-p)^nの項の和に相当する。
すなわち、「n回目の買い物」の寄与がなくなってしまっているのだ。つまり無限回の買い物後では、
ポイントが残ることによる割引率低下が、実際の買い物額(=∽)に対して、なくなってしまっているのである。
 そのため、実際には9.1%より低いということだ。(3)式に対して、n = 10と100のときのαを計算してよう(p = 0.1)。

n = 10  \alpha_{10} = 0.083
n = 100  \alpha_{100} = 0.090

100回位買い物をするとようやく9%くらいの割引になるが、10回位では8.3%とかなり割引率が悪いといえる。
つまり、数回しか訪れないような店では、ポイントカードを作るのは手間がかかるだけで、ほとんど還元されないといえるだろう。
 
まとめ

  1. 10%ポイント還元での実質割引率は9.1%だ(計算式: \frac{p}{1+p} p:還元ポイント)
  2. でも実際にはもっと低い。10回位では8.3%しか割引されていないのと同じになる。

 
 
 今回はプログラムとは全然関係ない話なのでありました。