虾皮选品维度想压成一条公式,先解决什么
先解决口径,不是先解决算式。同一项输入在不同的人手上能读出不同的数,算式写得再整齐,代进去的也不是同一批东西。口径的意思是这一项按什么写法读、在什么范围内读、读到哪一位算够。这三件事定不下来,后面每加一项都要回头改一遍前面。
口径定住的标志很朴素,你换一个人按你写的说明去读同一批候选款,读出来的数和你几乎一致。做得到,口径就站住了;做不到,说明说明里还留着靠默契填的空。默契在小团队里看着有效,一旦要把结果交给别人,那几处空就变成几处各说各话。
还有一件跟口径有关的事要先想明白,就是这条算式算的是哪一批对象。你是拿它给十二个候选款排序,还是拿它在一个类目里粗筛一遍,两种用法的输入项不太一样。前一种要每一项都能把这十二行分出前后,后一种只要几项能把明显不合的挑出来就够。
口径还包括一个范围上的交代,哪些站点哪些类目在这一轮里。你在三个站点上看,和你在九个站点上看,同一项的分档很可能要换。范围不写在一处,别人拿到你的算式代进去,算出来的结果跟你的不在一个范围里,两边对不上还找不到原因。
最后要把口径写在一个能被找到的地方。写在算式旁边、写在表头、写在一段说明里都行,关键是不能只留在你脑子里。口径只留在一个人脑子里的算式,本质上还是一段个人经验,换个执行的人就重跑不出同一个结果。
口径这件事还有一个反向的好处,它能把一条算式挡在门外。你手上明明想算的东西,有几项根本读不出统一的写法,那这一轮就不该走算式这条路,停在表上更合适。知道哪条路走不通,跟知道哪条路走得通一样有用。
判断走不走得通,只看一件事,你的输入项里能不能凑出三项以上同口径、同方向、能被复读的。凑不出来,算式就只能靠估的和编的撑着,撑出来的结果看起来齐整,实际上你自己都不太敢用它做决定。这种时候把表摆齐直接看更省事。
想清这些之后再动手写,你会发现要花时间的地方不在算式那一行,在它前面那一段说明。说明写清楚了,算式本身往往短得让人意外。写不清说明的算式,通常会越长越复杂,因为它在用各种系数去弥补前面没说清的东西。
还有一个跟口径连着的判断,是你这条算式准备被跑几次。只跑一次用来定这一批候选款,口径可以写得松一些,反正下次重来。要反复跑、要给别人跑,口径就得写到别人照着做也对得上的程度,这两种要求的差着不少工夫。
写口径的时候顺手把例外的处理方式一起写上。某一行的某一项读不出来怎么办,某一行的取值落在两段边界上算哪一段,这些都会遇到。不写处理方式,每次遇到都要临时拍一次,拍第二次的时候你多半会拍得跟第一次不一样。
把口径、范围、例外这三样写齐,你手上就有了一份能交出去的算式说明。它不进算式本身,但它是算式能被别人重跑的前提。少了它,算式只是一段只有原主人能读的东西,跟一段手写的经验没有本质区别。
口径里还要写清一件事,这一项是按量级读还是按排名读。按量级读,换一批候选款之后分档的边界要重定;按排名读,边界跟着这一批走,省事但换批就作废。两种读法都能用,代价不同,写清楚就行,怕的是两行用了两种读法却没人发现。
还有一件跟口径有关的收尾,把这一轮不打算算的那几项也写下来。写下来有两个用处,一是别人知道你不是漏了,二是下一轮要加的时候你知道从哪儿接。不写的话,同一项可能被反复讨论要不要加,每次都从头争一遍。
口径这件事做完之后,你会发现它占的篇幅比算式长得多。这是正常的,算式只是一行加法,难的是让代进去的每一个数在不同人手上都是同一个。这一篇后面讲给分、讲抵消、讲哪些项进不来,全都是在口径这一层上展开的。

