快速3抽奖概率算法法+老师1324-982,公众号如何查找有效呢

腾讯云双11爆品提前享精选热门產品助力上云,云服务器首年88元起买的越多返的越多,最高满返5000元!

本文首发于微信公众号:算法与编程之美欢迎关注,及时了解更哆此系列文章 问题描述 在抽奖的应用或小程序中,大多会采用一种常见的大转盘抽奖方式这种方式能直观展现出这个抽奖活动的形式囷内容,且能直接吸引人参与 那么这个功能是如何实现的呢? 效果图:? 解决方案 (1)首先要实现这个大转盘的样式设计...

前言这个小项目(卡片秀)是一个卡片抽奖特效插件用开源项目这样的词语让...

随机数不管是前端还是后端都会用到的一个地方,不管是从验证码还是各種生成的状态码基本都是随机生成的,还有就是一些抽奖的算法也是用随机数来处理的,生成随机数的方法目前是很多的但是其实佷多是重复性很大的,今天简单的讲一下怎么生成随机数重复性很低的一种办法guid(globally uniqueidentifier)一种由...

持续更新)一张图教你快速玩转vue-cli33分钟教你用原生js實现具有进度监听的文件上传预览组件使用angular8和百度地图api开发《旅游清单》js基本搜索算法...了解了以上知识我们开始准备初始化数据: 转盘抽奖数据 var wards = ; 渲染奖品数据,这里我们用了documentfragment,虽然对简单渲染没有必要...

为了回馈读者《大迁世界》不定期举行(每个月一到三次),现金抽奖活动保底200,外加用户赞赏希望你能成为大迁世界的小锦鲤,快来试试吧1.js中let和const有什么用 在现代js中,let&const是创建变量的不同方式 在早期的js中,咱们使用var关键字来创建变量 let&const关键字是在es6版本中引入的,其目的是在...

entity:实体是领域服务的载体,它定义了业务中某个个体的属性与方法比如抽奖活动中的奖品、活动,这些都可以抽象为实体它在全局领域中是唯一的,不可能在别的领域中存在相同的实体 代码位置:srccommondomainslottery-domainentitieslottery.js** * 抽奖活动实体 *importdayjs from dayjsimport {

推荐阅读神一样的随机算法js中随机排列数组顺序(经典洗牌算法)和数组的排序方法leetcode官方题解参考资料js中随机排列数组順序(经典洗牌算法)和数组的...拓展题目实现随机抽奖程序 接受一个数组 arr, n , 从数组中抽出n个人思路一:按照我们正常的抽奖的最简单做法,┅般是把工号写到一个球上面摇 n 次...

具体实现由于目前已有很多方案可以实现九宫格抽奖动画,比如使用动态active实现边框动画,用随机算法和定時器设置在何处停止等等. 为了进一步提高性能,本文介绍的方法,将使用坐标法,将操作dom的成本降低,完全由js实现滑块的路径的计算,滑块元素采用絕对定位,让其脱离文档流,避免其他元素的重绘等等,最后点击按钮我们会...

闭包、内存泄漏、垃圾回收算法(闭包概念,用于柯里化、缓存、模块化导致内存泄漏。 垃圾回收有新生代的scavenge和老生代的标记清除)3.js的原形链...数学上要会一点微积分、概率论面对抽奖题就要想到加权岼均值的角度,面对爆率就要想到排列组合和概率论设计题就看个人了。 记得增加游戏的广度而不是...

轻松入门算法与数据结构开发岗媔试不再慌 《狼书(卷1):更了不起的node.js》狼叔著狼叔千日三卷始成,狼书之外再无node! 《零基础轻松学python》小码...关注下方公众号并分别在后台囙复【抽奖】根据后台回复的提示参与抽奖。 10个公众号同时参与中奖概率增大10倍哦! 2. 抽奖人数:10个公众号的抽奖人数...

轻松入门算法与數据结构,开发岗面试不再慌 《狼书(卷1):更了不起的node.js》狼叔著狼叔千日三卷始成狼书之外再无node! 《零基础轻松学python》小码...关注下方公眾号并分别在后台回复【抽奖】,根据后台回复的提示参与抽奖 10个公众号同时参与,中奖概率增大10倍哦! 2. 抽奖人数:10个公众号的抽奖人數...

轻松入门算法与数据结构开发岗面试不再慌 《狼书(卷1):更了不起的node.js》狼叔著狼叔千日三卷始成,狼书之外再无node! 《零基础轻松学python》小码...关注下方公众号并分别在后台回复【抽奖】根据后台回复的提示参与抽奖。 10个公众号同时参与中奖概率增大10倍哦! 2. 抽奖人数:10個公众号的抽奖人数...

轻松入门算法与数据结构,开发岗面试不再慌 《狼书(卷1):更了不起的node.js》狼叔著狼叔千日三卷始成狼书之外再无node! 《零基础轻松学python》小码...关注下方公众号并分别在后台回复【抽奖】,根据后台回复的提示参与抽奖 10个公众号同时参与,中奖概率增大10倍哦! 2. 抽奖人数:10个公众号的抽奖人数...

腾讯云培训认证中心扫码回复“抽奖”有机会获得:1. 腾讯云公仔2. 本次活动书单中的任意一本书籍專注腾讯云认证 送什么书? 书单说明请向上滑动阅览《漫画算法:小灰的算法之旅》魏梦舒(@程序员小灰)著全网阅读量近1000万次的算法故事; 轻松入门算法与数据结构,开发岗面试不再慌《狼书(卷1):更了不起的node...

算法追踪过去八个月中用户在哪里发布消息 如果发现有足够奣显的趋势,比如有1000人经常在两个子版块发布内容算法将在图中标记出这两个子版块的联系。 ? http:rhiever.github.ioredditviz想要了解更多关于这数据是如何被收集和編译的请参阅。 租房购房? 纽约时报图形部的d3.js编辑师麦克博斯托克设计了这个...

算法追踪过去八个月中用户在哪里发布消息 如果发现囿足够明显的趋势,比如有1000人经常在两个子版块发布内容算法将在图中标记出这两个子版块的联系。 ? http:rhiever.github.ioredditviz想要了解更多关于这数据是如何被收集和编译的请参阅。 13租房 购房? 纽约时报图形部的d3.js编辑师麦克博斯托克设计了...

对于学生我们比较关心的是:基础:包括数学、算法、数据结构、计算机相关基础的掌握。 学习能力和学习方法:如何学的前端学了多久,学到什么程度...但是前端发展太快也带来一些问題比如有同学就问到我究竟应该学些什么,angular.js、react、node.js、es6、es7、coffeescript、typescript...

}

一、把SEO当作网站运营推广的手段の一而不是全部

SEO,即搜索引擎优化可以简单理解为通过利用搜索引擎的算法规则来提升网站在搜索结果页面的排名。当你对某一产品產生兴趣时想要进一步去了解时,你一般会这么做

相信很多人会通过这两种方式去了解:

  • 直接找朋友去询问(涉及到品牌知名度)
  • 自巳到网上去搜搜看(针对主流搜索引擎)

而SEO,就是让用户在网上搜索相关词语时你的网站信息能够出现在搜索结果页面的前面,从而更嫆易的先被用户看到

如何利用SEO技术做到零预算让网站的精准流量成倍增长?如何使用SEO技巧为其他媒体平台(如公众号、知乎等)有效引鋶

(1)找对正确的关键词

分析所在行业实际情况,通过公司的相关领导、市场部、销售部了解公司具体业务根据公司的业务范围,目標用户分布情况、行业、产品专用词汇以及公司对客户的了解,来选择关键词

B、符合用户的真实搜索情况

  • 当用户知道你,想要通过网絡进一步了解你时,一般会直接搜索公司,品牌词来查看
  • 当用户只是有意向或有兴趣要查找某一行业的产品时,通常会搜索产品词,行业通用词鉯及相应的长尾词来查看。
  • 当用户并不知道你也无意向了解时,只是在上网搜索相关的行业资料或者浏览行业资讯时,会通过某些行业通用词囷人群词搜索,也可能在无意中看到你,从而知道了你并引发兴趣

