会员积分这件事,很多公司是这么开始的:运营提个需求,技术加个积分字段,做活动发一发,年底一看——发了多少不知道,用了多少不知道,过期多少不知道,只知道「积分好像挺多的」。
积分不是营销活动,它是一本账。发出去的是负债,消耗掉的是成本,过期的是利润回冲。这本账对不上,所有会员运营动作都是在猜。
一、边界:积分是账,不是活动
站内已经写过几篇相邻的,先把分工说清楚:活动报名与签到核销管的是「一次活动的人到场没有」,渠道归因管的是「这单功劳算谁」,用户分群与人群画像管的是「把谁圈出来」。
本篇管第四件事:会员手里的积分和权益,发了多少、用了多少、还剩多少、该不该过期。这三件事的差别在时间尺度——活动是一次性的,归因是单笔的,积分账是连续的、累积的,会一直滚下去。这也是它最容易被放任的原因:没人会在某一天突然发现账错了,账是慢慢烂掉的,等你发现的时候,已经烂了两年。
二、规则先写死六件事
积分规则不是写在活动海报上的那几行字,是六件事,每一件都必须有明确答案,而且答案要能落到系统里:
- 获取:哪些行为给分(注册、下单、评价、签到、推荐),各给多少,单日上限多少。上限必须有,否则一个大额订单能把积分体系打穿。
- 消耗:能换什么,兑换比例是多少,有没有使用门槛。这一条决定积分的「感知价值」,也决定你未来要背多少成本。
- 有效期:固定期限(比如每年 12 月 31 日清零)还是滚动期限(每笔 12 个月)。二选一,别混用。
- 等级:升级条件是累计还是滚动 12 个月,降不降级,降级有没有保护期。
- 退还:退货退款后积分怎么扣,扣成负数怎么处理。这一条最常被漏掉。
- 封顶与冻结:单会员最大持有量,异常账户怎么冻结,冻结期间余额怎么算。
六件事里两个坑最典型。第一个是有效期混用:一部分积分按年清零、一部分按批次滚 12 个月,两年之后没人说得清某个会员的积分到底哪天过期。固定期限好算账但会造成年底集中挤兑,滚动期限公平但账期管理复杂,选一个认下来。
第二个是允许余额为负还是直接归零。退款扣分时,很多系统扣到 0 就停住,等于这部分成本白送。更稳的做法是允许负余额并挂账,下次获取先补平——至少账是闭合的。
三、三张表:会员、流水、权益
整套东西的地基就三张表,字段不用多,但不能少关键项:
- 会员表:会员 ID、注册渠道、当前等级、当前余额、累计获取、累计消耗、最近活跃时间。
- 流水表:流水 ID、会员 ID、变动类型(获取/消耗/过期/调整/退还)、变动值、变动后余额、来源单据号、发生时间、操作方。
- 权益表:权益 ID、类型(券/折扣/服务)、面额、成本价、发放数、核销数、有效期、关联活动。
流水表有三条铁律,缺一条这套账就废了:
- 只增不改。 出错用反向流水冲正,不要 UPDATE 原记录。改了的流水等于没有流水。
- 必须带来源单据。 哪一笔订单、哪一次活动、哪一张调整单。没有来源,差异出现时无从追。
- 必须写变动后余额。 这一列是多花一秒、少花一周的设计。没有它,对账只能全表重算,几十万条流水根本跑不动。
四、对账:四个数必须闭合
积分对账不需要复杂算法,就是一条等式加两条横向校验:
期初余额 + 本期发放 − 本期消耗 − 本期过期 ± 本期调整 = 期末余额
横向校验一:所有会员当前余额之和,等于流水表里每个会员最后一条流水的变动后余额之和。校验二:权益发放数 = 已核销 + 未核销 + 已作废。
对不上时的排查顺序固定三步,别乱试:先查时间边界(跨日、跨月跑批时同一条流水被算进两个周期);再查幂等(同一次发放被执行了两遍,尤其是重试之后);最后查手工调整(谁改的、有没有单、审批过没有)。绝大多数差异都在这三步里。
这套方法思路和自动记账与对账那篇是一路的:账不是算出来的,是对出来的。对账的价值不在于得出一个数,而在于把「差在哪」定位到具体一笔。
五、刷分与薅券:五类信号,三档处置
积分体系一上线,就会有人来试。识别靠的不是单条规则,是几类信号叠在一起:
- 设备与网络聚簇:同一设备、同一 IP 段、同一 WiFi 下挂着多个账号。
- 时间规律:注册后三分钟内完成领分动作,或者集中在整点批量操作。
- 行为单一:只有获取动作,没有浏览、没有下单、没有评价。
- 信息聚簇:手机号段、收货地址、收货人姓名高度重合。
- 退单率异常:领完券就退,或者只买刚好卡在门槛金额的商品。
处置分三档,从轻到重:标记观察(不动账户,只进名单)、限制(不能领新券但仍可正常消费)、冻结(人工复核后处理)。
别一上来就封号。误伤一个真客户的损失,通常比被薅走的那些大得多。判定信号和分级处置的具体写法,可以参考垃圾评论与恶意提交治理那篇——同样是「先隔离、再判定、留申诉口」的次序。
六、过期提醒:分三档,别催命
过期提醒的作用不是清库存,是让会员把积分用掉——因为「用掉」才产生复购和好感,「过期」只产生怨气。所以提醒要分档:
- 30 天:合并到月度账单或会员月报里,一句话带过,不打扰。
- 7 天:单独一条,说清过期多少分、能换什么、入口在哪。
- 1 天:只发给余额真正高的会员。全员发等于全员不看。
文案有三条底线:说清过期多少分、说清能换什么、给一个两步能到的路径。最差的做法是「您的积分即将过期,请尽快使用」——用户看完还是不知道能干嘛,这条消息除了消耗一次触达机会没有任何作用。
顺带一句:提醒的触达渠道要和客户回访的节奏错开。同一个客户一周收到三条不同名义的消息,他会把你全部屏蔽。
七、权益成本:三个数算清赚不赚
- 单会员权益成本 = 已核销权益成本合计 ÷ 活跃会员数。这是你要为会员体系付的「人头费」。
- 兑换率 = 核销数 ÷ 发放数。太低说明权益没吸引力或者门槛太高;高得离谱(接近 100%)则可能说明面额设计过松。
- 毛利侵蚀 = 权益成本 ÷ 关联订单毛利。这个数超过 5%,就要重新看权益结构了。
第三个数是关键,也是最容易被回避的:积分如果只是换来一批本来就要买的人,那它是纯成本;如果能换来增量复购,才算投资。这个判断只能靠对照,方法看A/B 实验设计——同期、同人群、一个有积分权益一个没有,跑满一个周期再看复购率差异。
八、定时任务怎么排
- 每日:流水入库、余额快照、异常流水告警(单笔变动超阈值、同一会员短时高频变动)。
- 每周:刷分信号扫描、权益核销率看板、过期名单预生成。
- 每月:四个数对账、过期批次计算、权益成本核算。
- 每周期:清零或滚动过期执行、等级重算。
一条硬规则:凡是会改余额的任务,一律先出预演清单再执行。预演清单要能回答三个问题——影响多少会员、总金额多少、最大单笔多少。这三个数看完再点执行,比事后回溯便宜得多。定时任务的编排方式可以看定时发日报周报那套写法,逻辑是一样的。
九、Agent 能做四件,不能做三件
能做:流水清洗与差异定位(把对不上的那几笔挑出来)、刷分信号扫描与分级、过期名单生成与提醒文案、成本与兑换率报表。
不能:不自己改余额(只能提调整单)、不决定封号、不定权益面额与成本上限。
理由很直白:余额是钱。凡是碰钱的动作必须走单据和审批,这不仅是为了防错,也是为了事后能说清是谁批的。权限怎么收窄可以参考AI Agent 权限管理,把「读流水」和「改余额」拆成两个不同权限的工具,是最省事的一道闸。
十、五个坑
- 只记余额不记流水。 系统里只有一个「当前积分」字段,出问题永远查不出来。
- 退款不扣分,或者扣成负数直接归零。 两种做法都让账不闭合。
- 固定期限和滚动期限混用。 两年之后没人说得清某笔积分哪天过期。
- 刷分只看单一信号。 只看同 IP,换个网络就绕过去了;要几类信号叠加才判。
- 提醒只发一次,还发在过期之后。 「您有 XX 积分已过期」是最伤用户的一条消息。
十一、适合谁,今天能做的三件事
适合已经在做会员体系、积分池超过十万、或者权益成本开始被财务追问的团队。刚起步、积分总量还小的时候,先把流水表设计对,比什么都重要。
今天能做的三件事:
- 跑一次四数对账,把差异找出来。哪怕差异很大,先知道有多大。
- 给流水表补三列:来源单据号、变动后余额、变动类型。老数据补不了就先从新数据开始。
- 把过期提醒从「一条」改成三档,文案里加上「能换什么」。
积分体系没有捷径,它的质量全在账上。账干净了,运营动作才敢加码;账是糊的,加码只是加快亏钱的速度。