这条路径上任何一个动作跳过,公式都会变成一个好看的空壳(人造示例)
维度加权公式的每一项怎么给分
给分之前先定方向,每一项是越大越靠前还是越小越靠前。价格档这一项常常是越低越靠前,评价数量级是越高越靠前,两项目的方向相反。方向不写清楚,最直接的结果是同一套权重在两个方向上一起发力的项,会互相拉扯,最后净值看着像没什么差别。
方向定完之后是分档,把连续的量级折成几段。评价数量级从几百到几万,直接代进去会让头部的几行把整列的分差全占走,后面的行看上去都差不多。折成几段之后每一段占一个分值,差别的可比性反而清楚。分档的段数按你手上这一批候选款的分布来定,不必照搬。
权重是最后一件事,也是最容易凭空定的一件事。你手上没有哪一个数能直接告诉你价格该占几成。能做的是先让权重全部相等跑一遍,看结果跟你的直觉差多远,再针对差异去动那一项。从差异往回推权重,比凭感觉先写一排数要站得住。
给分还有一件容易漏的事,同一个输入在不同站点上的量级不一样。某一项在其中一个站点上普遍偏大,在另一个站点上普遍偏小,两边的行混在一起算,小站点上的行会整体被压低。发现这种情况,先把站点拆开算,算完再并着看,而不是硬放在同一套分档里。
分档的边界要怎么放,有一个直接的参照,看那一项的原始值在这一批候选款里怎么分布。挤在一处的部分不用切得很细,拉开得远的部分才需要分段。照着一批具体的候选款来定边界,比照着一个通用的印象来定要实在。
扣分项和加分项要分得清楚。有一个常见的做法是把方向相反的项都先转成同向,再一起加。转的时候要写清是怎么转的,是把低的价格档映射成高分的价格优势,还是反过来。转法不写清,别人看算式的时候会在这一处卡住。
给分的时候还要防一种情况,某一项在头部几行上的分值拉开得很大,在中间几十行上却几乎一样。这种项在算式里会变成一个筛子,只把头部那几款抬起来,其余全靠别的项决定。你要是想让整批候选款都被分出层次,这一项的分档就得往中间再切一段。
另一个要防的是极端值把整列带偏。某一款因为某一次活动,在售件数的量级远高于别的行,它一条就把这一列的刻度拉到了很高。处理方式是给它单列或者截顶,别让它决定整列的分布。一条极端值影响的不是它自己那一行的分,是其余每一行的相对位置。
每一项的分值区间最好统一,比如都落在同一段范围里。区间不统一的时候,某一项因为取值天生就大,权重即使设得相同,它在总分里的实际影响也会更大。想让权重真的按你写的比例起作用,先把每一项的分值区间拉齐。
分值区间拉齐这件事会带出一个副作用,就是分值的数值大小失去了意义。某一项打了八十分,它只说明这一项在这一批候选款里位置靠前,不说明它比别处高八十分。看结果的时候心里存着这一条,就不会拿不同项的分值直接相减。
权重的写法建议保留它最朴素的样子,一列数写在那儿,加起来就是那个比例。有的算式会引入各种修正系数,让某几项在特定情况下悄悄变重。这种设计在你一个人用的时候还撑得住,交出去之后没人能跟着它走。
每一项给完分之后,最好拿两行反过来验一遍。挑一行你事先就知道它该排在前面的,再挑一行你知道它不该的,看算式给出来的位置对不对。两行都对了,这个给分方式才有点底,不用等到整批跑完再发现方向反了。
给分还有一个顺序上的讲究,先把所有项的分都算出来,再谈权重。一边给分一边调权重,你会分不清某一行的位置是被权重动的还是被分档动的。先把分那一层定住,权重那一层再去动,动完能一眼看出是谁起作用。
每一项给完分之后最好留一列原始值在算式旁边。这一列不进计算,只用来看。某一行的分看着不对,抬头就能对着原始值核一遍,不用回到别处翻。算式跑得越多,这一列的价值越明显,因为你会越来越依赖那个分,越来越懒得回去看原值。
最后要提醒的是,给分方式不该一次定死。这一轮走完,你会知道哪一项的分档切得不合适,下一轮改一版就行。把它当成一个可以迭代的东西,比一开始就想切得刚好要现实。第一次切得粗糙不丢人,后面一直不改才是问题。