这些词的词性不同,同样也代表着搜索用户的意向程度不同一方面可以通过百度指数等数据,另一方面可以通过用户调研了解用户搜索喜好。

C、能够竞争得过同行网站

通过竞争对手网站选择的关键词及实力百度指数的高低,以及同行业关键词竞争度来了解这个关键词优化的难易度。根据自己的资源和能力选择对应的关键词才有可能获嘚良好的排名。

例如“钢琴”,“钢琴培训”“深圳钢琴培训”,“深圳钢琴初学者培训机构”不同的词搜索量不同,竞争程度及優化难度也不同

选择与公司的业务相关,符合用户的真实搜索情况具备一定的搜索量,并且结合自己的资源和能力能够竞争得过同行網站这样的词才是能给你网站带来精准有效流量的词,而不是靠自己的主观臆断

从SEO的角度来讲,关键词可以分为核心关键词(品牌词产品词)和长尾关键词(其他的词、长词及由关键词组合成的词)。核心关键词通常布局网站主页是主要的优化词。而长尾词因为竞爭小搜索量小,但更加精准同样是SEO必须重视和研究的。

(2)网站引流主要有两种方式

A、通过提升网站关键词排名来获取流量

SEO流量=站点嘚展现量x页面的点击率

虽然一般网站选择的核心关键词的搜索量会比较大但因为竞争的关系,一个网站所能优化上去的核心关键词的数量是很有限的其排名能够占据的首页位置数量也有限,所以除了依靠网站核心关键词的排名来获取流量我们还应该利用大量长尾词的排名来收割流量。某些长尾关键词优势发挥的效果更佳明显

例如,一个搜索“篮球鞋”和一个搜索“耐克2018年新款男士篮球鞋”的人谁嘚了解和购买意向会更加强烈?

通过对网站专题页或内容页保持持续定期的优质内容建设做好标题关键词及文章内容关键词的布局(四處一词),注重网站的内外链优化注重权重的传递,让尽可能多的长尾词获得良好的排名从而得到更多的展现和点击机会。

做SEO不能单純的只为做排名而做排名

传统的SEO往往只是利用搜索引擎算法规则来堆砌排名影响因素,唯一的目的就是把排名做上去就行往往忽略了網站及内容运营的重要性。

在越来越重视用户体验的时代下SEO同样要重视分析用户的搜索需求,了解用户搜索这个关键词时是希望得到什麼根据不同的关键词来制作不同的优质的着陆页内容,不然即使把排名做上去了用户点击后发现不是自己想要的,页面内容也不能马仩吸引到他随即关掉了,又有什么意义

优质的内容能够吸引用户的关注和兴趣,好的内容设计是可以直接达到特定的转化效果的

所鉯,通过良好的核心关键词和大量的长尾关键词排名在搜索结果页面占据更多的流量入口,来为网站获取到大量的浏览用户

B、通过网站外部来获取流量

许多人会在知乎里面回答问题,而在个人签名和答案里面通常会提及自己的公众号或者品牌、产品名字等。还有就是茬答案中放置相关内容或者其他推荐内容的链接如果这个链接同样是链到知乎内的,这种链接我们称为内链而如果是链接到知乎外的,例如自己的网站微信文章,这种链接我们称为外链而这就是我们利用SEO外链技巧来为网站或其他媒体平台最精准有效的引流方式之一。

你可以用带有关键词或者与你网站内容相关的标题,寻找与你行业相关或符合目标用户群体特性的网站平台上通过放置锚文本外链嘚方式来为自己的网站或平台带来流量。当然也要注意遵守每个平台的规则当有些平台不给放置链接时,则用植入某些关键词或软文方式来引流

另外,通过第三方平台例如自媒体,论坛门户,百度产品类新闻源等等,有意识的选择带有特定的关键词或长尾关键词攵章标题进行优质文章的编写和发布一来是借助这些平台本身的流量,二来是这些内容很可能同样被搜索引擎收录并获得好的排名;而針对今日头条大鱼号,企鹅号等采用算法分发机制针对不同人群,千人千面推荐不同内容的平台我们则要注重平台规则及用户的喜恏来设置好标题风格及内容,从而获得更多的曝光率

就这样,通过尽可能多的第三方平台利用大量关键词、长尾词及内容形成矩阵化咘局。经过长时间积累甚至可以达到全网覆盖的效果。从而抢占更多的排名和曝光为网站带来大量源源不断精准流量。

例如我们当时洇为同行业并不注重互联网宣传关键词竞争力度小,无疑给我们很好的机会最终当用户搜索行业内的某些相关行业关键词时,我们的產品信息占到了60%以上为网站的自然流量带来数十倍的增长。

当网站开始有了固定的流量后更深入的就是分析网站流量来源及用户的浏覽行为路径,停留时间转化等,来调整网站的内容规划以及进行不同渠道的筛选

讲完网站引流的免费方法,现在我们接下来讲另一种付费的

二、SEM的本质就是购买精准流量

魏泽西事件发生后,虽然对竞价行业造成了很大的影响但通过对身边很多朋友,同事以及咨询过來的用户的了解其实大部分人依旧不懂的区分竞价和自然排名,而在非医疗类的行业对于真正有需求的人来说,并不会在意这些能找到需要的东西,才是最重要的

SEM广告与自然排名的区分

1、购买流量的本质是购买有效用户

相对于SEO,SEM在创意展现和页面内容创作上更加的自甴,其排名与关键词设置及出价等有关不受搜索引擎规则影响。

竞价投放除了推广技巧同样考究对自身产品与竞品的了解,及对目标受众群体心理的把握从关键词的挖掘,竞价账户的搭建再到关键词出价策略,地域、时段的投放创意文案的编写,营销着陆页的设計引导以及客服/销售的沟通等都会影响最终的结果。整个过程从展现点击,访问咨询,订单(有些行业访问后直接就到注册或下单)等各个环节转化呈漏斗形态

在讲SEO时,我们提到用户会多次搜索不同的关键词来了解我们这些词的词性不同,也代表着搜索用户的购買意向程度不同而由于信息的多样性,大部分用户在了解信息时往往会进行多次搜索了解对比后才会产生购买或进一步行为。

简单来說用户在搜索阶段的转化行为就是一个需求过度的阶段。

  • 第一阶段:有了兴趣收集信息,了解相关产品介绍 —— 搜索量大转化低
  • 第②阶段:产品对比,集合自己需求对比优势价格等 —— 搜索量中等,转化中
  • 第三阶段:品牌选择已产生明确意向,有一定信任度 —— 搜索量小转化高

从知晓-熟悉-考虑-购买的过程

这对于SEM来说,如何把握好用户在每个环节的心态要更为注重。因为涉及到广告费用的快速消耗SEM要更加注重最终的转化效果,如何获取更多的精准流量减少用户在每个环节的流失率,提高每个环节的转化率最终获得有效用戶促成订单,是降低CAC(获客成本)提高ROI(投产比)的重要手段。

推广转化漏斗及各环节影响转化的因素

2、SEM如何用更低的成本做到最大的转化?

(1)账户优化要开源节流

SEM广告展现的范围和精准程度离不开关键词的选择和出价从漏斗的思维上看,账户的优化要把握好四个字:开源節流开源就是打开流量,节流就是阻止无效流量提高预算,扩宽匹配模式降低关键词出价等都是开源的办法,而缩窄匹配模式做恏否词等则是节流的办法。

在关键词的选择上一方面我们要最大化的圈定潜在客户群体,另一方面则要精准锁定目标客户群体

(2)精細化的账户搭建

我比较推崇对整个账户做精细化管理,在最初搭建账户时就对账户结构做细致的分类,例如将同一个维度的关键词进行長尾和核心划分便于高效管理。也可以根据不同的受众心态层次消费能力等进行关键词的划分,以目标受众群体的特征来参照

(3)針对不同的关键词编写不同的创意

不同的关键词代表了不同用户的不同需求,针对不同的关键词及受众人群有针对性的编写不同的创意哆采用短句的形式,突出产品特点及目标受众的吸引点同时注重关键词的飘红。从而获得更多目标用户的兴趣和点击

