原文链接:http://glinden.blogspot.com/2006/01/early-amazon-group-discounts.html
原文作者 Greg Linden 毕业于华盛顿大学计算机学院,1997 年加入 Amazon,开发了享誉业界的 Amazon 推荐引擎。
著名的 Item-based 推荐算法的提出者之一;Findory.com 创始人。
其 Blog – Geeking with Greg 是个性化推荐领域最有影响力的博客(没有之一)。
想想看,一个热情有余但经验不足的研究生,外加一个新鲜出炉的 MBA,这样一个 team 能搞出什么名堂?是的,我不说你也能猜个大概。
我在亚马逊的第一个项目是组合折扣。虽然不做市场营销,但我相信,折扣是市场营销人员喜欢使用的促销工具之一。想要更多的消费者?打折出售。想要新客户?给他们首次购物优惠。

选择性折扣实际上违反了亚马逊的一些基本理念。杰夫(亚马逊创始人)的理想是把亚马逊打造成“网络上的沃尔玛”,无需打折天天都是低价。然而,新组建的营销团队还是认为,如果不能够把打折作为可供选择的促销手段之一,他们无疑缺少了一个杀手锏。
搞这个事情注定有人要当炮灰,不幸的是,我被推上了前线。作为一名人工智能专业毕业的程序员,我显然还不够智能,在项目开始时根本没有预测到结果。修改价格策略,会触及到网站、数据仓库以及结算,我以为借这个机会,我可以潜入整个系统内部去。我兴奋极了,要知道,那些代码都很有料。
说干就干,一名电脑 Geek,一名 MBA,我们两个刚加入公司不久的新人,磨拳擦掌。这个项目是我们的,我们来规划它,我们要搞掂它。
让两个不熟悉业务的新人搭伙本就已经糟透了,在这种情况下,我的热情更像是火上浇油。我开始收集与任务相关的需求。大家的想法多如泉涌,需求清单也越来越长。当询问“你是否需要…”的时候,得到的回答总是“Yes”。很快,我们的需求就演化成了搭建一套庞大的折扣系统,基于一些特殊的 URL 通道,允许进行个体折扣,组合折扣,限时促销,买 X 送 Y,你能够想到的所有促销方案,一个不落地进入了我们的需求清单。
我们有些坐不住了。作为刚离开校园的菜鸟,我懂的不多,不过我听到过这样的警告,项目膨胀会像冒着热气的粪球一样压垮你。现在,我已经开始闻到热粪球的气味了。
我试着缩减项目的范围。在对所需的代码修改进行分析之后,我建议以更简单的优惠卷的方式取代组合折扣。除了不太复杂的方式(类似“满 $Y 减 $X”)之外,仅限在订单的底部给出折扣信息,而不是几乎网站的每个页面上。
优惠卷方案受到了强烈地抵制。他们想要组合折扣。他们想把折扣信息弄到网站的每个页面上。我做了一些原型想要平复他们的热情结果也基本上是于事无补。只要一看到书籍详情页面,他们就会说,“AARP(译者:RP值为2A)的会员另加 5% 的优惠!”,或者“AARP 价格:$X”,而且对这个问题,他们就像在捍卫自己的名誉一样,坚持不肯让步。
于是,我开始编写代码了。
刚开始,我对 Oracle 数据库一无所知。幸运的是,我在一家书店工作。我一头扎进技术书籍里,像看漫画一样,饶有兴致地学习数据库知识以及如何作出良好的设计。我完成了一个差不多有十二张表的数据库设计,尽管我已经尽了全力,但第一次的评审结果还是彻底的杯具了。
我硬着头皮继续作。不得不在网站上几乎每一个页面插入回调,详情页面,搜索结果,导航页面,主页,购物车,订单。这些回调用来计算折扣,改变页面上的措辞。不得不创建一些专门供组合折扣成员使用的新页面。还有会计和客服工具也不得不进行相应的修改。此外还要开发新的工具,用来创建、修改和维护各种折扣信息。
这个工程如此浩大,不过到底还是做了出来,并且能够运转。天啊,我把组合折扣搞掂了。
可实际上,这是一次彻头彻尾的失败。营销团队在跑了六七个折扣方案之后,作出决定他们希望淡化折扣,还是天天低价这个来得更好。几年后,有人在亚马逊成功实施了一套优惠券系统。
这些老代码隐匿在字里行间,永远不死。好几次,我恳求着要去除组合折扣的代码,但总是杯具地被拒绝。那些回调就那样待了好几年,阴魂不散,每个遭遇到它的程序员都要白费时间弄明白它是干嘛的,非常令人讨厌。
那些年,“组合折扣”简直成了我的梦魇,每当有人提起它我都痛苦不堪。甚至到现在,一听到它我就非常闹心。
最近在重新梳理 Greg Linden 的《Early Amazon》系列文章,恰好之前刚写了一篇《Amazon与数据导向》,与这篇组合折扣的文章比对着一起看,蛮有意思,业务都是一步一步摸索出来的,无人例外。








“项目膨胀会像冒着热气的粪球一样压垮你”