越往下越难写成输入项,最后一栏本来就该留在公式外面(相对值)
维度之间互相抵消,公式就失去意义
维度互相抵消是这一类公式最典型的骗人方式。某一项给你加了一截,另一项给你减了一截,两项在算式里是加法,在含义上却在打架。你看到的是净值,看不到它是由哪两个方向合成的。净值接近的两个候选款,往后要走的路可能完全不一样。
抵消最容易出现在成对出现的维度上,价格和评价数就是一对,便宜的往往评价少,评价多的往往贵。在售件数和上新节奏也常成对,铺得多的往往上新慢,上新快的往往铺得少。这两对在算式里都表现为一正一负,净值比两项各自的分都小。
看住抵消的办法不是把权重调得更精细,是把两项的净值分开放。公式照算,旁边再留两列写着这两项各自的分。净值接近的时候,你低头看一眼那两列,就能看出接近是巧合还是真的同质。这跟表怎么摆没关系,是算式之外的一个检查动作。
抵消还有一种不太明显的形态,是一项的分差被另一项的分档吃掉了。某一款在价格上有明显优势,可价格这一项只分了三段,它跟相邻的一款落在同一段里,优势在算式里就消失了。这不是两项互相抵消,是分档把差异压平了。
分档压平这件事没有通用的修法,只能看你要区分到什么程度。你要是只想把明显不合的挑出去,三段够了;你要是想在几个接近的候选里分出前后,就得在这一项上多切一段。段数是为这个提问服务的,不是为数的好看服务的。
有一种抵消是好事,不必去修。你手上有一款又贵又老,它本来就不该排在前面,两项一起把它压下去,这个结果是你要的。所以看抵消的时候先问一句,这个抵消把我的判断带偏了没有。没带偏就留着,不必为了算式的干净去改结构。
抵消还跟站点结构有关。同一个类目在两个站点上的价格分布宽度不一样,宽的站点上价格档这一项分得开,窄的站点上几乎分不开。同一个算式在两边跑出来的效果不对等,一边价格项在起作用,另一边几乎没起作用,你却以为两边的权重是一样的。
看住这件事的做法和看住抵消一样,把两项的分各自留一列。跑完对照着看,某一项在某个站点上几乎不贡献分差,你就知道这一轮在那个站点上其实是别的项在决定顺序。知道哪一项在哪一站没起作用,比知道总分是多少更有用。
还有一种抵消来自你自己加的两项本身就重复。你把评价数量和评价增长各算一项,两项在这个量级上大部分时候一起走,它们合起来把同一个信号算了两遍。重复的项在算式里会放大它自己的影响,把权重表上写的比例悄悄改掉。
对付抵消还有一招更彻底,就是把成对的项拆成一层结构。你把价格和评价数放在一起看,先看它们的组合落在哪一种形态上,再决定往哪边算。这样算式处理的不再是两个独立的项,而是几种已经分好的形态,抵消在进入算式之前就被说清了。
不过拆成形态会增加说明的长度,也会让别人读起来更费劲。要不要走这一步,取决于抵消在你这一批候选款上出现得频不频繁。偶尔出现一次,留着两项各自的分就够了;大多数行都在互相拉扯,形态这一层才值得加进来。
有一次真实的教训值得记住,某个算式的前几名里有两款净值几乎一样,往下推的时候选了其中一款,过一段时间回头看,才发现另一款赢的那一项才是这一轮真正在意的。不是算式错了,是净值把方向藏起来了。
知虾把九个站点的公开面按同一套写法摊开的那一层,正好挡住了抵消里最难查的一类原因,就是两边读的根本不是同一套口径。你在两个站点上各读一个数,写法要是不同,两项合起来算出来的净值会带着这层不同,你从算式里看不出它是怎么来的。
反过来也要承认它的边界,它能做的是把公开那一层摆齐,替你补上自己这一侧的取舍它做不到,替你去别人后台取数更做不到。所以算式外面那几项该由你自己填的,还是你自己填。知道哪一段不是它能给的,你在写权重的时候就不会等它。
抵消这件事还有一个副作用,它会让权重看起来比实际更关键。你觉得是权重没调好,其实是两项在打架,调权重只是一次次把那个净值挪来挪去。先看清是抵消还是权重的问题,再动手,能省掉好几轮无用的调整。
| 这一项 | 怎么读成数 | 方向 | 进不进算式 | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 价 | 格 | 档 | 位 | 置 | ||||||
| 公 | 开 | 标 | 价 | 落 | 的 | 那 | 个 | 区 | 间 | 段 |
| 越 | 低 | 越 | 靠 | 前 | ||||||
| 进 |
选品维度里哪些能量化、哪些只能描述
能量化的那一拨,共同点是被同一个写法读出来不打架。价格落在哪一档、评价数在什么量级、在售件数在什么量级、上新隔多久一次,这四样都能读成数,也能换个人重读一遍。它们进公式之后,算出来的结果至少是能被复算的,复算这件事本身就是它们能进来的原因。
只能描述的那一拨里,最典型的是团队对这一块类目的熟度,还有这一款的售后麻烦程度、图片和文案要花多少工夫。这些东西在公开面上找不到对应,写成一个数也只是把你的印象换了个皮。它们该留在公式外面,写进旁边的一段话里。
还有一种介于两者之间的,是站点结构差异这一类。它能被读出来,读法却不止一种,你按类目数量读是一种数,按价格带宽度读又是另一种数。这类项可以进公式,前提是把读法写死在说明里,并且认下换一种读法结果会变。不写死就等同没有口径。
能量化的那一拨里,还有一种要额外注意,就是依赖观察窗口的量。上新节奏这一项,你看一周和看一个月,读出来的数会差很多。它本身能量化,进算式也没问题,代价是你必须在说明里把窗口写死,并且认下换窗口之后排序可能变。
只能描述的那一拨也不该被扔掉,它们该去的地方是算式的旁边。你在算式外面写一段话,说明这几款在售后麻烦、图片工夫、补货难度上分别是什么情况,读的人看完算式再看这一段,对这几个候选款的理解才是完整的。
有一种做法是把只能描述的那几项也编成分,方便起见。这个做法在只给自己看的时候可以将就,代价是过一段时间你自己都不记得当时为什么给这一款打了四分。分一打完,判断的理由就被压缩掉了,留下来的只有那个号。
同一项在不同人手上能不能读出同一个数,还跟这一项的颗粒度有关。价格档切得越细,两个人读出来不一致的机会越大;切得越粗,一致性越高,代价是分辨力下降。这个取舍要按你这一轮要分得多细来定,没有一个粗细通用。
描述类的项也可以有另一种用法,不当输入,当剔除条件。你有几款明知道售后麻烦到自己处理不了,那就直接在进算式之前把它们挪出去,而不是给它们编一个低分。挪出去是动作,编个分是伪装成算式的动作,两者的效果差得远。
量化不了的东西还有一类是不该被衡量的,比如你对某一个类目因为过去吃过亏而格外谨慎。这种谨慎进算式会变成一个没有来路的扣分项,留在外面才对。承认它有,并且在结论里交代一句,比把它塞进算式里装成一个客观的量要好。
数得出来的项还有一个共同点,它们都是别人也能看到的。你自己这一侧的数,比如进货成本,虽然是个确定的数,但它跟别人看到的不在同一层上,混进同一套分档里会让两边都不好读。要算它,就在最后一层单独算,别跟公开面的项混在一起。
描述类的项在交接的时候最容易被省略,因为写起来费事。省掉的后果过一段时间会显现,接手的人只看到算式给的那个顺序,看不到当初为什么把某一款往后放。所以描述这一段是交接的一部分,不是可选项。
把两项分开之后,算式给的分就变成了一条能被检验的东西。别人拿同一批候选款、同一套口径跑一遍,应该得到和你几乎一样的顺序。跑出来不一样,问题多半出在某几项的读法上,这就是口径说明该起作用的地方。
能量化的项里还要分出一类,它是别的项的派生。你在售件数能读出来,升幅也能读出来,可升幅本身是用两个时点的数相减得到的,它带着两个时点的口径。这类派生项进算式之前,要先确认两端的读法一致,不然它会把两处的不一致一起放大。
描述类的项还有一个用法,可以放在算式出来之后用来解释结果。顺序跑完了,你把描述那一段补上去,读的人就知道为什么某一款虽然分高却还是被放在了后面。顺序在前、解释在后,两段各说各的,比把解释硬塞进算式里清楚。
分辨这两拨有一个很快的动作,把这一项交给另一个人,让他按你写的说明去读同一行。他能读出一致的数,就是能量化的;他要问你半天才知道该怎么读,就是只能描述的。这个动作不需要任何工具,找个人试一行就够。
公式前面为什么必须有一张表
公式用的每一项,都得先在表上被并排看过一遍。并排看过之后你才知道这一项在这一批候选款里到底有没有分差,也才知道它的写法在不同行之间是否一致。没有这一步,你会把一个在所有行上都差不多值的项写进算式,它不提供任何区分,只提供一截固定的分。
表还负责挡住那些拿不到的项。你在表上试过把某一项填进去,发现有几行根本没有值,那这一项就不该进公式,连带它的权重也不需要讨论了。先摆表再写算式,省掉的正是后面这种回头拆算式的事。
顺序上只有这一句可以带过,先有能并排的表,再有能复算的算式。这一篇不写表怎么摆列、怎么切行,只说清它在这一步承担什么:它把口径试出来了,把拿不到的项先筛掉了。做完这两件事,算式才有东西可代。
表在这一步做的不只是试口径,它还给算式提供了一个可以回头的落点。后面算式跑出来某一行的分看着不对,你顺着那一行回到表上,能一格一格地看是哪一个输入出了问题。没有表,你回头看到的只有那个分,看不出它是怎么来的。
表还顺手解决了另一个问题,就是同一项在几行上的写法一致性。你在表上横着扫一遍,哪一行的写法跟别行不一样,扫的时候就会露出来。算式里看不出这种不一致,它把每一格都当成同样成色的数代进去,算出来的结果就带着这层不一致。
所以这一步的顺序不是讲究,是省事。先在表上把口径试通再写算式,比先写算式再发现有几行读不出来要快。这一篇在这里只交代表承担了什么,至于表该怎么切行、怎么定列,那是另一个形状的活。
表在这一步还替算式挡掉一种麻烦,就是同一项在几行上的取值来源不同。有的是公开面上读的,有的是你自己估的,两种并排摆在表上你能立刻看出来,算式里它们长得一模一样。表上的这一眼,省掉的是后面反复验算的时间。
还有一层是表能让你看出这一批候选款本身够不够齐。有的行只有三项有值,别的都空着,这一行代进算式算出来的分天生偏低,跟它实际情况没关系。发现这种情况,要么补上那几项,要么这一行不进这一轮,别让它带着残缺的分去参加排序。
把这一层说清楚之后,就可以往下走到算式这一层了。表把口径试通、把拿不到的项筛掉、把来源不一的行标出来,算式要做的只剩一件事,把能进的那几项按你给的方向和权重合起来。前面没做,后面就会在算式里反复补。
表还有一个隐性的作用,它让这一批候选款的范围变得可见。你在表上看一眼一共有多少行,行与行之间差别大不大,就知道这一轮该用一个算式还是该分几组来算。范围不清楚的时候,一个算式从上盖到下,出来的顺序里混着几类不该放在一起的东西。
范围清楚之后才谈得上权重的取舍。你手上只有十二行,其中八行在同一个类目里,那价格这一项在这八行之间的分差就不会太大,权重给多少影响有限。换成三个类目混在一起,价格项的分差一下子拉开,权重的分量跟着变。
所以表在这一步的活是三项,试口径、筛掉拿不到的、让你看清这一批候选款的范围。这三项做完,你手上就有一份能直接拿去写算式的输入清单,清单上每一项的读法都是你确认过的。算式这一层要怎么合、方向怎么定、权重怎么给,是这一篇后面几段的事。
表在这一步还替你把候选款的数量摸清了。你手上要算的是十二行还是四十行,决定了这一套分档和权重该有多细。行数少的时候分档不必要切得太碎,每一段都会显得空;行数多的时候分档太粗,中间几十行会挤在同一个值上,排序靠的其实是项与项之间的微弱差。
摸清行数还有一个好处,你会知道这一轮的结果要用在什么场合。十二行的排序拿去做一次讨论很合适,四十行的排序更适合分层来看,先看前几层再往下。算式的输出是一样的,怎么用跟行数有关。
把这些前情做完,你再回头看那条算式,会发现它其实很短,短到只有一行加法。它短是因为该定的都在前面定好了,该筛的也在前面筛掉了。一篇讲算式的文字把大半篇幅花在算式前面,这不是跑题,是它能不能被复算的关键本来就在那一段。