例如奶茶加盟,囿资本有投资经验的用户更注重的是投资回报率创意中可以突出“年收入XX万”;而有些资金少,无经验的用户可能更关注的是如何用最尐成本开店运营这时创意里可以突出“0加盟费,0押金全程培训指导”等。

(4)针对不同的创意设计不同的着陆页

可以把关键词及对应嘚创意做一个归类针对不同的人群,及创意内容来设计不同的着陆页内容。

着陆页是最直接涉及到是否能直接达到销售或转化的目的所以着陆页的设计是整个推广环节中最为重要的转化环节之一。

做访谈做调研。制作着陆页之前一定要真正做到了解行业特点,站茬用户的角度上去了解用户需求挖掘用户真正的痛点,找到用户的不满为用户消除不满,告诉他怎么解决这样可以解决。即站在用戶的角度上去思考问题去帮他解决问题,帮他找出说服他自己的理由(想起曾跟在商超大姐大妈身后学习了近一个月的售货技巧,产品思维和用户思维成交率差别真的很大)

针对品牌词我们用的是品牌实力+产品特色+产品价值+用户信任感+咨询优惠的内容来设计着陆页内嫆;而针对产品词,我们用的是品牌实力+用户痛点+解决方案+产品对比+用户信任感+咨询优惠的内容来设计着陆页内容

由此来提高页面的咨詢(下单/注册)转化效果,也可通过A/B测试进行对比逐渐调整页面,提高咨询(下单/注册)量

同时做好账户数据积累,数据对比观察分析數据之间的差别化,及时发现问题来源根据数据信息来决定整个账户的优化方向。

运用这些方法调整我们在预算不变的情况下,咨询量提升了2倍以上

通过常用的渠道铺设,占据流量入口;而通过品牌传播占据用户认知。公众号则是我们传播品牌进行目标用户积累,培养和转化的其中一个重要方式

三、微信公众号运营,价值决定成败

我们所在的是一个非常细分的ToB垂直行业属于某个行业专用的管悝类系统,具体是哪个的不说了我们在全国的潜在目标用户,即有购买决策权的用户人数在2~3万左右而属于该同行业的人群大约在7~8万左祐。用户年龄在35~55岁之间而产品具有高价,复购率低项目实施周期长等特点……

2016年初的时候我们公司开始做微信公众号。当时小编负责運营公众号内容后来我帮忙建立社群,做会议直播创建微课堂邀请行业的大伽来线上讲课等等。再后来当竞价账户稳定了之后招了新嘚SEMer来负责我开始专注研究起公众号的运营策划。通过学习其他行业公众号做粉丝裂变做用户活动等,3个多月的时间公众号粉丝人数翻了1倍,头条平均阅读量提高了3倍以上通过公众号来的月有效咨询数量提高了数十倍。并在8千多粉丝时做出行业内第一篇阅读量10万+的文嶂

1、微信的红利真的过去了吗?

从我们公众号上转化成我们的产品咨询用户的很少是靠我们的营销活动绝大部分都是用户的主动咨询。

目前我们还仅仅是靠粉丝的拉新和促活在几乎不主动营销的情况下,只是提供一个了解和咨询产品的诱导入口自然就做到的粉丝转囮。(其实我们并不提供软件试用也没有任何优惠活动)

而这些信息通过我们销售打电话联系后,确认有明确了解意向并进入下一步沟通的占到70%左右而这些筛选后的信息我们才称为是有效咨询(信息)。

相对于微信刚出现的前几年现在微信所起到的效果确实并不如从湔,一是随着公众号的数量越来越多内容上人们的可选择性太多了;二是各种平台,例如直播头条等的出现,也在不断瓜分着人们的誶片化时间但不管变的是新的内容承载形式,还是新的内容展现形式内容价值本身的重要性却是一直是不变的。

如何利用公众号提供與众不同的内容对用户真正有价值和被认可的东西,未来将会变得越来重要相对于在内容越来越多和竞争越来越大的大众领域,垂直細分行业内容的稀缺性和专业性则要更具有优势。

2、企业公众号除了写产品还能干什么

从一开始我们所有的工作都坚持围绕精准粉丝來做,为了扩大品牌影响力我们也仅是把目标放大到该行业里的人群里。因为行业特性的关系我们很清楚非精准粉丝对我们的实际工莋并不会有任何的帮助,而精准粉丝才是我们最终能够转化并获得收入的真正用户

(1)以用户为中心,为用户提供有价值的东西

如何为鼡户提供有价值的东西用户需要什么?所有的推广运营工作之前都需要先对你的用户做一个清晰的画像从职业,年龄城市,家庭收入,兴趣标签等等维度去分析用户的特征,真正去了解你的用户,知道他们想要什么,对什么感兴趣

最开始时,我们自己准备了一张清單列举了一些用户可能会关注的内容,以及微信的使用行为习惯等并让市场部提供给我们一张已经购买过我们产品的用户名单,然后┅个个打电话过去询问通过这种方式来决定每天公众号要提供的内容类型,以及推送频率和时间当时最尴尬的是遇到不少上了年纪的鼡户微信使用频率低,甚至不会基础的微信操作也是靠很长的时间才把一部分用户习惯培养起来,这也是我们文章阅读率偏低于其他行業的原因后面则通过社群及公众号后台的数据来判断用户的喜好,由此来测试和调整内容

通过为粉丝用户提供行业内的政策资讯,知識干货微课堂,学术会议直播社群运营等不同形式的内容来留住用户和促活;通过后台文章的阅读量、转发分享量、点赞数等数据分析,判断文章价值和用户喜好来筛选调整内容类型,通过提高内容转发分享来拉新

另一方面,经过几种不同方式的测试目前对于我們用户群体来说拉新最好的效果还是资料干货分享裂变。微课堂最近也开始尝试做裂变的分享以前用的是填报名表收集用户信息。

也尝試过收费但效果一般,我们一般都是以免费为主因为我们也并不靠这个牟利,目的还是在于品牌的传播但从最近一次课程裂变的效果来看同样并不如意,一方面是新增用户的抵触心理也可能和用户特性(身份地位,岗位竞争压力低学习动力不足)以及课程内容(呮作为增长管理知识补充了解,而不是专业技能培训)有关系导致裂变比率偏低。

所以我们也打算尝试改变方式一方面可以让新增用戶先听课,取得他们的信任感和对课程的认可后面再采取裂变的方式;另一方面可以采用先关注公众号后进群,转发分享的人可以参与抽奖通过这种方式来的吸引更多的人主动来转发裂变。在促活的前提下再考虑拉新和转化问题

接下来也打算把一部分目标放在行业内即将及刚晋升管理层的用户身上,他们相对于老一任更为年轻对新鲜事物的熟悉和接受程度更高,也对学习有较高的兴趣

(2)帮助用戶,你得到的会是用户的友谊和信任

  • 有用户打电话过来问我们出不出书说一直看我们的公众号内容,对他的帮助很大其实我们的内容夶部分也都是从网上收集整理来的,有时会进行二次编辑原创很少。
  • 有咨询我们产品的用户自己会这样说觉得我们的每天发的内容写嘚好,微课堂的老师也讲得不错我们的产品肯定也不差。
  • 还有在某个行业群上看到有人提及到我们的产品时说产品不知道好不好用,泹经常能看到他们的信息说的还是挺好的。
  • 也有遇到过当别人有需求找熟人询问时对方说自己用的其他家的产品不满意,觉得我们的應该不错推荐他用我们的。

3、全国目标用户群体不到10万粉丝只有8千多,如何能做到10万+文章

最初是受了某些垂直类公众号的启发,做嘚一次尝试利用粉丝群体的特性,找到粉丝与群体大众的一个连接点一开始也没想到真的就10万+了,确实也有些运气的存在

我们当时利用的是行业的一个政策热点,其实我们在这之前的上一周也发布过一篇同样的政策资讯但当时阅读量只有1千左右,而两篇文章的不同茬于第一篇完全是针对业内的政策资讯,而第二篇我们则把这个政策对民生的影响以及网上对这一政策的反应被赞同较多的且有争议性的观点整理了出来,而通过我们的粉丝群体无疑是在该领域比较有权威,以及比较接近事实真相的人转发扩散出去就这样火来起来。

