活动费的比例按哪个基数来算,先定死
同样一句按比例收取,落在不同的基数上会得出不同的数。基数指的是比例乘在哪个金额上,它和比例一样要紧。比例通常写在规则显眼的位置,基数往往要翻一段说明才能确定。很多人只看比例就下手算,第一步其实已经偏了。先把基数定下来再谈比例。
一段订单里能当基数的金额有好几个。商品原价、成交价、买家实付、扣掉退款之后的净额,都可能在某一套规则里被当成基数。规则里说按成交金额算的时候,要问清指哪一个。措辞上差一个字,算出来的结果就能差一截,金额大的订单上格外明显。
定基数的时候要把时间点一起定下来,因为金额会随流程变化。下单那一刻的金额和结清那一刻的金额不一样,中间隔着退款和各类调整。规则按哪一个时点的金额算,本身就是口径的一部分。不把这个时点写下来,两个人算同一笔会得出两个数,而且都说得通。
有些名目的基数是单一的,比如按订单件数计的那一项,只跟件数有关。也有些名目的基数是复合的,要先把几项金额加起来再乘比例。复合基数的麻烦在于哪些项该放进加总里,规则不一定写得全。放多放少都会偏,而且偏得不容易看出来。
基数定下来之后要写在纸上,不要停在脑子里。写下来的意义是下次换人算的时候不用重新推一遍。口头商定的基数过两周就会走样,活动期大家都忙的时候尤其如此。把基数、时点、比例三样写在同一行里,这一项才算真正定死,后面所有讨论才有共同的起点。
不同站点的基数定义可能不一样,同一个平台在不同市场会用不同规则。一个站点按成交额算,另一个站点按扣掉平台补贴之后的净额算。跨站点汇总的时候如果不分开算,得出的平均数没有意义。分站点定基数这件事看起来麻烦,实际比强行统一一套更容易执行。
类目之间也会有差别,有的类目基数里包含运费,有的不包含。含运费和不含运费两种算法,在低客单商品上差得特别明显。做低客单的时候这一条几乎一定要确认,否则小单会算得格外亏。做高客单相对不敏感,但也不能想当然地沿用。
定基数还有一个容易被忽略的地方,就是基数的上限和下限。有些规则写了封顶金额,也有些写了保底金额。有封顶的时候,超过某个金额之后比例就不再生效。不注意到这一层,大单会算得比实际高。这个偏高会让人误判大单的盈利能力。
基数的单位也要统一,有的规则按本币算,有的按结算币种算。跨币种的时候先换汇再乘比例,还是先乘比例再换汇,中间会生出一点差。金额小的时候这点差可以忽略,金额大的时候就要选一个口径写下来。用哪一个不影响对错,缺的是统一。
定基数的时候要区分单笔和汇总两种算法。单笔算法逐笔乘比例再相加,汇总算法先加总再乘比例。有封顶或者保底规则时,这两种算法会得出不同结果。选哪一种取决于规则是按笔设置还是按周期设置。规则没说的时候,按笔更贴近实际扣款的样子。
基数确定之后,比例的有效期也要一并确认。有的比例按活动期固定,有的按日历月切换。跨月的活动会碰到两种比例,需要按月切分金额分别算。切分点选在月末还是活动结束日,结果会差一点。这一点通常在结算时才被发现,那时已经不便改了。
把基数定死的好处是能反过来检查规则有没有理解错。用算出来的数和实际扣款对一次,对不上就说明基数选错了。这种核对不需要复杂工具,找一笔金额简单、没有退款的订单就够。挑最干净的那一笔去对,得出的结论最明快。
一个人算不准的时候,往往是因为基数写在两个地方。规则正文写一套,活动细则里又补了一套。两套口径的关系没写清楚,就只能靠实际扣款来判断。碰到这种情况,把两段文字并排抄在一处,差异会立刻显出来。显出来之后再决定按哪一套执行。
基数这件事也不是越细越好,细到无法执行就失去了意义。判断的标准是看这个细分能不能对应到一条可查的规则。对应得上就该细分,对应不上说明只是猜的。猜测写进口径里,比不写更危险。因为它看起来像结论。
多个活动同时进行的时候,同一个订单可能同时属于两个活动。这时候要先确认哪个活动优先,因为基数会被前一个活动的结果改变。先后顺序不同,后一个活动乘的基数就不同。规则里写了优先级就按规则来,没写就按实际扣款的先后倒推。
知虾的站点分析页把同款商品在两个站点的费用项分开列示,数据更新到前一交易日。拿它对照自己算出来的基数结构,能较快看出某一站是不是把运费算进了基数。这一步只用来定位差异来源,具体比例仍以平台规则为准。

