资讯专栏INFORMATION COLUMN

跟随你的用户(Follow Your User)

enda / 267人阅读

摘要:无规律用户货币不能出现断层现象。基于上述结论,我们采用正态分布算法,优化下方案。为什么选择正态分布算法由于其随机性,满足无规律的条件,同时其次随机值累加仍然能够保证其分布依然符合正太分布。关于正态分布算法原理及特点,大家请自行翻阅大学教材。

本篇从产品角度来聊一聊技术,力争让非技术人员看懂,我们都做了什么。

现在大部分App内都会存在一个『积分商城』,且会围绕商城开展一系列运营活动,我在上加公司有幸参与了多次活动的开发和设计工作(本身是一名技术人员),那么为了更好的实现活动目标,对以往的活动进行了抽象,总结。本篇重点讲解,在完成活动本身功能同时,技术人员还要做些什么事情。

经过对过往的活动的总结和抽象,我们得到下面两个特点

活动目标:拉新,留存

活动形式:用户通过参与活动,获得虚拟货币,使用虚拟货币兑换奖品

由于这种基于虚拟货币的运营形式,给我们带来了一些难点。

难点1:用户货币如何控制,即给多少的问题

难点在于:货币是要被以兑换奖品的方式消耗掉的,而奖品定价是未知的。

难点2:如何给奖品定价(不能更改)

难点在于:活动上线就要明确奖品定价,奖品数量,由于用户获得货币数是未知的。

忽然有种陷入无限循环中。从技术角度来思考一下,这两个事件互相等待(循环等待),如何打破死锁?从活动本质出发,重新思考一下,这里有个大的前提,用户体验要好。那么用户体验给我们带来了哪些要求?

货币产生不能有规律。(无规律)

用户货币不能出现断层现象。(无断层)

不能因为奖品定价把用户货币卡在某一个值上(无断层)

那么即便我们实现了产品功能,但是如果出现用户体验的问题,不仅影响活动效果,而且会给直接给活动带来投诉。

针对上述两个问题,进行分析我们得到在奖品定价货币控制用户体验三者紧密依赖的关系中,如果我们将货币控制的问题解决,那么其他两点也就迎刃而解。
但其难度已经超越产品功能本身,由于活动参与人数,人均参与次数,和留存数据未知。并且为了用户体验,要做到获得货币无规律,累计货币数据无断层,且商品定价必须在上线前确定。

通过分析,我们将两个难点转换成一个问题。如何在满足用户体验同时控制货币?再次回到用户体验的要求上。经过简单思考,得出如下方案:

无规律:通过随机算法在[m..n]随机返回给用户得到的货币

无断层:基于配置货币的分布区间,调整随机值

深入思考,发现方案有缺陷。

不确定N次随机性情况,单次随机值满足一定的随机性,那么累加后即同一用户货币数多次参与后,是否和单次随机性一致;

按分布区间配置不同的随机值,实现起来增加了系统复杂性,而且不确定分布结果是否能够满足货币分布预期;

由于前两个问题,导致商品价格不准确。那么如何调整实现方案?

如何让分布结果满足货币分布预期?接下来,我们分析下,货币分布预期。刚才提到了“货币分布预期”,货币是要用来兑换奖品的,那么这个预期,实际上就是奖品数量。

将表格转换成图形,我们发现这样一个规律:价值越高的奖品,数量越少,回到刚才分析的结论,这里我们关注的是奖品数量,再次抽象我们得到商品数量的曲线,呈递减趋势。再回到问题本身,“分布结果是否能够满足货币分布预期”,那么我们可以得到结论:

如果货币分布与奖品数量分布趋势一致,那么用户货币分布结果能够满足货币预期。

基于上述结论,我们采用正态分布算法,优化下方案。

为什么选择正态分布算法?由于其随机性,满足无规律的条件,同时其N次随机值累加仍然能够保证其分布依然符合正太分布。再有分布均值右半边匹配奖品数量递减趋势(衰减),能够满足货币分布与商品数量分布趋势一致,同样满足无断层这个条件。在前两个数据满足的前提下,奖品价格能够准确预估。

ps.关于正态分布算法原理及特点,大家请自行翻阅大学教材。

难点3:如何保证活动公平性?

难点在于:有作弊用户,如何识别作弊用户

导致活动丧失公平性的原因是因为存在“作弊用户”,现阶段传统的基于用户特征,ip,请求频率,次数等,已经完全无法防止或者说无法识别出来作弊用户了。因为作弊用户很专业,他们会不仅会写代码,而且他们租用vps设备。那么我们就没办法了吗?在移动端如何识别作弊用户。

仔细分析下用户行为:

正常用户

作弊用户

基于上述分析,发现作弊用户缺少真正操作的行为,那么我们得出方案:通过大数据实时分析用户行为,来识别出作弊用户。实现方案如下:

本篇,总结了往期活动中的3个难点问题,希望大家有所收获。总而言之,言而总之,核心思想是我们在具备PM所无法触碰的技术高度同时,更要站在产品角度来优化产品,思考用户体验,在过程中,思想高度最为关键,所以follow your user。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/8270.html

相关文章

  • HTTPie 官方文档中文翻译版

    摘要:目标是让与的交互尽可能的更友好。在版本以上已经成为了默认的版本。不同类型的键值对分割符号分别是。这将会协商服务端和你安装的支持的最高协议版本。 博客原文» HTTPie 是一个命令行 HTTP 客户端。目标是让 CLI 与 Web services 的交互尽可能的更友好。它提供了一个简单的 http 命令,可以让我们用简单自然的表述发送任意 HTTP 请求,并且可以输出带代码高亮的结果...

    Baaaan 评论0 收藏0
  • 简化你的关注与点赞 - Laravel Follow & Vote

    摘要:废话不多说,下面我简单介绍一下两个包的用法吧。还有的是这里使用了,如何去理解以及更好地使用最后,当然是要感谢超哥。经讨论更名为更名为更名为更名为 showImg(https://pigjian.com/storage/post_img/2017-04-12/follow-vote.png); 本文主要介绍两个包: Laravel - Follow : https://github.co...

    CodeSheep 评论0 收藏0
  • 355. Design Twitter , 用23. Merge k Sorted Lists和OO

    摘要:的想法就是用每次得到最小的链表头的值,输出。每个都有一个关注人列表,用储存。用户可以发消息,关注别人,取消关注别人。可以系统得到关注人的消息合集,这个方法必须在这个层级。因为用户只知道自己的信息。 Merge k Sorted Lists /** * Definition for singly-linked list. * public class ListNode { * ...

    1fe1se 评论0 收藏0
  • leetcode355. Design Twitter

    摘要:思路和代码这道题目本质上是考察是否能将数据结构的知识灵活的运用于现实生活中。这题等价于我们每次都会比较当前所有被关注者发布的最新未读,选出结果后将其插入结果集。 题目要求 Design a simplified version of Twitter where users can post tweets, follow/unfollow another user and is able...

    superPershing 评论0 收藏0
  • 功能性组件和Classes有什么不同?

    摘要:函数组件与类有何不同有一段时间,规范的答案是类可以访问更多功能如状态。那么功能性函数和类是否又根本的区别函数组件捕获的值。假设功能组件不存在。在我到目前为止看到的所有情况中,由于错误地假设功能不会改变或总是相同,所以会出现陈旧的封闭问题。 React函数组件与React类有何不同? 有一段时间,规范的答案是类可以访问更多功能(如状态)。但是自从有了Hook后,这个答案变得不唯一了。 也...

    lmxdawn 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<