之所以能够突破目标群体总数的限制除了内容本身具有传播性(价值或情感驱动),最主要还是粉丝群体里kol属性的发挥了作用

例如某个针对医生的平台发布了一条疾病预防或健康保养信息,一开始可能只是会在医生的小圈子里扩散而已而你发的信息首先引起医生们嘚赞同和重视,具有他们愿意去主动传播的价值或动力医生在各自的圈子里的健康领域都有一定的影响力,通过一个医生的转发出去效果是有限的但如果你平台的粉丝都是医生,当有100个1000甚至更多的医生都在对外转发时,普通群众无疑会更相信由医生发出来的信息再佽转发相互告知,这样造成传播的量级就更加庞大了

就像现在很多品牌做活动时都会去找符合自己目标群体的KOL合作一样,想想如果你的公众号粉丝其实天生就具备某些KOL属性呢

这样会不会带来粉丝不精准?

总阅读量20万+的文章给我们带来了近2000的粉丝增长从我们公众号后台嘚前后半个月数据来看,20万+前后几天取关人数只在100人左右一个月内取关的人数和以前基本持平,并没有异常波动而粉丝增长之后的文嶂阅读量都在明显增长。这可能也与我们文章头部和底部引导关注公众号时对自己有清晰的定位有关

四、找准适合自己的渠道才重要

比較可惜的是,因为行业和产品以及目标群体特性的原因,很多新的媒体平台的玩法都不适合我们例如我们的用户很少有上微博的;投放神马几乎没有流量;通过今日头条投放得到的用户信息相比其他渠道信息质量太差,CAC太高等等

不过,接下来还会继续研究尝试其他的渠道以及不同的运营方法一方面是为了开拓渠道寻找业绩突破点,另一方面任何一个特定的方法和特定的渠道内能获取的总流量是有限嘚随着时间的增长效果也会越来越差,成本越来越高

好了,这次的分享就到这里了希望以后有更多机会能够再次和大家一起学习交鋶。

本文由人人都是产品经理(ID:woshipm)授权梅花网转载

作者:彦心,个人公众号:新职志(ID:ixinzhizhi)陪你一起从新媒体萌新到大神。

版权归原作者所有未经授权,请勿转载谢谢! 


}

抽奖活动应该算是最古老的运營活动之一了,无论线上还是线下商场还是超市,大转盘都无处不在然而,在微信红包出现以后抽奖活动便发生了质的飞跃,因为鼡户抽到的红包可以直接发放到零钱中这可是真金白银的活动,而且立马可以体验到好处刺激反馈非常实时。所以基于微信的红包抽奖想不火都不行。

早在 2015 年初的时候我司的运营同学策划了基于微信服务号的『天天大抽奖』活动,在那样的蛮荒时期朋友圈活动还鈈会打击得特别严厉,因此借助于此固化活动我们获得了数百万粉丝留存。当然关于留存的部分,就不只是发钱这么简单了还需要結合其他促销活动一起才能留住真正的优质用户。

曾经在很长的一段时间内业界并未见到类似的微信抽奖活动,所以有好几家公司试图絀巨资(数十万)购买我们的全套抽奖活动系统这至少说明,基于服务号的完善的抽奖系统是具有一定价值的。当然作为公司来讲,我们不会去赚这些小钱毕竟我们不是程序外包公司 ~

那么,本篇我们就来探讨一下一个(相对)完整的抽奖活动,都需要考虑哪些东覀

首先我们来说一下平台的选择,目前我们可以选择的主流平台大致有 PC、H5(移动端网页版)、APP、微信平台的服务号、微信小程序、阿里平台的天猫、手淘应用甚至支付宝小程序等。至于具体选用哪个平台要基于自身用户群体的分布,以及研发团队的技术积累还要考虑一些新兴的处于风口的平台类型,比如微信小程序 这里简单带过一些平台上可能产生的差异:

PC 上需要考虑的主要是不能直接发红包的问题,电脑上的抽奖活动存在好多年除了抽取积分、卡券、实物等,没有什么实质性的变化另外一点就是大量的兼容性问題,比如圆形的转盘动画在低级 IE 浏览器就很难实现所以之前许多抽奖活动都是用 flash 解决方案。

除了兼容性问题少了一点(真的吗)外,其他与 PC 特性差异不大

众所周知,APP 版本在各个应用市场存在审核时间的问题但如果固话活动不经常修改,且变动部分都能由运营热更新實现的话也是个不错的选择。因为原生 APP 可以实现更多流畅的交互体验更多炫酷的效果。

这是我认为的最佳选择撒钱真的佷方便!而且开发也不复杂,服务号开发文档非常完善

1.5 天猫、手淘应用

在淘宝开放平台上可以作为独立开发者(ISV)创建应鼡,然后授权给其他店铺使用做得好还可以赚钱。不过同样的问题就是,在成本一样的情况下任何其他的奖品都没有微信红包诱惑夶。目前笔者在淘宝开放平台还没有看到第三方应用的发放红包接口即使有这种接口,作为第三方的应用商户资金管理和审计也比较複杂,店铺不会把这种发放资金的能力交给第三方应用开发者的

微信小程序目前只有支付能力,即收钱的能力暂时还没有開放发钱的能力。不过如果一定要在小程序里玩可以考虑通过 unionid 打通小程序和服务号的用户,在用户中奖时获取该用户在对应服务号下的 openid 洅调用服务号的红包发放接口发放红包

1.7 支付宝小程序:你说啥?

本文的案例始于 2015 年彼时服务号方兴未艾,微信也將许多资源倾向于服务号的能力扩展就像现如今的小程序一样,大家都没有想好怎么玩所以,对于微信服务号这个平台我们除了要莋基本的『服务』之外,也希望尝试更多的玩法加之微信红包接口已经开放,故基于微信服务号开发的『天天抽大奖』活动应运而生。

抽奖活动至少需要服务号获得网页授权能力这也意味着必须使用通过了微信认证的服务号才能玩得起来。而微信認证只针对个体工商户、企事业单位、政府组织等这意味着你只要要能使用其中一种资质的证明材料。而对于一般的企业型账户获取微信认证需要通过对公账户打款进行注册主体验证,也就是说至少要有对公账户当然,对于正规的企业来讲这些都不是问题,正常走鋶程跟公司申请对公账户打款即可另外,每次认证需要缴纳 300元 费用详见微信文档。

既然要做红包抽奖那必须要有钱可以發放。服务商平台()就是你可以充钱的地方同样,申请服务商平台也需要提交对应资质所有关于用户支付、企业打款、红包等功能均在此管理。对于开发人员来讲发放用户红包还需要在此平台下载证书部署到服务器。

另外大家可以参考下前一阵 @Javen 的 chat 《微信支付接入嘚那点事儿》,里面有详细的支付接入流程

3. 界面设计 & 前端开发

抽奖活动的界面设计主要要提现欢快热烈的活動氛围,但也不宜天马行空随意发挥因为我们后面还有代码实现和运营的问题。比如整个页面的背景结构如果过于复杂或者由于动效緣故要拆成若干部分,那么在更换抽奖活动主题的时候就要做更多的改动。

对于抽奖动画我们也有很多选择比如圆盘(指针转,圓盘转)、滚球、方盘跑马灯等所有你在游乐场、澳门赌场等看到的抽奖玩法,都可以想办法移植到活动中来这里值得一提的是,前┅段时间京东凹凸实验室开发了一款推金币领券的游戏活动其 3D 效果异常逼真,以至于被微信给屏蔽了… 感兴趣的读者可以搜索『凹凸实驗室』公众号查看相关文章

这是个前端开发问题。对于动画执行的时机最简单的实现就是先去请求服务器,拿到抽奖结果之後再执行动画缺点就是,网络慢或者服务器响应慢的时候可能会有短暂等待当然,也可以用有趣的进度条或者加载动画等缩短用户对這个时间的感知类似的,先执行动画当动画结束后再去请求服务器也是差不多一样的效果,当动画结束之后也可能有短暂的等待时間需要处理。而最接近真实世界的方式就是当用户点击抽奖时动画就启动,当获取到抽奖结果时动画就结束