图1:口径不是一句话,而是五步拼起来的。前三步决定算出来的数,后两步决定这个数以后还能不能被别人照着还原。
折后价还是原价,两个基数差得不少
折后价和原价这两个基数,差别不在算法而在起算点。用原价做基数,比例乘的是一个没让过利的数,金额偏大。用折后价做基数,比例乘的是买家实际付的钱,金额偏小。两个数在浅折扣上差得不多,在深折扣上会拉开距离。
规则里写按商品售价算的时候,多数情况下指的是折后价,因为平台按实际成交计费。但有些活动会写明按商品原价计,这通常出现在需要保护让利力度的场景里。碰到这一类,活动实际成本会比按折后价算高出不少。判断依据只能去规则里找,不能靠过去做过的经验套。
用原价做基数的一个后果是,折扣越深,活动成本越高。这在直觉上不太合理,却确实是规则带来的结果。深折扣活动的规模往往也更大,两者叠起来,成本上升会更明显。所以做深折扣之前,要先确认基数用的是哪一个。确认之后再看这场活动划不划算。
用折后价做基数时还有一层细分,是扣掉平台补贴之前的折后价,还是之后的。补贴在中间过了一手,起算点就往后挪了一格。规则里不写清的话,只能拿实际扣款倒推。倒推的办法是找一笔补贴金额明确的订单,看扣款对应的是哪一个数。倒推一次就能定下来。
买家实付和卖家实收也不是同一个数,中间隔着一层平台补贴。买家付得少,卖家收得也少,但两个少的幅度不一定相同。基数落在哪一个数上,会直接影响活动成本的高低。这几个数常常在同一张订单里同时存在,选错一个都算不准。
原价本身也可能有好几个,商品有过多次调价的时候,哪一次的价格算原价要确认。有的规则取活动开始前的最近一次售价,有的取建议零售价。两种取法在某些商品上差距很大。碰上调价频繁的品类,这一条要专门去问一次。问清楚之后再统一记录,避免每次重新判断。
有一种常见误解是把划线价当成原价,划线价往往是商家自己设的一个展示价。展示价和实际成交价之间没有固定的对应关系,两者可以相差很远。拿它做基数会把成本算得离谱。核对的办法是看规则里有没有出现划线价这个词,没有出现过就别用。
折后价作为基数也有边界情况,比如买家用了平台券之后实付更低。券的优惠由谁承担,决定了基数要不要再往下走一格。平台全额承担的券通常不再往下扣,卖家承担的券会让基数变小。分辨方式是看券的来源和活动规则里怎么写的。同一笔订单里两种券可能同时存在。
两个基数摆在一起比的时候,要控制住其他条件一致。同一件商品、同一折扣力度、同一笔订单,只换基数,看差多少。这样比出来的差才是纯粹由基数带来的。混着其他变量一起比,得出的结论会归错因。归错因的结论用在下一场活动上,会继续错下去。
在折扣力度小的商品上,两个基数的差可能只有一两个百分点。这种差别日常不容易察觉,但在量大或者周期长的时候会累积成一笔可观的数。判断要不要在意,看的是量和周期,不是单笔的差额。低毛利品类尤其不能忽略这一层,因为利润空间本来就薄。
跨站点的折扣习惯不同,也会让基数的选择产生不同后果。有的市场习惯长期挂着浅折扣,那么两个基数差别小。有的市场习惯在大促时一次性深折,那时两个基数的差别就大。同一套算法铺到不同市场,效果不一样。分站点看比统一处理更稳,也更容易解释差异。
判断自己实际用的是哪个基数,最直接的办法是找一笔已知数据的订单和实际扣款对一次。用两个基数各算一遍,看哪一个对得上。对得上的那个就是实际在用的口径,不管规则里怎么写。这一步做一次,后面长期受益,也省掉了反复推测的工夫。
折扣和基数之间还会互相影响,因为折扣改变成交价,而成交价又是候选基数之一。折扣规则一变,即使比例没动,算出来的金额也会跟着变。所以在调整折扣力度之前,先确认调整会不会改变基数。会改变的话,成本变化的幅度会比预期大,预算也要跟着调。
折后价和原价之外还有第三个候选,就是折扣金额本身。有的规则按让利金额的一定比例收取,这时候基数就是折扣额。这种算法在深折扣下的金额反而更集中,走势和按成交价算的正好相反。碰到这类规则要单独记一栏,别混到前两个里。混在一起之后很难再拆开。
知虾的定价计算能按档位把同一项费用的两种算法并排摆开,数据更新到前一交易日。用它可以快速看出在不同折扣下两种基数的差距是怎么扩大的。看差距的走势比看某一个点的数字更能说明问题,也更容易记住。
两个基数的选择最终要落成一个明确的写法,写上商品、时点、金额类型三个限定。缺任何一个限定,这个口径就不完整。写着折后价但没写是扣补贴之前还是之后,仍然会算出两个不同的数。口径的完整性就是靠这些限定一点点堆起来的。限定写全,争议就少。

