比方说,我必须使用优惠券在24小时内实现100的销售目标。现在,由于赎回率永远不会是100% (通常在20-50%之间变化),我必须浮动更多的优惠券数量,并跟踪发生的销售,销售发生的速率等。我的方法是:分配每小时的预期销售量(24小时中的第5天)。假设赎回率为20%。所以要浮动的票面利率是25美元。如果我在那个小时内获得了3次销售,那么第二个小时的目标销售将是2(前一小时)+5= 7。但兑换较少(8%,因为只有2个人兑换),所以我将浮动7/8% = 88张优惠券。25 -2 = 23已经存在。所以我将浮动88-23 = 65的优惠券,以此类推。
发布于 2011-04-01 03:21:20
只需在优惠券上打印前100张优惠券有效即可。
发布于 2011-04-02 07:11:04
如果在任何时候,你的浮动(有效)优惠券比你的100目标还多,你就有(轻微)获得过多赎回的风险,它的最佳算法取决于你能容忍多大的风险,以及在一天中任何给定时间观察到的赎回率分布情况。如果你不能容忍任何风险,那么你就总是从目标上浮动你剩下的多少优惠券,仅此而已。
redeemed = 0
floating = 0
whenever new customer arrives:
if (redeemed + floating < 100)
float coupon to customer
floating = floating + 1
whenever a coupon is redeemed:
redeemed = redeemed + 1
floating = floating - 1
whenever a coupon expires:
floating = floating - 1如果你能容忍一些风险,那么假设你有一个概率函数P(t),它给出了在时间t浮动的息票将被赎回的概率。然后,您可以像这样进行操作:
redeemed = 0
expected_redemptions = 0
whenever new customer arrives:
if (redeemed + expected_redemptions < 100)
float coupon to customer
expected_redemptions = expected_redemptions + P(now())
whenever a coupon floated originally at time 't' is redeemed:
redeemed = redeemed + 1
expected_redemptions = expected_redemptions - P(t)
whenever a coupon floated originally at time 't' expires:
expected_redemptions = expected_redemptions - P(t)只要预期赎回次数不超过100次,此算法就会将优惠券推送给客户。由于统计方差的原因,实际数字仍然可以超过100。为了更好地评估风险,您将获得有关给定时间的赎回率的更多信息,而不是单个概率的价值。此外,还需要开发您的风险模型。
https://stackoverflow.com/questions/5470536
复制相似问题