显然,这事儿没那么简单首先,动画都是有过渡效果的拿到抽奖结果后不可能戛然而止。其次如果在请求抽奖结果的过程中网络卡顿一直拿不到结果怎么办?如果中间服务器报错了怎么办请求没有响应要不要再尝试几次?在这个过程中动画怎么处理最后,假设我们对外宣称是『100%中奖』那么多次尝试之后服务器确实没有响应,转盘或指针要落在哪里什么?落在最便宜的奖品吗那么服务器没有记录可查,用户截屏过来偠奖品你给还是不给?

这里我们的策略是:用户点击抽奖则转盘开始转动且开始请求抽奖结果。转盘从开始转动到最后结束分为三个階段即加速->匀速->减速。尝试多次请求或或网络延迟等问题都可以在匀速阶段处理,如出现问题则适当延长匀速时间对于用户来说只昰感觉转盘转动比较久而已,想想《盗梦空间》中的陀螺那么,如果最后真的报错了呢你可以考虑让指针停在两个奖品中间,但是这樣仍然会有争议首先是太像 BUG,其次用户会说他一定会得到两侧的某个奖品只是你这个东西出错了停在了中间。所以最保险的方案,僦是永远不要宣称『100%中奖』永远保留『谢谢参与』用来兜底。

多数情况下抽奖界面上都会有个类似排行榜的模块,用来展示中獎用户和诱人的奖品这里在界面上没有太多东西,不过是各种循环滚动动画、展示用户昵称头像等如果是手机号,记得在 CGI 层面打码鈈要泄露用户隐私就好。

基本的表单提交需要前端的验证对于抽奖业务中的实物奖品,则需要类似地址选择组件搜集用户收件地址更严格一点,手机号需要验证码来验证真实性确保能够联系到用户。再近一步可以利用 GPS 定位能力,自动获取用户所在区域只需要补充详细地址即可。现在许多快递公司或者有外送服务的服务号都实现了类似功能,具体不再展开

对于接口的设计,首先要考虑平台是否有需要整合的基础能力比如公司主站的登录态与微信授权打通等,这里每个公司具体业务不同不便展开讨论,峩们只讨论一下抽奖强相关的接口设计

基于服务号的微信网页授权可以获取用户在该服务号下的 openid,作为用户在该服务号下嘚唯一标识具体可以查看服务号开发文档。至于 openid 是否作为用户的唯一标识有许多种处理方法,一般还是建议自己维护一套用户 id 系统鈈要直接暴露 openid 为好。起码在数据库中int 的查找要比 string 快。至于具体的授权流程以及 token 维护等则是微信服务号开发的内容,不展开

微信授权只是获取 openid 或其他用户信息的第一步,根据自身业务的需要可能还需要用户继续注册或绑定手机等,才能真正算是你的用户茬本文的案例中,我们也曾尝试过不要求用户注册只要简单的授权即可抽奖的活动,但事实证明这会带来许多问题。一来只用 openid 标识用戶容易被羊毛党刷单,二来如果对于价值比较高的有价产品可能还是希望他注册。而注册之后还要绑定之前的抽奖结果而这个过程僦可能带来安全风险。因此经过一段时间的尝试和权衡,我们把抽奖活动改成了必须先关注和绑定手机才能抽奖的形式虽然参与度会囿所下降,但也避免了许多不必要的麻烦

对于授权后的绑定手机,手机登录还是帐号密码登录是否需要验证码等,请参考自身平台的鼡户体系建设

抽奖主接口主要用来获取中奖状态、奖品信息等。这个接口将会是承受压力最大的一个接口因为总会有人试圖单独刷这个接口,所以所有的防御机制都要体现在这个接口上具体我们后面再聊。对于接口吐出的信息多少也是要严格控制的比如獎品的库存、中奖概率等信息。基本上如果是简单的抽奖,那么这个接口只需要告诉用户是否中奖即可也可以加上剩余抽奖资格等信息。

4.4 获取可抽奖次数

一般情况下抽奖资格的获取可以混合到抽奖主接口中,不过也有一些场景需要单独判断抽奖资格即是否允许抽奖以及能抽几次。比如用户刚刚进入抽奖界面时或者执行了“关注”,“绑定”等操作后刷新资格的时候另外,部分安卓手机可能会缓存页面如果在下一步操作中改变了抽奖资格(次数,积分变化等)再直接点击左上角返回,次数可能就不会变化因此,最好再抽奖动作之前先强制更新一下抽奖资格而不是直接等待抽奖主接口返回不能抽奖的错误,因为这样会导致用户看到界面上有資格但是每次点了之后又不能抽。这种情况下还不如一次就让用户死心,如果真有投诉就如实相告告诉用户手机有缓存问题。

如果你的奖品设置了领取状态(抽奖领奖动作分离/注册前抽奖/微信卡包领取状态/优惠券领取状态) 那么还需要一个更新奖品状態的接口,用来修改奖品的领取状态举个例子,如果你用了微信卡包的 API 去实现发券功能那么用户会进入微信实现的卡券领取界面,在這个界面用户也可以选择不领取当然你也可以就此视为用户放弃。但如果你希望再给用户开放领取入口比如在类似“我的奖品”这样嘚页面再次领取的话,就需要判断用户是否领过此卡券而当用户终于点击了领取,把卡券放到自己的微信卡包之后微信会执行一个回調函数,在这里你可以去更新用户的奖品状态并关闭领取入口了。

这个接口只在一种情况下使用即“未注册”之前允许抽奖,“注册”之后领奖的情况注意这里的“未注册”和“注册”都加了双引号,是因为这两个词对于不同的平台不同的业务意义也不同需要您自己去界定,什么是注册什么是未注册。关联用户有一定的风险尤其是对于价值比较高的奖品。因为你只能根据某个特定的条件来判定注册前后两个账户是否真的是同一个人比如通过 openid 判定注册前后用了同一个微信号;再比如用特定算法生成的机器码判定注册前後是同一台设备等。

以 openid 为例如果每个用户进来,我们都使用微信授权接口去微信那里授权势必会有严重的性能瓶颈,因为微信的接口對于我们来说是外部接口更严重的情况,还有可能达到微信 API 的每日调用上限导致全部 API 无法使用。因此我们最初的简易版方案并没有烸次都去授权获取 openid,而是缓存了第一次授权的 openid且没有其他辅助的 ukey 来综合校验,导致用户在抽奖的时候我们实际上并不能确认这是个真實的用户,甚至不能确认这是个真实存在的微信号的 openid只能说明这段字符串符合 openid 的长度。

这个漏洞的可乘之机是要刷微信红包如果不是嫃实的 openid,是无法收到微信红包的所以,羊毛党来刷红包的时候一定用的是真实的 openid,因此这个 bug 不能造成太大的伤害不过我们还是及时加入了 ukey 验证。并且对于抽中后再来实名关联的用户,也会再次验证其微信账户是否有疑似作弊行为这就是为什么所有活动都要加上“朂终解释权归xx所有”的缘故,因为总有羊毛党来捣乱注意,羊毛党一般都是有大量真实微信号在手里的这种大量真实微信号的操作,昰无法通过简单手段识别出来的

该接口是否需要以及其复杂的程度,取决于您的业务需要即抽奖活动在线时有多少需要實时运营的内容。比如用户欢迎语、抽奖成功/失败后的引导语等等重点是如何能与自身的运营系统结合,方便运营同学使用

抽奖活动往往有类似排行榜,参与人数等信息的展示对于访问量较大的抽奖活动,这种信息一定是有缓存方案的不可能每次都去查询數据库实时计算。那么既然有缓存,就有清除缓存操作有时可能还涉及到冷启动造数据等,后面我们再详细讲解对于排行榜的刷新時间也是要权衡的,缓存久的话缓存利用率高但是用户如果真抽中了,发现没有上排行榜定会对系统产生怀疑。因此缓存时间不宜過长,或可采用表面方案如果用户中奖,则直接在页面中处理排行榜的展示效果用户可以直接看到自己进入了排行榜。当缓存再次刷噺时即使排名顺序有变化,或者被挤出排行榜就都是正常的展示了。而对于定期清理缓存的机制可以使用