图2:分歧点的影响并不均等。排在前面的两项属于起算点问题,改一次就影响整场;排在后面的两项是精度问题,改起来只动零头。
不同活动档位的算法不一样,别套错
同一类活动会按力度分成几档,档位不同,算法往往也跟着变。低档可能按固定比例走,高档可能改成分段累进。把低档的算法套到高档上,算出来的成本会明显偏低。档位划分的标准通常写在活动规则的开头部分,值得先看一遍再动手。看一遍花不了多少时间。
分段累进的算法要特别注意分段点的位置,越过一个点之后,只有超出部分按更高比例算。这和整段按高比例算是两回事,两者在临界点附近的差距最大。算的时候要按金额切段,不能直接乘一个比例。切段的动作容易漏,漏了就会系统性偏高,而且高得不容易被发现。
有些档位的算法是按天数递进的,参加的天数越多,后面的比例越高或者越低。这类算法要求把活动期按天切分,逐段算再相加。按整段算一个平均值,会抹平递进带来的影响。天数一长,这个偏差会很明显。短促活动可以粗略处理,长周期活动必须逐段算。
档位切换有时发生在活动进行中,报名时是一个档,实际成交冲到另一个档。这时候按报名时的档算会有偏差,按最终档算才对。判断依据是规则里有没有写按实际达成的档位结算。写了的话,预估阶段只能先按报名档估,最终以结算单上的数为准,两者之间留一段缓冲。
不同档位对应的基数也可能不同,这一点最容易被忽略。低档按折后价算,高档按原价算的情况是存在的。于是档位一变,变的不只是比例,还有起算点。两个变化叠在一起,成本上升的幅度会超出预期。核对档位的时候要把基数一起核,不能只比比例数字。
同一档位在不同类目里的算法也不一样,类目差异有时比档位差异还大。把同类目同档位的经验套到另一个类目,风险很高。跨类目对比的时候至少要先把目标类目的规则读一遍,再决定能不能沿用。没法确认的就分两套记,两套并行并不比一套麻烦多少。
档位的名称常换,换名字的时候算法有可能跟着改,也可能只是改了叫法。判断办法是把两个档位的规则条文放在一起比,看分界点和比例有没有变。只比名字会误判,只比比例会漏掉基数的变化。三样一起比才可靠,比完之后再决定要不要改记录。
有的活动不按档位分,而是按资源位分,不同资源位的算法不同。资源位算法和档位算法可以并存,同一个活动里两个维度同时起作用。这时候要先把两个维度的规则各自确定,再看它们怎么叠加。叠加规则一般写在活动细则的末尾,容易被跳过,值得专门翻到那一页。
时间维度也会形成一种档位,比如大促期和非促期的算法不同。大促期的算法往往更复杂,涉及多段累进和多种基数。非促期的算法通常简单,容易形成惯性思维。用非促期的经验去估大促期,误差会集中爆发。两边分开建模型更稳,也更容易定位偏差来源。
判断自己有没有套错档位,办法是拿一笔跨档订单实际对一次。挑一笔金额刚好越过分界点的订单,看扣款是按整段算还是按切段算。这一笔订单的信息量比十笔普通订单都大。找到这样一笔之后,档位算法基本就确认下来了。确认之后再回头检查其他估算。
档位算法的错法有两种,一是用错档,二是用错段。用错档是把高力度活动按低力度算,结果偏低。用错段是把累进算成整段,结果偏高。两种错的症状不一样,一个让人乐观,一个让人悲观。知道症状才能反过来排查,也才知道该去找哪一笔订单核对。
多个档位同时生效的情况也存在,比如活动期跨了两个档位周期。这时候要按月或者按档位周期切分,每一段用各自的算法。切分点的选择会影响总金额,尤其在高力度档位占比较大的时候。切分点按规则里写的周期来定,不要自己另设一个。
档位和订单类型也会交叉,新客订单和复购订单有时候适用不同的算法。同一个商品、同一档活动,两种订单的成本并不相同。按整体平均算会掩盖这种差异。做新客为主的品类时,这一层必须拆开看,否则容易得出一个看起来合理但实际上没有指向性的平均数。
有些档位的算法里带条件,比如达到某个成交件数才按该档结算。没达到就要退回上一档,之前的预估要整体回改。这类条件让预估变得不可靠,只能给区间不能给点值。结算时按实际达成的档位重算一遍是必要动作,不算的话两边的数会长期挂着不消。
同一类玩法在不同站点的档位设置会有差别,这个差别平时不容易注意到。把两边的费用项归到一起看,能判断自己理解的分档方式有没有漏掉某一档。归类只是提供对照,档位分界仍以活动规则为准,不能反过来拿参照的结果去定规则。
把档位、基数、分段方式三样写在一张表里,算法这一层才算交代清楚。只有档位没有基数,算法不完整;只有比例没有分段方式,累进就算不对。三样齐全之后,换玩法只是换行,不用整张重推。这一节到这里结束,有哪些名目在上一节里交代过。
| 分歧点 | 在哪一层分岔 | 算错的方向 | 核对的落点 | |||||
|---|---|---|---|---|---|---|---|---|
| 基 | 数 | 取 | 折 | 后 | 价 | |||
| 起 | 算 | 点 | ||||||
| 成 | 本 | 偏 | 高 | |||||
| 找 | 无 | 退 | 款 | 订 | 单 | 对 | 一 | 次 |
最容易算混的,是把补贴也一起算进去
补贴出现在活动里的形式有好几种,有的由平台出,有的由卖家出,还有的是两边各出一半。算成本的时候,只有自己出的那一份该计入,平台出的那一份不该算。但两者在账面上经常挨在一起,看起来像同一件事。混进去之后,成本会明显虚高,而且虚高得不容易察觉。
平台补贴的表现形式常常是买家实付低于卖家应收,中间的差额由平台补上。卖家应收那一栏仍是原数,从卖家的角度看并没有损失。把买家实付直接当成本来算,就会把平台出的那部分算到自己头上。看结算单上有没有对应的补偿行就能分辨。
卖家自己出的补贴则不同,它直接体现为卖家应收减少。这一部分要算进成本,不能被平台补贴的出现掩盖过去。两种补贴同时存在的时候,账面上只能看到一个合并后的数字。要把它们分开,得看规则里各自写明的承担比例。没写明比例的只能靠实际扣款反推。
最容易算混的场景是大促期间多种优惠同时叠加,券、补贴、折扣、积分一起上。这时候一笔订单的金额可以被改好几轮,每一轮由不同方承担。按最终实付去反推成本,几乎一定会把几个来源混在一起。正确做法是逐轮拆开,标明每一轮的承担方。
补贴和基数的关系也要注意,有些算法先扣补贴再算比例,有些先算比例再扣补贴。两者顺序不同,结果差得不多但不为零,而且会随金额放大。在补贴比例高的活动里,这个顺序差会变得可观。规则里一般会写明顺序,不写就要用实际扣款推,推出来要记下来。
平台补贴有时候以现金形式返还,有时候以抵扣额度形式返还。两种形式金额相同,但对成本的影响不同。现金可以立刻使用,额度只能在后续支出里慢慢消化。按成本来算两者可以同等对待,按资金来算就要分开处理。用哪一种形式返还通常由平台决定。
有一种补贴写在活动说明里但实际由平台承担,规则条文里并不显眼。看到说明里提到补贴,第一反应往往是这笔要自己出。核对方式是看有没有对应的收款项,有收款项就说明有人替你付了。没有收款项才是自己承担。这个判断只需要翻一次结算单,不必读完整套规则。
补贴还容易和返点混起来,返点是按成交额给的回馈,补贴是按笔给的对冲。两者都会让账面数字变大,但性质完全不同。返点算收入,补贴算抵减。把返点当补贴处理会让成本失真,反过来也一样。分辨的关键是看它跟成交挂钩还是跟单笔挂钩。
把补贴从成本里剔出去之后,还要检查基数有没有被补贴改变过。补贴如果发生在基数确定之前,基数本身就变小了。这时候剔除补贴并不能还原到原状,因为比例已经乘在那个变小后的基数上。正确的处理是把顺序还原一遍再算,还原的步骤写进记录。
有些活动的补贴是按月汇总返还的,不逐笔对应。这种情况下单笔订单上找不到补贴痕迹,只能在月度汇总里看到。算单笔成本时容易把这一块完全漏掉。补正的办法是在月度层面把补贴加回去,再看单笔的平均成本。按月处理的粒度粗一些,但比完全不管要接近实际。
判断一个数字里有没有混进补贴,可以看它是不是明显低于按规则算出来的数。低于预期通常意味着有一部分被别人承担了。高于预期则往往是漏了某一项自己该承担的。两种偏差的方向能帮着缩小查找范围,让人知道该往哪一边追。方向对了,排查就快。
补贴的承担方在活动进行中可能会变,前期平台全担,后期改成五五分。这种变化不会主动通知,只能从前后期的实际扣款差异里发现。发现之后要按时间切分,两段各用各的承担比例。按整场一个比例算会把两段都算错,而且错的方向相反,加起来反而不容易看出来。
多站点经营的时候,不同市场的补贴力度差别可能很大。同一类活动在一个市场靠平台补贴推动,在另一个市场靠卖家让利推动。用一套成本结构去理解所有市场会得出错误结论。分市场看补贴占比,才知道自己在哪些市场是真的在出钱,哪些市场只是借了平台的力。
补贴这一条理清之后,成本会回到一个更接近真实的水平。这个数往往比直觉偏低,因为直觉容易把买家的优惠全都算成自己的。真实成本偏低不是坏消息,它说明有一部分投入是别人付的。把这一部分认清,下一场活动的决策才有依据,也不容易高估自己的让利力度。
同类商家在同一活动期的价格与优惠构成,公开页面上是可以看到的。对着看能发现对手的让利里有多少来自平台侧的补贴项。这个对照只用于理解构成的差别,不用于推断对手的实际成本。两者之间隔着很多看不见的变量,推断出来的数没有意义。
补贴和折扣这两样混起来之后,还有一个连带影响,就是会让比例看起来失真。用混进去的数反推比例,得到的比例会比实际高。拿这个比例去估下一场,就会越估越偏。所以每次反推比例之前,先确认数字里有没有混进别人的钱。确认之后再反推,结论才站得住。
两种基数摆一起,让利差出多少
把两种基数放在同一组条件下比,才能看出差多少。条件包括同一件商品、同一折扣力度、同一笔订单金额。换基数的动作只做一次,其余全部固定住。这样比出来的差,才可以归到基数这一个变量上。归因干净了,结论才有用,也才敢往下一场活动上套。
差距的具体金额通常不大,但它的相对幅度会随着折扣加深而放大。浅折扣时可能只差百分之几,深折扣时能拉到两成以上。这个放大关系不是线性的,在折扣超过一定水平之后增长更快。所以深折扣活动要格外在意基数,浅折扣活动可以先把精力放在别处。
从另一个角度看,同样的让利力度换一个基数,最终到手的钱会不一样。这意味着一场活动做下来,成本高低有一部分取决于起算点的选择。这个选择往往在报名时就已经定下,活动中途很难改。所以报名前确认基数是值得花时间的一步,几分钟的事能省掉后面的解释。
两种基数下的成本差,会直接影响活动的盈亏判断。按低基数算看起来能做的活动,按高基数算可能就不划算。得出不同结论的时候,要先回去确认基数,而不是急着换商品或者改折扣。基数确认之后再判断,结论才站得住。跳过这一步,换什么商品都是碰运气。
差距还和时间有关,活动期越长,基数差带来的累计影响越大。短促的几天活动差距有限,跨月的大活动差距会累积成一笔可观的数。所以长周期活动在启动前更要把基数核清楚。短周期活动相对宽容一些,但也不是可以完全不管,尤其是反复做的常设活动。
把两种基数下的成本画在同一条时间轴上,可以看到差距是怎么一步步拉开的。前段差距小,后段差距大,拐点通常出现在折扣加深的时点。这个拐点的位置对判断什么时候该调整策略有参考价值。看到拐点比看终点数字更有信息量,因为拐点告诉人变化从哪里开始的。
不同商品对基数差的敏感度不同,高毛利商品相对不敏感,低毛利商品非常敏感。低毛利商品的利润空间本来就薄,基数差可能直接把利润吃掉。所以在低毛利品类上,基数口径要当成选品条件之一来看。高毛利品类可以放在次要位置,先把款式和周转看好再说。
差距还可以用来反向验证自己的理解,如果算出来几乎没差,说明自己可能把两个基数当成同一个了。两个真正不同的基数应该产生可辨别的差,除非折扣极浅。没有差的时候先怀疑算法,再怀疑数据。按这个顺序排查,比漫无目的地翻规则要快得多。
两种基数带来的不只是金额差,还有结构差。有些项在高基数下占的比重大,在低基数下比重小。结构变了意味着优化的着力点也变了。所以比较的时候不仅要看总额,还要看各块占比。占比的变化往往比总额更能说明问题,因为它不受整体规模的影响。
把差距换算成单件商品的成本差,更容易理解它的量级。一件商品差几分钱看起来无关紧要,一个月几十万件就变成一笔钱。用单件差乘以预计件数,得到一个可以横向比较的量。这个换算能帮人判断要不要为这个口径专门花工夫,也能帮人向上解释这件事为什么值得做。
差距在跨站点比较时会更明显,因为不同站点的折扣习惯不同。同一个基数选择在一个站点影响很小,在另一个站点影响就大。跨站点统一决策的时候要把这个差异考虑进去。按加权平均处理会掩盖问题,按站点分别看更清楚,也更容易找到该先处理哪个市场。
差距如果大到影响决策,就要考虑调整活动设计。比如减少折扣深度,或者调整参与的商品结构。调整的目标是让基数差落在可接受的范围内,而不是把差消到零。调整之后要重算一遍,确认效果符合预期。这个过程不需要一次做对,可以逐场迭代着来。
对比的时候不要只看自己一侧,还要看同类商家在同一活动里的表现。同类商家如果用不同的活动设置,成本结构会有差别。这个差别能反过来印证基数的重要性。参照物不必精确,能看出方向就够。方向看清之后再回头调自己的设置,比凭空猜要靠谱。
差距的存在本身不是问题,问题是不知道自己在用哪一个基数。绝大多数误差不是来自基数选择的好坏,而是来自不清楚自己选了什么。把选择明确写下来,误差就消掉大半。剩下的那一小半,才是真正需要讨论的判断问题,也是值得花时间去想的。
差距还会影响对活动效果的评估,如果成本被高估,活动看起来就会偏亏。高估和实际亏损是两回事,但两者在报表上长得一样。分不清就会做出错误的取舍,把本来该做的活动砍掉。所以基数这一层算准,受益的不只是成本表,还有对活动的整体判断。
知虾的关键词分析把同一批词在不同折扣档位下的费用结构并列展示,数据更新到前一交易日。借它看两档之间的结构变化,能更快判断基数差是集中在某一项上还是均匀分布。结构的分布比总额的差更有诊断价值,因为它能指出该先动哪一项。
两种基数的对照做完,这一节的核心问题就答完了,就是差多少、差在哪里、什么时候差得最多。有哪些名目不在这里展开,那是上一节的内容。钱什么时候真正离开账户,也不是这一节要回答的问题。

