互联网推广从“鸵鸟”到“银行家”的实践探索【惠州罗浮山自愿戒毒医院——何志军(院长)、李华鑫(业务主办)】21世纪网民数量突破4.2亿,平均上网时间超过10个小时,“哪里有人气,哪里就有财气”。在竞争极其激烈的互联网推广中,你该如何稳占属于你最有利的位置?尔虞我诈?阴谋阳计?明说暗夺?——题记在回答“何为互联网推广”时,有人概括地写下了一条通俗易懂的收益公式:数学符号:①“”:“包含”的意思;例如:人男人,人女人,人好人......②“lim”:“极限”。③“→”:“趋向于”;例如:“成本→0”是指“成本趋向于零”。显然,不等式“”左边的“最大收益”“包含”不等式右边的值。右边的整个值再拆分,“0lim成本”右边是一个分式值,分母“成本”越小,分子越大,整个分式值就越大;分子的整个值再拆分,“百度竞价”加上除了“百度竞价”以外的“互联网推广”(其中“百度竞价”的权重翻了一番,说明“百度竞价”在“互联网推广”中占据比较重要的位置)再加上“1”后整个“[]”里面的值的“战术”次方的“战略”次方,“战术越高”分子越大,整个分式值就越大,而如果“战略”再上一个档次,整个分子就会翻几番,导致整个分式值也会跟着翻几番。再看“0lim成本”,当“成本”逐渐趋向于零的时候,“0lim成本”右边分式值得分母“成本”就会无穷接近零,分母无穷趋向于零,那么整个分式值趋向于无穷大。而这个“无穷大”还只是包含于“最大收益”。这一条“收益公式”的表达的大致意思是:21世纪企业的收益绝大部分归功于互联网推广的这个营销手段。而在互联网推广中,百度竞价占据比较大的比重。影响为企业以百度竞价为主的互联网推广手段所带来的收益是商战战术与商战战略,且战略高于战术。新手刚接触互联网推广时,大可用“鸵鸟”来形容,解决这方方面面的问题,用的也恰恰是“鸵鸟算法”的办法。传说中鸵鸟看到危险就把头埋在地底下。当你对某一件事情没有一个很好的解决方法时,那就忽略它,就像鸵鸟面对危险时会把它深埋在沙砾中,装作看不到。这样的算法称之为“鸵鸟算法”,这实在不算是一个算法,它有个代名词叫“置之不理”,也可以称之为不是办法的办法。置之不理并不等于弃之不理。说到网络推广,不少人应该会立马想到百度竞价排名推广,因为再多的网络推广手段都不如百度竞价来得直接、快速见效。可这背后需要付出的代价便是money。百度的高明之处便是,首页推广的位置资源就那么多,你想要排名靠前好点的推广位置?价高者得!每一毫秒都在上演着一场场激烈的拍卖会。同行竞争对手之间互相哄抬价格,水涨船高,推广成本每一毫秒都在增加……鹬蚌相争,渔翁得利!要解决这个问题,倒是有一个“鸵鸟”办法,那便是不参与这种激烈的竞价推广。可是,当你接受“全中国95%的网民都在使用百度搜索引擎,99%的自愿戒毒患者不愿意公开暴露自己的隐私从而选择了网络搜索来获得戒毒治疗上的帮助,(94.05%=0.99×0.95×100%),也就是说94.05%的自愿戒毒患者都在求助于百度搜索来获得自愿戒毒机构在戒毒治疗上的帮助”这个事实之后,你还会甘愿继续做一只安安静静的“鸵鸟”吗?答案是绝对不会!于是,每天200元的百度竞价推广计划便开始进行了……每天的早上8:00,以每个关键词2~7元/次的点击出价进行投放广告,每1毫秒钟的激烈竞价拍卖会便开始了……“醉里挑灯看剑,梦回吹角连营。八百里分麾下炙,五十弦翻塞外声。沙场秋点兵!马作的卢飞快,弓如霹雳弦惊。”一场无烟的战争就这样持续进行着。三军未动,粮草先行。“谁砸的钱多,谁的收益转化率就越高!”一天这样拼杀下来,最终的胜利便属于那些“砸钱多”的赢家,稍微有些战术的或许会在途中捡到一些便宜,对于那些弱小的也许连机会都没有。每天200元的推广成本,从早上8:00开始,最多只能坚持到下午16点,有时甚至在15点便下线;排名几乎是最后或者倒数第二,位置不显眼,几乎看不见。而且每天最多也就两三个人来电咨询,少得可怜,除了可怜就是好可怜。而在这段时间内,并不排除会有同行竞争对手在对你进行恶意点击操作,目的就是让你在黄金时段早点下线,各种排斥,各种恶意竞争,手段层出不穷,整个市场如同一场“冷战”。面对这种种困难,你真的只能静静地做一只“鸵鸟”,看到危险就把头埋在地底下,装作看不到。在毫无数据支撑的前提下,你不可能再加大广告成本,因为在如此激烈的竞争下,再投下去就是一个无底洞。唯一能做的便是要沉住气,不要头脑发热随意哄抬,运用“鸵鸟算法”,暂时置之不理。转而开始研究分析同行竞争对手在全国各地的具体投放情况,实力如何等等。兵法有云:知己知彼,百战不殆!经过轰轰烈烈的全国同行竞争对手的百度竞价调查发现,竞争最激烈的便是广东、四川、重庆、湖南这4个地方,光是推广位便占到13~14位之多。同时还发现,其他经济稍发达区域诸如北京、上海、天津、江苏、浙江、福建这些地方只有3~4家在竞争。此外,还有一个特点,竞争对手习惯在自己所在省份以及周边相邻的两三个省投放广告,几乎没有多少家敢跨省投放。最后还有一个最显眼的巨大特点,全国各地的同行竞争对手全都挤在广东省内激烈地哄抬竞价,市场一片混乱,厮杀得遍体鳞伤,毫无战果。孙子曰:“合于利而动,不合于利而止。”既然广东省竞争得如此激烈,我们不应再痴迷执着于广东市场,不妨另辟省外竞争稍弱的市场。经院长办公室以及社会医疗服务部的共同探讨,最终决定不再局限于广东惠州、东莞、广州、深圳、河源等这些竞争激烈的省内市场。原来的成本还是不变,以“摸着石头过河”的方式进行省外投放。半个多月后,医院竟然奇迹般地收治了6位广东省外的新患者,由此说明省外的市场还是有的。对此更加坚定对省外市场推广的信念。先谋而后动。孙子曰:“夫未战而庙算胜者,得算多也;未战而庙算不胜者,得算少也。多算胜,少算不胜,而况于无算乎?吾以此观之,胜负见矣。”如果选择全国全天放,每天200元到底够不够?若不够,加多少?1天能坚持多久?能不能杜绝同行竞争对手的恶意点击以及不相干的相关恶意点击行为?在百度没有也不可能提供价格优化技术的前提下,全国各地同行竞争对手数量不同,竞争激烈程度也不同,价格能不能相对应地以不同的最低价获取最优的广告排名位置?鉴于有些同行竞争对手为了节约成本,也会有规划性地选择所谓的黄金时段来投放广告,而不可避免地在某些时段下线后,竞争不再那么激烈,此时是否能及时做出相应最优的出价调整,获取最优的广告排名位置,以免造成无为的浪费?在竞争激烈的地区,由于成本限制,有没有其他更好的办法吸引客户点击你的第3、4、5花钱不多的位置,而丝毫没有任何想法去点击第1位的排名竞争对手?总之一句话,能不能做到,让所花的每一分钱都用到极致,让所花的每一分钱都不存在丝毫的浪费,同时还要获取最大的效益?所有的以上种种,能不能做到?困难虽多,但办法总比困难多得多。在计算机互联网技术中,有个非常出名的算法:银行家算法。我们可以借鉴这种算法来解决以上种种困难。下面,详述这个算法的应用背景:在银行中,客户申请贷款的数量是有限的,每个客户在第一次申请贷款时要声明完成该项目所需的最大资金量,在满足所有贷款要求时,客户应及时归还。银行家在客户申请的贷款数量不超过自己拥有的最大值时,都应尽量满足客户的需要。银行家算法,可以这样简单地理解,举个例子:银行家的保险柜里有最原始的10元钱或者是没有钱,A存6元,B存8元,C存9元,……银行家这边在吸引更多的人都来存钱的同时,那边还有人来贷款,另一边有储户来取钱等等。不管银行家贷款出去也好,吸引储户存钱也好,这进进出出的钱就像流水一样,不能断流。如果银行家贷款的动作在先,储户来取钱的动作在后,这样可能就会给银行家带来一定的风险。只要不是出现所有的储户在同一时间来取光所有的钱,贷款的动作还是可以进行的。总之,要想尽一切合法的手段让银行家保险柜里的钱≥0,并且保证所有的资金交易活动还在进行中。我们可以把互联网推广的运营者看作是银行家,运营者管理的推广资源(包括人力、财力、物力)相当于银行家管理的资金,互联网推广进程向运营者请求分配资源相当于用户向银行家贷款。为保证资金的安全,银行家规定:(1)当一个顾客对资金的最大需求量不超过银行家现有的资金时就可接纳该顾客;(2)顾客可以分期贷款,但贷款的总数不能超过最大需求量;(3)当银行家现有的资金不能满足顾客尚需的贷款数额时,对顾客的贷款可推迟支付,但总能使顾客在有限的时间里得到贷款;(4)当顾客得到所需的全部资金后,一定能在有限的时间里归还所有的资金。运营者按照银行家制定的规则为互联网推广进程分配资源,当推广进程首次申请资源时,要测试该推广进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当推广进程在执行中继续申请资源时,先测试该进程本次申请的资源数是否超过了该资源所剩余的总量。若超过则拒绝分配资源,若能满足则按当前的申请量分配资源,否则也要推迟分配。在互联网推广过程中,会出现一种情况:运营者追求推广力度最大化以求得效益最大化,但运营者手上却没有更多的资源来分配,最终导致的结果便是,推广进程立即停止,再无效益产生。我们把这一现象姑且比喻成死锁状态。银行家算法是一种最有代表性的避免死锁的算法。在避免死锁方法中允许进程动态地申请资源,但系统在进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。为实现银行家算法,系统必须设置若干数据结构。要解释银行家算法,必须先解释操作系统安全状态和不安全状态。安全序列是指一个进程序列{P1,…,Pn}是安全的,即对于每一个进程Pi(1≤i≤n),它以后尚需要的资源量不超过系统当前剩余资源量与所有进程Pj(ji)当前占有资源量之和。银行家算法翻译成计算机实现代码如下所示:(以下代码看不懂的,可以跳过,忽略不看)#includeiostream.h#includevector#includeiomanipusingnamespacestd;#defineTRUE1//定义TRUE=1#defineFALSE0//定义FLASE=0voidbank(vectorint,vectorvectorint,vectorvectorint,int,int);//声明bank(银行家算法)intsafe(vectorintAvailable,vectorvectorintNeed,vectorvectorintAllocation,intn,intm);//声明safe()安全性算法voidinit();/*************************************主函数main()**************************************************************/voidmain(){init();intsafe(vectorintAvailable,vectorvectorintNeed,vectorvectorintAllocation,intn,intm);}/**************************************初始化函数init()*********************************************************///下面的是在dos命令下使用的程序voidinit(){intm;//m资源类数intn;//进程数cout输入资源类数endl;cinm;vectorintAvailable(m);//动态申请数组Available可用资源向量cout输入各类资源总数:endl;for(inti=0;im;i++){cout输入Ri类资源总数:;cinAvailable[i];}cout\n输入进程数endl;cinn;vectorvectorintMax(n,vectorint(m));{c