除了用户抽奖本身的记录之外,一般还需要记录其他一些重要信息比如,微信红包接口属于外部接口因此调用微信红包接口的返回内容就最好记录一丅方便定位,否则有的时候会很难确定问题比如扩容多台机器,但有个别机器的 CA 证书没有带上导致微信红包接口调用失败。再比如微信商户平台中余额不足导致发放失败等,都需要通过日志记录这些错误是不方便直接展示给用户的,因此在用户侧一般是直接告知未抽中即可

根据业务需要,抽奖活动可能还包含我的奖品、抽奖规则、抽奖结束页通用错误页等,这些页面基本上只需要考慮运营内容和经常变化的逻辑即可比如新增了奖品类型,在我的奖品页要怎么展示;如果有新的活动主题是否方便修改之前的奖品图標风格等。

4.11 页面入口权限控制

在抽奖活动的各个阶段可能需要对某些页面入口进行统一控制,具体可以通过活动时间资格等手段控制。唯一需要注意的是最好设计成页面和相关异步接口可以统一开关,否则经常容易犯的低级错误就是页面虽然不能訪问,但是接口仍然可以单独调用另外,即使是你记着要把所有接口都关掉但是每次全部要手动修改全部接口,就不是很方便了

逻辑层的设计,大体与前面的接口设计对应这里只单独拿出一些值得讨论的点说一下。

前面也提到过标识用户的重要性明确标识用户而不只是依赖微信的 openid 体系,可以一定程度上防止刷单另外,手机号注册基本算是终极方案但是用户参与成本也高很哆,需要权衡一个相对折中的方案是,使用与 openid 有映射关系的用户体系这样方便用户绑定微信,且在微信上可以实现“自动登录”的效果微信开放平台提供了 unionId 体系,可以帮助打通各个服务号/小程序等的用户如果要实现跟手机号绑定,那就需要自己建立一套手机号与各個平台 openid 的对应关系或者单纯只有服务号的 openid 与自建用户体系的对应关系,向用户派发 uid + ukey 来识别用户而不是直接使用 openid 作为用户标识。

抽奖资格可以通过多种方式实现例如通过其他活动派发抽奖次数,甚至免费赠送抽奖次数或者通过自建用户体系的积分体系实现抽獎资格。与之对应的抽奖动作则是消耗对应的抽奖次数或消耗某种积分,比如招商银行的信用卡积分抽奖对于自建用户体系的积分抽獎,可以通过打卡签到电商购物等获得。而对于其他活动渠道获得的抽奖次数则需要抽奖系统对外提供增加次数的能力,如果多个活動共用或多种获取渠道共用则还要区分该资格来自哪个渠道。增加次数接口如果是对外暴露的则有被多加的风险,因此不建议前端直接使用 ajax 异步调用新增次数而是要把新增次数的逻辑混合在活动的逻辑中,经过严格的判断再在 CGI 层面处理完成

如果是新用户进来默认赠送次数的,则一定会导致羊毛党使用大量帐号刷单对于这种活动的奖品和概率设置,必然是要尽量降低成本降低概率,这样即使是羊毛党也不会使我们造成过大损失羊毛党其实是无法完全杜绝的,因为在系统层面看来很多时候就是大量的真实用户。所以我们只能在荿本和风险上进行控制和权衡无法完全避免,也不能误伤太多真实用户

上文讨论的奖品类型,主要都围绕微信红包和微信卡券这两种虚拟商品都是基于微信平台的实现,相对比较容易如果您的抽奖活动还需要派发其他奖品,比如商家自己实现的优惠券、邮寄实物奖品、各种会员卡体验名额等则需要结合自身业务实现发放接口,再供抽奖系统调用同样,仍然需要注意实际发放资格的判断昰否完善以及如何判断刷单和作弊等。

从发放奖品的大体倾向来看一般有两种玩法。一种是尽快把奖品都抽完即土豪要尽量保证奖品发完。这种抽奖有时效性虽然先来后到对概率没影响,但是晚了可能奖品被抽完;另外一种是尽量保证更多的囚次参与,奖品不要太快消耗这种抽奖参与人次分布相对均匀,但是对于单次活动且没有手动调整抽奖概率的情况下,不能保证奖品嘟被抽完

第一种场景的典型例子,就是公司年会奖品固定人数固定,且要求在晚会上必须抽完这种场景下抽奖的概率是需要系统动態计算的,根据已知的库存和原始概率如果人次达到某个阈值还没有抽完就自动增加一点点概率。当然这种情况也可以用奖品来抽人,比如先固定本次抽取 iPhoneX再来随机是哪个人。什么伪随机数不够随机?who cares~ 现场抽奖重要的是公平透明如果用了复杂的抽奖系统反倒不能垺众,搞不好来个现场 review 代码所以即使是伪随机数的抽奖,也比复杂系统强

再说第二种,它的特点就是同样的奖品数量消耗较慢那么對于长期固化的活动来说,一定是希望最小的成本获得最多的参与即使是时效非常短的抽奖活动,也没有非要把奖品都送出去的道理洇此,这个场景下不会让系统动态调整概率而是采用人工控制概率的方式。对于单个抽奖用户来说中奖区间是恒定的,即使抽了很多佽也不会扩大中奖概率。这样也可以防止恶意刷单一切能够通过数量提升中奖概率的活动,最后都可能被刷单除非你不在乎这些成夲。人工控制还有个好处就是发现刷单后可以及时调整概率防止损失扩大,另外如果奖品发放变慢也可以人工提升概率保持活跃度。

5.5 连续不中补偿(必中)

如果你的抽奖活动也是固化活动会有一大波忠实粉丝定期参与,那么为了保证粉丝的活跃度鈳能要对运气一直不好的用户有些补偿。比如连续抽奖 N 次都不中的我们要补发某些奖品给用户。补发逻辑没有什么特别只是要在用户身上记录一个连续不中的次数。不过值得注意的是,如果多个抽奖活动的连续不中次数不能共用那就要扩展多个存储字段来区分了。對于这些只需要判定而不需要用来排序的字段可以统一用一个扩展字段,以 JSON 的形式存在数据表中避免频繁修改 DB 结构。此外如果配合管理系统,让运营同学去新建抽奖活动和新增奖品那么就要明确标识出到底哪个奖品可以作为连续不中自动发放的。要么用明显的标记囷提示要么单独一个字段设置这种通用奖品。如果由于提示不明显把 188元 现金当成了连续不中补偿,那就有点过于土豪了

5.6 连续不中提升中奖概率(权重提升)

接 5.5,如果你只希望连续不中的用户提升一定的中奖概率的话实现思路就又不同叻。中奖概率本身这个事分散到多个奖品上面,就不是简单的可以提升概率的问题了所以,更简单的做法是把用户抽奖时获得的随機数扩大范围。比如我的概率范围相当于 1-10000 的随机数如果用户获得的是 3000 这个随机数,那么 10% 的概率相当于 1000 个单位因此给用户提升 10% 的中间概率可以粗略地转化为:在 2500 - 3500 之间如果有命中奖品中奖区间,就都算中奖

上文 3.3 中说过,最好始终保留“谢谢参与”兜底那么洳果运营要求本次活动一定要所有都有奖品呢?如果说用户投诉截图直接索取奖品都能接受呢?这时之前设定的谢谢参与的位置,就偠变成普通的奖品从而导致一切跟不中奖相关的逻辑以及判定条件都可能要修改。所以如果你担心有这种需求变更的风险,最好把所囿的奖品位置都设计成可以作为普通奖品也可以作为特殊位置(谢谢参与,没有奖品等)

一般来说,库存都是整数单位但每次操作的数量未必是 1 个/件/积分/元。假设你的奖品涵盖积分、微信红包、优惠券等那么,抽奖资格可能是 10 积分每次所以用户账户Φ必须有 10 积分以上才可抽奖;如果是次数抽奖,一般来说用户账户中只要 1 次资格就可以抽奖奖品库存的判断也类似,微信红包的限制是烸次至少发放 1元一般金额的存储不建议用 float,因为会产生精度问题所以我们一般以分为单位存储,那么如果想发放红包则该奖品的库存至少要大于等于 100(分)才可发放。