图3:深色代表这类订单对相应分歧最敏感,浅色次之,横线代表基本不受影响。敏感度高不等于金额大,不代表这一类更重要。
玩法的规则一变,这套口径就得跟上
活动规则更新频繁,尤其是每到季度交替或者大促之前。规则一变,口径跟着变,原来算出来的数不一定还成立。所以口径不是一次性工作,它需要跟着规则走。建一个固定的复核动作,比每次临时应付省力,也不容易在忙的时候整块漏掉,动作本身可以很简单。
规则变化有几个常见方向,一是比例调整,二是基数变化,三是分档重划。三者里基数变化最不容易被察觉,因为它藏在文字里而不在数字里。只盯比例的人往往在基数上吃亏,而且吃亏之后还不知道问题出在哪。复核的时候把三项都过一遍,不要只挑显眼的那一项看。
判断基数有没有变,可以找一个基准商品做前后对照。同一件商品在两次活动里的实际扣款比一比,差额如果不能用比例变化解释,就说明基数动了。这个方法不需要读全部条文,找差异最快。用数字对数字,比用文字对文字可靠得多,也不容易受措辞变化干扰。
分档重划的影响体现在临界点附近,档位分界线挪动之后,原本按高档算的订单可能落到低档。反过来也一样。受影响的订单集中在边界附近,总量不大但单笔差异明显。复核的时候要专门看这部分订单,不要因为占比小而忽略。差异往往就藏在这些少数订单里。
规则更新有时候会给出过渡安排,比如老活动按老规则跑到结束。这时候同一个周期内会有两套口径并存。按一套统一算会有一半是错的。正确的做法是按活动分别套用,不要按时间统一。分开处理的工作量比想象中小,因为过渡期通常只持续一两个周期。
口径变更之后,历史数据要不要重算是个常见的选择题。如果需要跨期对比,建议重算,否则趋势会被口径变动扭曲。如果只是看当期,可以不重算,但要在记录里注明变更时点。注明这一条比什么都重要,它能让后来的人看懂两个数字为什么不一样。
记录变更时点的最小做法是写一行备注,注明哪天起用新口径、变了哪一项。这一行看起来简单,半年之后查历史时价值很大。没有这一行,两个看起来矛盾的数字就永远说不清谁对。写备注的成本很低,收益会持续很久,属于顺手就能做的事。
规则变化还会带来名目的增减,但这一层不属于本篇。本篇只关心基数、比例、分档这三样有没有变。名目层面的变化在上一节有对应的处理方式。分开管这两件事,复核的动作也更清楚,不会因为名目多了一项就把基数也重新推一遍。
跨站点经营的时候,规则更新往往不同步,一个站点先改,另一个站点几周之后才改。这会导致同一时期两地对同一个名目用不同口径。汇总的时候要按站点分别处理。等两边都改完再统一,中间这一段要单独标注,标注的内容包括起止时间和差异点。
玩法更新后最容易出的错是沿用旧档位算新活动,算出来的数看起来合理,实际偏低或者偏高。之所以不容易被发现,是因为偏差落在一个可接受的范围内。累计几场之后才会显出来,那时已经影响了好几轮决策。所以复核要在第一场就做,不要拖到月底。
复核的频率建议跟着活动节奏走,做活动前核一次,规则公告出来之后再核一次。两个时点之间如果出了新公告,随时补核。频率不需要固定,跟着变化走更实际。固定频率容易漏掉中间的变更,也容易在没什么变化的月份白白花时间。
规则变更之后,之前建立的对照基准可能要换。比如原来用来对照的商品改了价,基准就不成立了。换基准的时候要保留旧基准的记录,否则前后数据接不上。接不上的数据在跨期分析里等于没有,只能从头重新积累。保留旧记录的成本很低,作用却很大。
口径维护的工作量主要来自确认,而不是修改。确认基数没变和确认基数变了,花的时间差不多。所以不必因为想省时间就跳过确认。跳过一次省下的时间,通常会在后面以对不上账的形式还回来,而且那时候还要回头找是哪一次漏的,成本更高。
有些规则变化会写在细则的附件里,不在主条文上。只看主条文的人会漏掉附件带来的口径调整。复核的时候顺带翻一遍附件,能挡掉不少意外。附件通常篇幅不长,看完花不了多少时间,却经常是变化最集中的地方。
规则变化的通知方式也不统一,有的发公告,有的只在报名页面出现一行提示。只看一种渠道的人容易漏。把常见的几个入口列成一张清单,每次复核时依次过一遍。清单不需要长,覆盖住自己常做的那几类活动就够用。
规则更新之后,先拿自己记录的旧口径和当前的实际扣款比一次,能较快发现是哪一项对不上了。发现差异之后再回条文里确认那一段,比通读全部规则省时间。逐项确认的做法,在规则改动频繁的月份尤其管用。
口径跟上规则之后,算出来的数才是当期可用的。这一节不重列名目,也不讨论从报名到落袋的路径。变化管理做完,口径这一层就算交代完整了。名目在上一节已经说过,钱什么时候走和最后归到哪里,分别交给后面两层去处理。