能不能进公式,看的不是这一项重不重要,是这三条能不能同时站住
公式跑完后最该回头核的是哪一项
跑完之后第一个该核的不是排在最前的那一行,是排在中间那几行。头部往往几个候选款都明显靠前,靠前的原因也一致,看它们看不出算式有没有问题。中间那几行分差最小,它们最能显出权重和方向是否合理,也最容易暴露抵消。
第二个该核的是那些只靠一项得高分的行。某一款在价格档上是明显的头部,别的几项都在中游,靠一项拉到了前列。这种行要单独看,因为它在算式里的位置很依赖那一项的分值段怎么切。段一改,它可能整行往下掉。
核的时候还要回看输入本身。某一行的分高得不太合常理,先别改权重,先回表上把那一行的原始值读一遍,看是不是读错了数或者口径对不上。这一类错在算式里看不出来,只有在表上对着原始值才能发现。
核的时候心里要有一个次序,先核输入的一致性,再核分档,最后核权重。次序反过来的话,你会一直在调权重和分档,而真正的问题可能出在某一行的原始值读错了。调到最后权重被你改得面目全非,那个读错的数还留在原地。
还有一种情况是算式本身没问题,但你这一轮的目标变了。上一轮你想先跑量,权重往量那边偏,这一轮想先守利润,同样的算式跑出来的排序对你就不再合适。这时候要改的是权重,不是输入,也不是分档。分清是哪一层变了,能省掉不少来回。
核完一遍之后有一个动作值得留下,把这一轮用的口径和权重记一笔。下一轮再跑的时候,你先看这一笔,就知道上一轮是在什么前提下算出来的。不记这一笔,两轮的结果放在一起比较,你分不清差异是候选款变了,还是口径变了。
核的时候还有一种行要单独看,就是几乎所有项都落在中游的那一行。它在算式里不显眼,可它往往是最难处理的一类候选款,因为它没有明显短处也没有明显长处。这一行的顺序对权重特别敏感,权重一动它就会上下跳。
还有一种行要先排除掉再核,就是输入里有明显缺值的行。缺值的行算出来的分天然偏低,它不代表这一款真的差。看到这种行排在后面,先补值或者先把它挑出来另说,别急着改算式,改了也解决不了它这一行的缺值问题。
核完的收尾是把这一轮的取数时段写下来。同一批候选款在上个月跑一遍和这个月跑一遍,排序会有差别,这个差别里有一部分是市场动的,有一部分是你取数时段不同。写下来之后,下一次再看同一批候选款,你才知道该跟哪个数比。
还有一个核法是从后往前看,先看排在最后的那几行。它们是不是都带着共同的毛病,比如某一项特别低,还是各行的问题不一样。毛病一样,说明是那一项在起作用,看它对不对;毛病五花八门,说明你可能在拿一个算式管几类不该混的对象。
核的过程里会碰到手感不符的地方,这时候要先分清是哪种不符。第一种是某一行的位置跟你以为的差得远,第二种是整体顺序跟你以为的不一样。第一种去查那一行的输入,第二种去查权重和分档,两种的修法不在同一处。
核完之后如果决定保留这一轮的结果,把这一轮的口径和权重抄一份留下来。下一轮的目标可能就变了,到时候你要知道上一轮是在什么前提下跑出来的,才不会把两轮的结果当成同一把尺子量出来的东西。
核的时候还有一个动作容易被跳过,把这一轮的结果跟上一轮对照一遍。两次之间是不是有候选款换了位置,换位置的那几款是输入变了还是口径变了。单看一轮的结果看不出这件事,两轮并着看才能看出它是不是在动。
如果两轮之间动的候选款很多,多半是取数时段不同,或者某一项的分档边界动过。这两样都会让整批顺序整体挪位。发现整体挪位,先别去改算式,先把两轮的取数时段和分档边界摆在一起对一遍,对完再决定要不要动。
核完这一轮的收尾是把它归档。归档的东西不只是一串数字,还包括这一轮的目标、口径、权重、以及哪些项没进。少了这几样,过一个月你打开这份结果,只知道有这么个顺序,不知道它对什么样的问题有效。