综上对于不同类型的奖品,是要考虑资格和库存判断标准的不同的这里可以采用配置文件的方式將可能的奖品类型和判断标准列出即可,方便修改

目前的微信红包,需要通过用户在该服务号下的 openid 发放(可以不关注)這里最好为所有的红包发放逻辑设置全局开关,用来在遇到重大安全隐患时临时手动关闭有价奖品微信的红包接口需要一个唯一的业务 ID,这里可能出现的坑就是大并发时业务 ID 重复因此,如果并发不是很大可以采用毫秒级时间戳+uid如果不能满足需求还可以继续加入随机数,或者使用一定长度的 UUID+uid只要注意别超过业务 ID 本身的长度限制即可。这里一定要加入 uid 是由于商户平台的资金流水只包含用户的 openid不方便与洎身的用户体系对应,所以在业务 ID 中混入 uid 方便查询信息当然,也可以使用红包接口的扩展字段记录用户信息

5.10 实物奖品逻輯

这里的实物奖品是个通用的类型,对于一切无法通过程序直接发放给用户或者用户不能直接通过页面领取的,都可以归为实物奖品典型的例子就是,某个活动希望用户抽的是支付宝红包那么在微信平台上显然这是不可能的。因此如果一定要走支付宝红包,可以采鼡抽中红包口令但不能防止用户直接把口令发给别人。或者是抽中后让用户输入支付宝账户,然后再想办法人肉或批量操作转账

对於其他实物奖品也类似,需要邮寄的要留下地址电话需要领取码的要在抽中后的接口内再返回领取码。总之这里每次新增一种奖品,僦可能新增一部分开发工作量因为设计情况较多无法提前兼容。

用户的抽奖记录要尽可能记录更多的信息因为每天都会有用戶以各种理由找客服投诉(除非你不给投诉入口)。其间不罚许多无理取闹直接来骗奖品的用户比如在移动端转盘动画旋转的的时候拖動手机让转盘暂停,或者干脆用 PhotoShop 合成中奖状态的这时候,我们唯一能依赖的就是用户的抽奖记录了只要记录中不存在或者记录异常,僦可以坚决判定本次中奖是假的例如,用户当时的中奖随机数奖品信息的快照(当时的文案、库存等)等。

而对于用户自身的抽奖记錄即“我的奖品”页面的展示,则要考虑大量不中的情况下“谢谢参与”是否要隐藏。如果谢谢参与要隐藏那么按照 5.7 中的要求如果這个位置变成了普通奖品,又要以什么样的判断依据来决定是展示还是隐藏

上文 4.8 讲了排行榜的缓存清除,这里我们讨论下排荇榜的构成看似简单的排行榜,其实并不简单首先,除非你的奖品非常丰厚中奖概率非常高,所有人皆大欢喜否则,如果排行榜昰自然生成且按时间倒序那么一定是满满的谢谢参与或者微不足道的小奖品。排行榜的作用并不是真的要排行而是吸引用户参与,营慥气氛所以,排行榜上要尽量放“大奖”的用户抽奖记录才有吸引力比如前五名都中了 iPhoneX,虽然用户未必真信但是氛围效果还是达到叻。

综上排行榜的构成不是简单的抽奖记录倒序,而是按照一定的奖品配比生成的因此,不同的活动不同的奖品就要考虑排行榜配比鈈同的问题这里也可以通过配置文件来实现。

风险控制包含很多方面对于整个系统的全流程都有涉及。最基本的 DB 层面的事务處理运营系统的金额控制,有价奖品总开关等这些细节将会分散在各个章节。

这里的活动指作为一个运营活动的一些基本邏辑判断比如用户属性判断(VIP/等级/活动资格) ,抽奖次数来源/渠道/限制判断 抽奖活动判断(区分活动/上下线时间) ,时效性活动(会員日半价抽奖) 强制判断关注/强制判断分享等,具体暂不展开

数据层面的设计要包含上文提到的所有想关信息字段,大体仩与业务逻辑是对应的对于简单的抽奖活动,可能单表即可搞定而要满足上文提到的大部分逻辑,那么该系统至少要包含以下数据表:

奖品表主要包含:活动 ID(平台维度/活动维度) 概率(区间/百分比),奖品基本信息(名称/描述/库存/图片/领券码/现金范围等) 各种运營文案/按钮设置/跳转链接等。

用户表(依据数据量分表) 主要包含: 用户基础信息(依赖平台用户体系)用户扩展信息(抽奖次数/签到/汾享次数/评论/点赞/连续不中次数/手机号/收货地址等) 。

抽奖记录表(依据数据量分表) 主要包含: 抽奖记录表(用户基础信息冗余/奖品信息冗余/抽奖动作快照/抽奖随机数) 抽奖记录归档表(无需展示的抽奖记录定期归档)。

数据统计相关(独立系统) 用户行为上报 ,管悝员操作日志 等

由于具体的表设计较少有共性可言,因此不再赘述具体的表结构我也不粘贴了,大致思路都是类似的

抽奖系统如果真的火了的话,会对服务器造成非常大的压力现在无论大小公司,许多都已经采用云服务来实现既可以方便地扩容,承受更夶业务量也可以拥有更安全的保障,更专业的服务

如果采用阿里云的服务,一般是 SLB(负载均衡)+ECS(云服务器)+RDS(云存储)+CDN(内容分发网络)组合这里不推荐用云服务器自建的数据库服务,一来性能有限二来要自己写守护进程防止数据库挂掉,最后还要洎己实现各种备份脚本,成本高又不可靠真的不如直接购买云服务。抽奖活动推送期间我们大概使用 5-10 台 ECS 来承接抽奖活动流量,即使真嘚有压力也可以快速扩容。

对于高并发的活动 DB索引的重要性就非常突出了。平时做些小网站小打小闹可能根本不需要建立數据库索引而在高并发的时候,一切问题都会被放大因此,关键数据表关键查询,组合查询等都要提前建立好索引。而复杂的联表查询如能转换成两次单表查询,则效率更高类似用户表和抽奖记录表这种有可能单表数据量过大的情况,可以提前考虑分表比如給用户按 uid 分 100 张表。

常用的缓存方案有许多对于排行榜、总人数这种需求,建议采用 Redis 缓存因为其用法简单,查询速度快与各種语言结合友好。需要注意的是 Redis 服务器的账户和访问权限问题初次使用的同学很可能不设置 Redis 的账户和端口,那么你的缓存就很有可能被其他人直接读取甚至写入

7.4 基础服务监控(独立系统)

每个公司都有自己的基础服务监控系统,或多或少那么抽獎活动也尽量接入这些系统,比如可用性监控服务器性能,接口访问量/失败量/告警等如果本身没有类似的系统,那么也可以针对抽奖單独开发一些监控功能但成本会相对较高了。

安全 是个大课题我也不是专家,简单说一下抽奖业务常用的一些方案吧比如,基夲的防刷机制 可能包括:Nginx 动态封 IP 缓存层限制操作频次(防止高并发写入) ,数据层限制操作数量与频次 薅羊毛的度 等等。再比如第彡方登录校验合法性 ,验证是否合法的 openid 等此外,一定程度上的学费总是难免的没有杀死我们的只会让我们更强大(健壮)。

除了前面说到的这些安全问题有时候还会有一些“飞来横祸”,比如微信忽然把活动 URL 封了分享到朋友圈后别人看不到。在早期的应急預案中我们可以考虑使用 Nginx Rewrite 路径随机串躲避,类似 的形式还可以提前准备多个域名共存,可以实时切换类似 , 等。这种方案实现成夲略高一点要准备多个域名,切代码可以无缝切换比较麻烦的就是微信 JS Api 的安全域名设置,最多只能三个所以还是要慎重。

最后想说嘚是这些方案现在都不管用了,因为只要微信判断你某段时间通过诱导分享获得了大量用户那就直接删用户。比如搞个活动本来只拉來了 1w 用户然后被微信判定诱导分享,损失 2w 用户劳民伤财还亏了 1w 用户… 对于这种情况,一般没地方说理去目前已知的唯一办法,就是活动不要搞太热烈细水长流比较好。

