You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

170 lines
16 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 18 | 如何搞定老板如何编造虚无缥缈的OKR
你好我是DS Hunter。
众所周知,每个项目创建的时候,都要频繁的设定目标,即使这些目标每天都在变化,刚设置完就已经没用了。但是,上层的大老板没时间细致地去管所有的实现细节,他们只能通过纸面上的目标设定、执行计划,近似地去猜测一个项目是否值得投入。所以,即使你觉得这些汇报技巧让人不屑,也依然不得不遵守这个世界现有的规则。
我们在[13讲](http://time.geekbang.org/column/article/490080)曾经提到过反爬虫主要的收益包括信息保护商业优势竞对压制以及竞对爬虫的资源消耗这四点的可操作性是逐个递增的我们这一讲也会主要通过这些方面来进行讲解。而这一讲不但会涉及OKR相关的思路也会有一些ROI的计算。
**注意:你设定的目标能否说明老板,并不是因为你的理论多么完善,执行多么到位,更多的是领导内心想被你说服。这也是说服别人的常用技巧。**
我们先来看一个战国策的例子:《东周欲为稻》
> 东周想种水稻,西周不放水,东周为此而忧虑。
>
> 苏子就对东周君说:“请让我出使西周说服放水,可以吗?”
>
> 于是去拜见西周君,说:“您的主意打错了!如果不放水,反而使东周有了致富的机会。现在东周的百姓都种麦子,没有种其他东西。您如果想坑害他们,不如突然一下子给他们放水,去破坏他们的庄稼。放下了水,东周一定又改种水稻;种上水稻就再给他们停水。如果这样,那么就可以使东周的百姓完全依赖于西周而听命于您了。”
>
> 西周君说:“好。”于是就放水。
>
> 苏秦得到了两国赏金。
这个故事在战国策里算一个简单易懂又经典的例子了。虽然战国时期,人心不古,欺骗成性不应学习,但是,这类说服别人的技巧还是值得我们深思的。
西周君是被道理说服的吗?不是的,苏秦并没有提任何天下苍生人民疾苦之类的大道理,反倒是直接和他谈起了利益以及他内心真正的关切。而苏秦说的这些话是真的能实现吗?这也很难说。但是事实是,苏秦的确说服了西州君,完成了这一游说工作。
当然,这样可能会有一些后遗症,比如西周最终真的卡东周脖子怎么办?但是不管怎么说,“说服”这个动作已经成功了。西周卡脖子的事情……没准是下周的事情下周再说呢?或者也许到时候西周人员变动已经忘了这个事情了?这谁说得准呢。
眼下,我们说服老板也是一样。
很多人都会吐槽:老板不行啊,肉食者鄙啊,就只知道看眼前利益,我去和他说,他也不听。这里要注意啊,你说的这些道理,老板真的不知道吗?这可不一定哦,除非存在强烈的信息差,否则大部分情况下是因为他没有更好的解决方案,不得不牺牲一部分。而你坚持的刚好是被牺牲的这一部分。
你要想说服他,最重要的是让他觉得,应该按照你说的去做,而不是让他改变主意听你的话——毕竟他可能本来就知道你说的是对的。由于每个老板想要的都不一样,我们没办法给出统一答案,这个需要你平时观察老板的核心需求来自己想办法处理了。换言之,**搞清楚老板的痛点在哪里。**
我们还是以完成事情作为第一要素,而不是滔滔不绝的讲大道理和道德观。这个就像《三体》里一样,程心的很多道理都是对的,但是最终我们还是要靠罗辑来拯救世界。
当然了,人们并不感谢罗辑。所以,你愿意做罗辑吗?
## 信息保护
明白了“编造”的最终目的之后,我们就要说一下具体的写作方向了。
信息保护是最原始的反爬需求。事实上,也是唯一合理的需求。是的,另外三个,多多少少都有点忽悠老板的成分在。
如果你想通过这一点来做OKR立项说服老板那么意味着你要放弃一个能力随机放过。
我们前面提到过,针对爬虫,我们会随机放过一部分。但是如果你的目标设定为信息保护,那么就不再有任何理由放过爬虫了。
可能你会说了老师这个道理我倒是懂可是这个信息保护如何量化呢没法量化我没法写OKR啊。
注意了OKR可量化是一个常见的误区虽然很多公司的确是这么操作的。事实上OKR不叫可量化叫可衡量。这两者之间差别很大。
为什么这样说呢?
因为这个世界并非一切皆可量化。OKR的核心是什么是O来指导目标然后KR来支撑自己的目标实现。
举个例子你说我的O是减肥减重多少公斤。这是否是一个好的O呢并不是因为减重量多种方式少喝一点水体重掉的也很快但是这并不健康与我们的目标背道而驰。这个时候减重多少公斤其实是一个KPI而不是OKR。
再比如创建高战斗力的团队。这是否是一个合格的O呢出乎意料的是这其实是一个合格的O。虽然他无法量化但是战斗力是可衡量的。简而言之哪个团队战斗力强其实大家是能比较出来的。这个比较不一定是一个数值比较。
我们再反过来提一下如果O真的完全可量化那么OKR和KPI不就没有区别了吗当然了有些公司就是拿OKR当KPI来用。不过这就是另一件事了。
基于这个道理你要记住不要追求可量化。否则你制定的就是一个KPI。当然也不要因为听了这个理论就诋毁量化走向反面的极端这也是不对的。
好了既然已经明确了O是可衡量的。那么如何衡量自己的信息保护做得好不好呢
这个其实就是KR的部分了。KR是支撑O的理论上说所有的KR如果都完成了那么O一定完成。从方法论角度来说的确如此但是世界很复杂这一点通常做不到。我们试着考虑下信息保护这个O最关键的result是什么
1. 竞对没有抓到自己的数据
2. 竞对抓取到的数据是错误的
3. 自己随时拥有控制对手的能力
而这些result本身都极难在线上检测。因此我们的检测就被逼到了线下。线下我们主要的合法调研方式就是调研合作伙伴。一般说来竞对抓取到数据之后会与合作伙伴共享或者至少是用马甲公司进行共享。而在线下进行调研就可以计算出大致的防护效果。
这个办法在实际操作的时候,难度极高,受益最低,因此是最不推荐的。但是为什么我们还要讲这一点呢?因为,如果你们的项目是大老板支持的,只是需要一个立项的借口,那么这个理由是最优秀的,人人都懂。
由于不需要“说服”老板,只是要去给老板撑场面,那么自然要选这个最庞大的目标。
## 商业优势
商业优势就相对更容易写一些,这个更多的是价格优势。
所谓价格优势,指的就是,相同的商品,对方卖得比你贵。这个可以在侧面反映反爬虫的效果。但是有一个问题,那就是,在做这类比价的时候,自己的价格你是可以得到的,那么对方对的价格你如何知道呢?
你可能会说:老师这个我熟,我只要写个爬虫就行了。
所以,这里又牵扯到一个问题:你的爬虫准吗?
面对这样的质疑,其实相对还是比较好解决的。你只要选择人工抽样即可。当然了,实际上我们讲过,人工操作也是有被反爬控制的可能性的,例如真人判定那一章的技巧。
这里又存在如何“说服”老板的问题了。
前面我们提到了,不同的老板有不同的需求。但是通用的情况下,老板有个共同的需求,那就是:要应对他的老板。**因此,我们可以使用一个通用的利益来劝老板,那就是:盈利。**
是的,商业优势本质上是转为盈利的。你的产品比竞对便宜,那么用户就会来你这里购买。每降低一定的价格,就会有更多的人来自己这里购买。这个属于初中常见的求函数最大值最小值问题,具体做法就不单独讲了。你需要做的就是:证明,每降低一块钱,到底有多少人来自己这里购买?
这个时候我们传统的A/B测试就要发挥作用了。相同的商品竞对卖100你可以针对部分人卖100部分人卖99然后分析转化率。后续再慢慢变更价格就可以得到数据了用于后续的决策。
AB测试虽然很强大能够真正实现数据驱动但是他也会带来一个严重的副作用那就是“杀熟”的PR风险。
杀熟这个事情,对于企业来说是最头疼的。任何一个人,只要看到别人的价格比自己低,就会认为自己被杀熟了。你可能觉得,这是一种被害妄想症,但是,你不能控制用户的思想,只能降低这个概率。
具体来说可以让这个价格差变得可解释。例如随机立减、天降折扣都可以。只要有个“随机”的名义就很难投诉得起来。此外A/B测试不需要真的设置50%的流量做,也可以用小流量来测试,这也更符合“天降折扣”的说法嘛。
## 竞对压制
竞对压制,虽然听起来似乎并不好算收益,但是这却是老板最喜欢的目标。要知道,不止程序员本身有内卷,商业本身也是一个内卷的过程。而内卷的赢家,不仅仅要学会创造收益,更重要的就是,让别人亏本。
竞对压制本身也是不好衡量的。但是配合上一个,商业优势,一起来计算的话,就容易了一些。
现在你能计算出自己多拉了多少个用户了我们也可以算出函数最大值了。如果你想再激进一点想降价更凶一点怎么办这个时候ROI已经打不平了。所以我们要做的是在ROI里计算对方的损失。
简单的来说,**每多一个用户来你这里下单,都可以认为是竞对损失了一个客户。**而这种损失,在很多公司是可以加权计算自己的收益的。但是一旦进行了这个计算,你就不方便再计算商业优势的收益了,否则会被质疑双倍计算。不过加权的一般都大于不加权的,所以放弃商业优势收益算这个,并不亏。当然也有的公司会把竞对压制收益算为附加收,这样也更简便一些。
严格来说竞对压制这种计算方式有一点耍流氓因为你其实并不确定你这里新增的用户是否是从竞对那里叛变过来的。不过好在有一点就是如果有人想质疑你他也没法证明这个人不是从竞对叛变过来的尤其是一些领域是被两家公司共同垄断的非A即B没有别家可选。
所以,这里又存在一个问题:如果你想用这个理由说服老板,你的核心方向,应该是什么?
这里老板的痛点,大部分在于前面说的“质疑”,能走到这一步,说明老板是很挺你的。但是他怕别人质疑这种算法,导致没法接。你需要做的就是调研好一切,别人在任何一个角度质疑,都提前为老板想好应对的话术即可。
可能你会说:老师你这不是教我们忽悠人吗,这不是向上管理吗,我们公司明令禁止向上管理啊。
没错,这的确就是向上管理,但是向上管理未必是贬义词。有的公司禁止向上管理,其实就是不想让大家学会如何走捷径。
但是你想过没有,他们是不是发明了一个词叫向上对齐?这不是一个意思吗?
## 竞对爬虫资源消耗
竞对爬虫资源消耗就是最后一个办法了。虽然落地性最好但是ROI最低基本是锦上添花的存在而不是做为反爬团队的主ROI。
我们在开篇词就提过资源的定义:机器成本与人力成本的总和。当时我们也提到过,机器成本其实并不高,但是人力成本是水涨船高。因此,**尽可能按照破解速度来计算人力成本。**例如N个人平均每次发布要破解X小时这段时间他们干不了别的需求基本上就是和你消耗。用N\*X即可。
X可以用“每次发布后多久被破解”这个时间来计算。注意这个计算其实你是占优势的因为理论上说应该从发现开始计算如果对方有M个小时没有发现你的变更那么这段时间其实他是不知道你变更了的不应该计算在X内。但是你也不知道M是多少对不对所以不要多事去提这个M。如果有人质疑再说。
真有人质疑的时候你可以用“对手消耗不高于多少时间”来做统计口径。这个在交流中会给人一个错觉认为天花板就是实际值。这是人类的一个常见误解。举个例子你问我一个月能赚多少钱我说不到5万吧。你是不是就觉得我一个月赚4万多实际上没准我就赚3000呢也是不到5万啊
那么我们的核心问题就是N如何取
实际上,最靠谱的办法是抓出有多少人在调试你的站点。但是这样做太难了。线上太难的办法,依然可以选择线下来处理。具体做法,就又是社会工程学了……例如,让猎头去挖一下竞对的人……让他们来面试,套一下方案什么的……
## 加餐:网站稳定性
网站稳定性,只适用于过于疯狂的爬虫。例如,有些爬虫控制不住,可能爬挂你,你就记下来他们都是谁。后续你拦截了这类爬虫,统计出消耗的资源,算出如果不拦截,这个爬虫爬挂网站的概率有多大,就能直接算出网站不稳定导致的损失了。**挽救的损失,都是你的收益。**
虽然理论上这个很容易被质疑,但是实际上并没有人会发声。因为质疑点主要在于:我怎么知道那个爬虫是不是你自己写的?但是实际上,这类质疑攻击性过强,容易给人一种对人不对事的感觉,所以一般来说不是深仇大恨,没有人愿意惹这个麻烦。
如果真碰到了,你也可以搬出企业文化来怼他,毕竟这种对人不对事的质疑,扔到任何一个公司都一定是违反企业文化的。而企业文化这个东西又非常好用……怎么说呢,道德绑架的东西都很好用……
## 小结
这一讲比较杂,也比较虚,但是管理类的事情就是这样,往往没有那么脚踏实地,更多的是互相说服。毕竟,如果人人都讲道理,都自然而然地走向正确的方向,那要领导层干什么呢?就是因为人类是一种复杂的生物,所以才需要管理。
这一讲我们主要提了四种不同的OKR编造方式信息保护商业优势竞对压制和竞对爬虫资源消耗。竞对爬虫资源消耗已经是很锦上添花的方向了我们还加餐了更加锦上添花的网站稳定性方向来证明反爬虫的重要性。
还是那句话:也许你在这里学了一些自己之前认为不合适的做法。但是,最终证明一件事合适不合适,看的是结果,而不是过程中你做了什么。就像章北海,为了拯救人类,忍辱负重做了大量看起来不合适的事情,但是最终大家依然觉得他是个英雄,对吧?
这个世界,需要更多的英雄。
## 思考题
好了又到了愉快的思考题时间。由于管理的特殊性,我们这三道题可能有些不正经,但是也许你有一天又会觉得它正经。所以,你按照你当前的理解来回答吧。我会尽可能按照你的思路来回复哦!
1. ROI计算中有大量的“猜测”数据如果别人质疑你预设的数值你一般会如何回复他
2. 网站稳定性,可能会被认为是运维的业绩,而不是反爬的业绩。你如何证明这是反爬的功劳?
3. 如果你的领导一直很支持你,忽然有一天疯狂的质疑你的数据,你觉得是因为他忽然想明白了,还是有什么苦衷呢?
期待你在评论区的分享,我会及时回复你。反爬无定式,我们一起探索。
![](https://static001.geekbang.org/resource/image/14/32/14238cf33d46852a45dbfa77ecf4b232.jpg?wh=1500x1615)