每个维度自己都在涨,抵完以后净值反而不动,这是抵消最常见的形态(人造示例)
虾皮选品维度写公式时最常见的三种自欺
第一种自欺是把描述当成了量。你把团队对这一块熟不熟写成一到五的分,看着进了算式,其实它只是把你的印象编了个号。换个人来打分,整行的结果会跟着换。这种项在算式里最不容易被发现,因为它不报错,只让结果轻轻偏一点。
第二种自欺是权重凭空定完就往下走。权重是算式里那一样没有公开依据的东西,它来自你的取舍,不来自任何表。凭感觉定不丢人,丢人的是定完之后忘了它是凭感觉定的,再看到结果时把它当成一个算出来的客观排序。
第三种自欺是拿净值当成结论。净值接近的两个候选款,在算式里只差一点点分,你按这个顺序往下推,很可能推错。真正该看的是两项各自的分在什么位置,以及它们是不是朝相反方向发力的。算式算完,活还没完。
还有一种自欺不在算式里,在算式的用法上。你把它当成一个能长期复用的东西,可它是在某一批候选款、某一个时间点上调出来的。换一批候选款之后,分档的边界和权重都得重看一眼才算用过,直接套上去只是把它们换了个名字。
另一种是把算出来的分当成对市场的判断。这个分只反映了你选的这几项和你给的那几个权重,它说的是这批候选款在你这一套标准下的顺序,不是这块市场本身怎么样。这两件事差得很远,混起来之后你会拿一个内部排序去解释外部情况。
避开这两种自欺的办法很朴素,在算式旁边写一句它是什么时候、在什么范围、按什么口径算的。这一句话不改变算式的结果,它改变的是别人看到这个结果时会怎么用。写在旁边,比留在脑子里可靠。
还有一种混合型的自欺,是把描述类的项写成数,又给它一个很大的权重。它平时不显眼,等到两个候选款的实读项分得差不多的时候,这一项就决定了先后。你回头看排序的时候,会觉得这个顺序有点说不清,原因就在这儿。
避开它的办法是在算式里给能进的那几项单独跑一遍,再把你编出来的那几项单独看一遍,两边对照。两边结论一致,那这个顺序是稳的;两边结论相反,你就得回去看看是不是那一项编的分在替你做主。这个对照不需要额外工具,跑两遍就行。
三种自欺加上这一种,后果都落在同一个地方,算式给了一个看起来很肯定的顺序,这个顺序里混着一些不是算出来的东西。算式本身没有能力告诉你哪些是算出来的、哪些是编进去的。分辨这件事只能靠你自己在写的时候留好标记。
自欺还有一种外部形态,是指着算式说这是我们算出来的。算式只处理了进得来的那几项,剩下的东西还在外面,用「我们算出来的」这句话把它们盖住,读的人就以为这一批候选款已经被全面评过了。话说得越肯定,漏掉的那部分越不容易被追问。
避开它的说法其实很简单,说清这一轮进了哪几项、没进哪几项、权重是在什么目标下定的。这三句话一说,听的人对这份结果的适用范围心里就有数了。他也就不会拿这个顺序去支持一件它根本管不了的事,比如证明某一款在这个市场上能稳稳做起来。
这一篇到这里没有给任何权重数字,也没有给分档的段数,因为这两样跨过类目和站点就会变。能留下来的只有判断动作:口径先于算式,方向写在分之前,能进的项和只能说的项分开摆,净值旁边留着各自的分。这四件事做完,这条算式才算站住。
最后交代一下这一步的边界。算式算出来的东西只有一件事是可靠的,在你这套口径和权重下,这批候选款排了个顺序。它说的是顺序,不是市场,也不是未来。把它当成一个可以反复讨论的起点,比当成一个答案要稳当得多。
自欺还容易发生在交接的环节。你把算式和结果交出去,没交那句它是在什么范围、什么口径下算的,接手的人只能当成一条通用规则用。他拿它去套另一批候选款,跑出来的顺序跟你当初的差得很远,两边都不知道问题出在哪一句没写。
避开它的做法是把范围、口径、权重这三样跟着结果一起交。这三样加起来不过几句话,写下来费不了什么工夫,省下来的却是后面反复对齐的时间。算式本身可以照抄,这几句话抄不走,必须由你写。
这一篇到这里没有给权重数字,也没给分档段数,因为这两样跨过类目和站点就会变。能留下来的是四个动作:口径先于算式,方向写在分之前,能进的和只能说的分开摆,净值旁边留着各自的分。这四件事做完,这条算式才算站得住。
最后补一句边界。算式给的是在你这套口径和权重下这批候选款的先后,它说的是顺序,不是这块市场本身怎么样,也不是某款将来能不能跑起来。把这份顺序当成一个可以反复讨论的起点,比把它当成一个答案要稳当。