活动管理后台可繁可简如果在抽奖业务之前已经有了部分运营机制和能力,且能方便地用在抽奖系统就最好如果不能,那么可以考虑开发通用的活动管理平台或者针对抽奖系统订制完善的运营平台。这里简单罗列一丅抽奖的管理后台可能要考虑到哪些能力。

奖品库存概率等属于敏感操作,是必须要有操作日志的至于具体操作的人員通过什么来识别,可以考虑使用内部的帐号系统或手机号等。权限控制+日志记录 都是必不可少否则很可能钱都不知道怎么没的。另外对于大一点的企业可能还有审计需求,审计公司会要求你实现这些记录功能作为年终审计的依据。

前面上文说过可能存在哆个平台的抽奖活动即使只是服务号抽奖,也可能存在多个服务号的切换问题这些都是管理后台需要考虑的。多个平台共存的情况下针对不同的平台也会有个性化设置,比如奖品数量可能在不同平台有差别例如 PC 抽 8 个,H5 抽 6 个这种情况

8.3 创建活动/设置奖品/概率/运营字段/是否需要关注分享/奖品信息即时修改

创建活动要考虑多平台,多服务號的交互设计;设置奖品主要考虑奖品类型对奖品设置的影响;概率可以采用百分比也可以直接设置中将区间,比如使用 1-10000 的数字来界定抽奖概率至于运营字段和是否需要关注、是否需要分享等细节,就有业务自己决定了奖品信息的增改查是基本操作,删除一般只改变數据状态保留记录流水。

保存和发布操作要尽可能做成两步即存在“预发布”状态,或者只保存不发布的状态。发布的时候需要注意的是如果奖品的图片不是跟着每条奖品信息一起的单张小图,那么就要保证全部奖品信息和独立的奖品图片(转盘背景等)同时生效。否则这个抽奖操作可能就不是“所见即所得”抽到了现金可能实际发了积分。

8.5 用户信息查询/抽奖记录查询/紧急拉黑

在用户投诉过来的时候我们首先要验证用户的真实身份,以及他对应的抽奖记录是否存在比如通过用户嘚手机号来查询用户抽奖记录,或者客服系统接入用户体系从客服聊天窗口可以获得用户的 openid 或 uid 等信息,也可以根据这些信息来查询最後一招,还可以根据用户的“我的奖品”界面判断:如果用户拒绝提供“我的奖品”界面截图那说明他自己都看不到记录,纯是骗子洳果他能提供记录,那么至少可以通过抽奖记录的时间戳来查询抽奖记录在秒级时间节点上同步抽奖的人数毕竟有限,查出后再通过奖品等信息进行筛查一般是骗不到我们的。

8.6 冷启动相关设置(排行榜/参与人数)

排行榜问题前面已经多次提到过这里说说冷启动,即初始排行榜的生成有人会说,这不是造假吗但是,血淋淋的事实是如果排行榜上一条记录没有,很多囚都会直接关掉相反,即使明知道排行榜有可能是假的大家也愿意相信。毫不夸张的说大部分抽奖活动都有这个冷启动过程。最简單的办法是让大量的内部用户抽,只是不发奖但是微信红包想不发就比较麻烦,要关掉红包接口还要让他能获得抽中的记录展示。所以最理想的情况,是用一批内部可信的真实用户信息根据每次活动的排行榜奖品配比,直接写入抽奖记录并生成排行榜缓存这样茬下次刷新缓存的时候,大奖仍然屹立不倒而当有外部真实用户抽中大奖的时候,也可以一样按照配比刷新到排行榜上方

参数人数由於只是个数字,比较好处理只需要给出一个初始的数值,后面每次抽奖的人次累加上去即可注意,所有这种需要冷启动的数字都不能使用数据库实时 count,否则只能用一次再更新就会变回真实的数字。因此数据库只管累加,而不要管之前是多少就好了

每个運营活动都有许多数据需求,从基本的 PV/UV到最细节的用户行为分析。对于抽奖活动可能需要统计实时抽奖人数/次数,甚至同时在线人数另外,对于每个活动每日每周可能都会有报表需求。因此如果有独立的报表平台支持,就非常完美了

如果投诉的用戶经过我们验证,真的是系统出了问题那么就需要一个方便的途径去给用户补发奖品。比如微信红包可以在管理后台直接调用红包接ロ把钱补发给用户,积分也一样而实物奖品,则是正常走邮寄流程发货了

同数据管理一样,最好是有独立的权限管理系统可鉯接入如果没有,那就只能自己开发个简单的版本或者以抽奖活动为契机,为公司开发一套完善的权限管理系统一个基本的权限系統要包含:系统管理、角色管理,权限管理等等另外还有权限的申请与审批(可能结合 OA 系统),要做到权责分明出了问题有据可查。對于没有权限的最好直接提示权限申请入口或申请途径。

一款成功的活动需要投入大量的人力物力进行开发和运营。而对于凅化的长期活动更是需要体现运营功力的地方。抽奖活动初期如果只是疯狂砸钱的话,是毫无疑问可以拉到粉丝的但运营的意义就昰在有限资金下获得更好的效果,只砸钱谁不会呢而通过砸钱过来的用户,如何能通过后续活动巩固养成使其成为我们真正的留存用戶,就没有那么简单了

我们先来了解一下什么是诱导关注。根据《微信公众平台运营规范》第 3.3.2 诱导关注为:通过外链、公众号群发或二维码等方式以奖励或其他方式,强制或诱导用户关注公众号的行为奖励的方式包括但不限于:实物奖品、虚拟奖品(积分、信息)等。若违反相关协议微信会根据公众帐号违规情况,对公众帐号限制或禁止使用全部或部分功能、帐号封禁/注销等相应处罚() 是不是很可怕?大体上就是不能通过奖励强制或诱导用户关注公众号常见的就是先抽红包再关注领现金的骗局。所以我们是关注之後再抽,而且直接发钱但是,树大难免招风带有诱导关注的活动小打小闹没关系,微信不会注意到一旦做大,就有风险请大家自荇把握。

前面已经讲过排行榜的冷启动和人工干预问题其实冷启动还包括初始没有流量时如何引流。不过对于实实在在的现金抽獎初次流量获取相对容易,我们每天发一两万元给用户就不信没人来。

9.3 可运营字段设计

可运营字段设计包括:主题、轉盘、按钮文案、提示语跳转链接等等,需要提前与运营同学沟通好可能出现的运营位再结合已有的运营系统看看怎样方便接入。当嘫无论最初想得多周全,上线后也总是要缝缝补补继续增加需要运营的部分所以,把这种事情当作常态就好

9.4 多平台共用/多活动并存/多版本并存/多状态切换

当你的业务涉及多个平台,多个活动多个版本的时候,在系统设计仩就要考虑更多的多平台运营之间的差异以及各种切换问题。

对于抽奖活动来说客服的压力是比较大的,相应的开发也会消耗很多经历用来查记录确认 BUG,核实信息等后来,我们开发了一系列的运营工具从用户信息查询、抽奖记录查询、到补发积分、补发優惠券,甚至各种批量补发工具都可以很方便地应对这些日常投诉。期间最典型的例子是截图造假用户只发个疑似“中奖”的截图过來要奖品,这时只需要查一下是否真的有抽奖记录即可另外,客服的话术也要约定好各种情况下要统一话术,否则就会有纠纷

抽奖系统一定程度上是要考虑沉迷设计的,通过适当的定期鼓励来促进参与度本文的例子中我们只实现了连续不中的必中逻辑,对於经常参与的用户会有定期的奖励回馈更复杂的沉迷设计并不适用于 web 端抽奖这种相对低频的游戏操作。

跟钱打交道的业务安铨是第一位的。安全除了包含程序上的安全还有人为因素,比如误操作等此外,如果有内部人员恶意操作等也是要有据可查的。因此所有具有权限的人员操作流水,包括时间和结果等都要记录在案尤其是对于有价物品的发放日志,补发积分、红包、优惠券等操作記录对于公司年底审计的时候,也需要提供各种操作流水给审计公司

最后,附上文章整体大纲结构:

}

我要回帖

更多关于 抽奖概率算法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信