图4:横轴是折扣力度,纵轴是相对于原价口径的成本。两条线的距离随折扣加深而扩大,这个扩大不是线性的,越往后拉得越快。
基数这一层讲完,名目在上一节里
基数这一层回答的是每一项费用乘在哪个数上,它和名目的关系是承接而不是重复。名目先说有哪些项,基数再说每项乘什么。两层都做完,一项费用才算具备可算的全部要素。缺了基数这一层,名目就只是一张清单,看不出每一项到底会切走多少。
把两层分开写的好处是维护成本低,名目变化慢,基数变化相对快。规则调整多数时候动的是基数或者比例,很少新增名目。分层之后每次只改动一层,另一层保持不动。这样不同时期的记录之间还能保持可比,回头做趋势分析时不会突然断层。
基数这一层最容易出的错是口径不完整,写了金额类型却没写时点。完整的口径至少要包含商品、时点、金额类型三个限定。三项齐全之后,两个人算同一笔才会得出同一个数。缺一项就会出现两个答案,而且两个答案各自的道理都说得通,谁也说服不了谁。
基数确定之后要留一个反查的入口,也就是能拿实际扣款倒推出基数。倒查得通说明口径写得够具体,倒查不通说明还有隐含条件没写下来。这个入口在换人接手的时候特别有用。没有它,新接手的人要把之前的工作重新摸索一遍,摸索出来的还未必和原来一致。
不同订单类型对基数的敏感度不一样,新客单、复购单、组合单各自的金额构成不同。用一套基数理解所有类型,误差会集中出现在结构最复杂的那一类上。分类型各写一行,比统一写一行更耐用。行数多出来的部分花不了多少时间,省下的返工时间却不少。
基数这一层不涉及钱什么时候走,那是链路那一层要处理的问题。也不涉及最后归到哪本账,那是结算那一层的事。四层各管一段,交叉越少,每一层都越容易写清楚。这一篇只站在口径这一层上,越界去讲别的层,这一层就讲不透。
口径正确不等于结果一定对得上,还有数据源差异在起作用。平台展示的数、结算单上的数、自己记的数,三者可能都不完全一致。基数这一层只管算法对不对,管不到数据源是不是一致。发现对不上时先分层判断问题出在哪一层,别一上来就怀疑自己的算法。
分层排查的价值在于缩小范围,如果名目已经数全、基数也已经确认,那么差异多半来自数据源或者时点。这样就不用把四层全部翻一遍。排查效率高的关键不是更努力,而是知道该先看哪一层。分层正是为了这个,它把大问题拆成了几个小问题。
基数的写法还有一个常见的坏习惯,就是只记一个数不记出处。出处指的是这条口径写在哪份规则的哪一段。没有出处,规则更新时就没法判断这一条还成不成立。加上出处这一栏,维护时只要顺着去核一遍,不必从头再推。这一栏的成本很低,用处却很直接。
有些读者会问基数和名目哪个更该先定,答案是先定名目。名目决定要算几项,基数决定每项怎么算。顺序反过来会算到一半发现少了几项,前面的工夫要重来。顺序对了,工作量反而更小,因为不需要在中途折返。
基数这一层在小规模活动上看起来可以简化,简化到后面往往要补。简化省下的时间在补的时候会加倍还回去,因为补的时候还要回忆当时是怎么想的。所以即便活动很小,也建议把三项限定都写下来。写下来只花几分钟,补起来可能要花好几天。
跨站点经营时基数这一层要建立分站点的写法,一份总口径铺到所有市场会失真。各市场的规则、折扣习惯、补贴力度都不同,硬套的结果是每个市场都差一点。分站点写初始投入大一些,但后续维护反而更省。一次投入换长期省事,是划算的。
把基数这一层的结果做成一个小表,行是名目,列是基数、比例、分档方式,日常维护就方便了。表不需要多漂亮,能一行一行往上加就行。表里每一行都要能反查到规则出处。有出处才有更新的依据,也才能在争议时拿出依据。
有了这张表,判断一场活动能不能做就多了一层依据。看表能算出不同折扣下的成本区间,不用每次从规则重新推一遍。它不替代判断,只是把判断的前提摆清楚。前提清楚之后的判断,才不容易被情绪或者短期压力带走。
这张表还有一个连带的好处,就是能把不同活动的成本放在同一个尺度上比。口径统一之后,活动之间的差异就是真实差异,不再是算法差异。这样比较出来的结论才有意义,也才值得拿去支持后面的取舍。
验证基数表有没有明显遗漏,可以按商品和档位两个维度各排一遍,看有没有格子空着。空格通常意味着这一层还没想周全。它给的是结构上的自检,具体算法仍以平台规则为准,两者不能互相替代。
基数这一层讲完,名目的部分在上一节已经交代过,不在这里重复。钱什么时候走、最后归到哪里,分别属于后面两层。这一节的目标就是让每一项费用都有明确的起算点,而且这个起算点能被别人照着还原。