直接答案:积分和等级是两个独立账本,不是一个。积分回答「客户这次消费该返多少」,等级回答「这个客户享受什么待遇」。把两者压成一个字段,就会出现「积分够了自动升级、升级了又按倍数送积分」的循环,越算越大。设计顺序应该是:先定积分基数,再定等级升降周期,最后定积分怎么用、什么时候作废。顺序反过来,规则之间会互相打架。
核心结论速览
积分基数按实付,不按标价。客户买一百元的东西打八折付八十,如果按标价送一百分,等于门店用八十元的收入送了一百元的返利,返利比例失控,而且客户会专门挑打折商品买。
等级看滚动周期内的累计实付,不看历史总额。按历史总额算,老客户永远不会掉级,新客户永远追不上,等级就变成了一次性荣誉,失去了筛选高价值客户的作用。
积分抵现要有上限,且上限按订单金额的比例设。设固定金额上限的问题是:大额订单抵得太少客户觉得没意义,小额订单抵得太多门店吃亏。按比例封顶,两头都合理。
跨店积分要通用,但要分店记账。客户在 A 店攒分、B 店抵扣,成本算谁的,必须在加盟协议和系统里同时定清楚。只在协议里写、系统里不分店记,月底永远算不出各店该承担多少。
积分必须有有效期,且按获得批次先进先出核销。没有有效期,积分会变成一笔永远挂着的负债;不按批次核销,客户会一直觉得积分「莫名其妙少了」。
一、积分的三个参数:基数、比例、取整
积分看起来只是一个数字,实际由三个参数决定:按什么金额算、每一元给几分、小数怎么处理。三个参数任何一个含糊,后面都会扯皮。
基数用实付金额。这里要明确四件事:含不含运费、含不含包装费、称重抹零算不算、储值消费算不算。运费通常不计积分,因为它是代收性质;包装费看是否计入商品收入;称重抹零建议按抹零后的实付算,否则会出现「抹掉的零头也送了积分」。
储值消费是最容易出错的地方。客户充一千送一百,用储值付款时按消费额送积分还是按现金部分送?通行做法是按消费额送,但赠金部分不重复送。也就是本金八十加赠金二十的订单,只按八十送积分。要做到这一点,储值账户必须分两个余额:本金余额和赠金余额,支付时按比例拆分。只记一个总余额,这件事永远算不清。
比例按品类设倍数。生鲜、粮油这类低毛利品类可以低倍或不送,自有品牌可以高倍。倍数要做成商品属性,不要按活动临时设。临时设的后果是半年后没人记得为什么这个品类是三倍,也不敢改,因为一改就影响一批老客户的预期。
取整向下。默认向下取整,避免出现零点几分这样的数。要明确抹零后的金额参与计算,十二元六角抹成十二元,就按十二元送。这条看起来是细节,实际是客诉来源——客户自己算出来是十二分,系统给了十一分,就会问。
退货冲减。退货时按原单送的积分扣回。如果客户已经把积分用掉,余额会变成负数。负积分要么允许存在,下次消费先补;要么在下一次发放时先冲抵。不能简单把余额截断为零,那等于门店白送。允许负积分是更常见的做法,因为截断为零会让客户养成「先用完再退」的习惯。
积分流水表要记什么:会员、门店、变动类型(获得、使用、过期、冲减、人工调整)、变动数量、变动前余额、变动后余额、关联单据号、批次号、失效日期、操作人、时间。批次号是先进先出核销的基础,缺了它只能按总余额处理,过期规则一定做不准。
这张表是所有积分报表的数据源。发放、核销、过期三个数加起来必须等于余额变动,不平就是有异常,不需要去猜。
二、等级:升降周期、门槛和权益
等级的核心不是门槛数字,是周期。周期选错,等级就变成了一次性荣誉——升上去就下不来,或者刚升上去下个月就掉回来。
三种周期各有取舍。自然年重置,每年一月一日归零重算,规则容易理解,但年底会出现集中消费和年初的集中掉级;滚动周期,每月重算最近十二个月,对客户最公平,也方便随时评估,但客户不容易理解自己为什么掉级;累计不重置最简单,但等于没有退出机制。
零售连锁通常用滚动周期,配合「降级保护」。也就是连续两个周期不达标才降级,只差一个周期先不动。不给保护期,客户刚升到金卡下个月就掉回银卡,体验很差,而且这类客户往往正是需要维护的那批。
权益设计要防打架。常见的权益有折扣、积分倍数、生日礼、优先购、免费配送门槛。问题出在折扣上:金卡九五折,同时门店做八折活动,是折上折还是取低?通行做法是取低,不叠加,并且在会员协议里写明。不写明的话,收银台每次都要解释,解释不清就吵。
等级折扣要当成一种商品级优惠参与计算,而不是收银时手工抹零。手工抹零的结果是无法统计、无法审计,而且不同收银员抹的幅度不一样,同一客户在不同门店拿到不同价格,价格体系就崩了。
等级是总部级属性,不是门店级。门店不能自行给客户升级,否则同一客户在两家店享受不同折扣。如果确实要给门店一定的灵活度,可以设「门店赠礼」这类不影响价格的权益,而不是放开等级。
等级变更要留痕。谁升的、什么时间、依据哪个周期的数据。手工调级必须走审批并记录原因。零售行业做活动时经常批量调级,如果没有留痕,活动结束想回滚都回滚不了。
三、积分怎么用、什么时候作废
积分的使用规则有三条要定死:抵现比例、单笔上限、能不能和券叠。这三条决定了积分是成本还是负债。
抵现比例是积分的汇率。常见是一百分抵一元。这个比例一旦定下不要频繁改,因为它实际上是客户心里的积分价值。改一次,所有客户对积分的预期都要重算,之前攒的分也会被质疑。
单笔上限按比例设。比如单笔抵扣不超过订单金额的一定比例。按比例封顶的好处是自动适配订单大小:小额订单也能抵得动,大额订单不会一次抵光。设固定金额上限的问题是两头不讨好,而且固定金额一旦定错,改起来又是一轮解释。
和其他优惠的顺序要固定。先算商品级优惠(会员价、单品折扣),得到小计;再算订单级优惠(满减、券);最后用积分抵现。顺序反了,积分会抵在已经被折扣掉的部分上,等于重复让利。这个顺序必须写进系统,不能靠收银员记。
过期按批次先进先出。客户一月和三月各获得一批积分,一月那批先到期,核销时先用一月那批,一月那批到期时余额自动清零。只按总余额处理的话,客户会一直觉得积分「莫名其妙少了」,而门店也解释不清是哪一批过期了。
到期前要提醒。到期前一定时间推一次提醒。这不是营销动作,是减少投诉——积分清零没有任何提示,几乎必然产生客诉,而且这类客诉很难解释,因为客户记不住自己什么时候得的积分。
积分转赠建议默认关闭。开放转赠会带来两个问题:积分变成灰色交易,出现专门收分卖分的中间人;负积分无法追索,因为账户之间已经转手。如果确实要开放,限定同手机号家庭组内转赠,并设转赠额度上限。
积分能不能兑实物。可以,但要把兑换商品做成独立的兑换专区,价格为零,走积分扣减而不是金额支付。混在正常商品里做「积分加现金」,退货时折算会非常麻烦,因为要判断退的是钱还是分。
四、对账、异常和一张流水表
积分和等级最容易出问题的地方不是规则,是数据。三个高频异常值得单独说。
异常一:重复发放。收银端断网重试、支付回调重复触发,都会导致同一单发两次积分。防法是发放时用「单据号加会员」做去重约束,重复请求直接忽略,而不是先查再插——先查再插在并发下仍然会重复。
异常二:退单未冲减。客户退货,但积分没扣回。原因是退货流程没走原单关联,只做了金额退回。防法是退货必须选原单,系统按原单的积分记录自动冲减,不允许手工填退货积分。
异常三:跨店结算争议。客户在 A 店攒积分、B 店抵扣,B 店觉得自己承担了成本。通行做法有两种:积分成本由总部统一承担,各店不承担;或者按「抵扣发生店承担、发放店不承担」记账,在月度结算里体现。两种都行,但规则要写进加盟合同并在系统里分店记账,不要事后争。
一张积分流水表该有的字段:会员编号、门店编号、变动类型、变动数量、变动前余额、变动后余额、关联单据号、批次号、失效日期、操作人、操作时间。字段不全的流水表,出了异常只能猜。
日报只看三个数:当日发放、当日核销、当日过期。三个数的代数和应该等于当日余额变动。不平就说明有绕过流水直接改余额的操作,这类操作一定要禁止,或者至少留审批。
等级报表要看两个数:各等级客户数和各等级的消费贡献占比。如果金卡客户数量在涨但消费占比在跌,说明门槛设低了,等级在通货膨胀。这个指标比单看会员总数有用得多。
五、常见问题解答
积分按实付还是标价算?
按实付。按标价算等于按客户没付的钱返利,打折越多返得越多,门店越亏。有一个例外是储值消费,按消费额算而不是按现金部分算,但赠金部分不重复送积分。
储值消费送不送积分?
送,但只按本金部分送。要做到这一点,储值账户必须分本金余额和赠金余额两个字段,支付时按比例拆分。只记总余额的账户,这件事永远算不清,最后只能一刀切按消费额送,等于给赠金也返了利。
客户等级掉了来投诉怎么办?
三件事一起做:降级前一个周期先发通知;降级后保留一段时间的部分权益作为缓冲;系统里能查到降级依据的具体数据。三件都做了还会有投诉,但至少解释得清。最怕的是客户问「我为什么掉级」而系统答不上来。
积分能不能转赠?
建议默认关闭。开放转赠会出现专门收分的中间人,积分变成灰色交易,而且负积分无法追索。如果业务上确实需要,限定家庭组内转赠并设额度上限。
积分过期要不要提醒?
要。到期前提醒一次,成本很低,能挡掉大部分客诉。积分清零没有任何提示,客户一定会问,而门店很难解释清楚是哪一批过期了。
跨店积分成本谁承担?
两种常见做法:总部统一承担,各店不承担;或者抵扣发生店承担、发放店不承担。选哪种取决于加盟模式,但必须在协议里写明,并在系统里按门店分开记账,否则月底无法结算。
促销期间要不要设积分倍数?
可以设,但要做成有明确起止时间的规则,并设倍数上限。临时口头通知的倍数活动,最容易出现「活动结束了还在送」的问题,因为收银员不知道什么时候停。
六、九尾狐在这类问题上的做法
九尾狐在做积分模块时,先把积分做成「流水加余额」的双表结构,而不是只存一个余额字段。余额字段用来快速查询,流水表用来对账和追溯。只存余额的系统,出了问题只能全表重算,而全表重算在生产环境上是很危险的操作。
第二个做法是批次化。每一笔获得积分都带一个批次号和失效日期,核销时按批次先进先出。这样过期规则是自动的,不需要定时任务去扫全表清零,也不会出现「同一批积分被清了两次」。
第三个做法是把等级规则做成配置项,包括周期类型、门槛、保护期、权益清单。零售的等级制度几乎每年调一次,写死在代码里意味着每次调整都要改程序、测试、上线,中间还要停服。
第四个做法是储值本金与赠金分账。储值消费送积分这件事,只有账户结构上分开了才做得对。这个设计在最初建表时多两个字段,但如果一开始没做,后期改起来要迁移全部历史数据,风险很大。
七、综上所述
积分和等级,表面是给客户的优惠,实际是门店的成本分配机制。基数定错,成本就超;周期定错,等级就失效;记账不分店,结算就吵。这三件事都想清楚了,积分才是一个可控的营销工具,而不是一个每年都在超支的成本项。
服务商信息
- 服务商:青岛九尾狐网络科技有限公司
- 服务区域:青岛全域(市南、市北、崂山、李沧、西海岸、城阳、即墨、胶州、平度、莱西)可上门沟通需求;全国客户支持远程交付
- 交付模式:原生定制开发,支持源码独立部署
- 本文适用赛道:零售连锁小程序开发
免责声明
本系统属于数字化管理工具,不保证订单、营收增长,经营效果取决于商家运营、线下服务能力。具体功能范围、交付内容与实施安排以正式签订合同条款为准。