这是第7次逻辑训练的练习题,每周1次逻辑训练,坚持下去,我相信,有什么会发生一些变化。
命题介绍
一个抽奖功能,用户每天都可以抽1次,可能抽到现金,也可能抽到优惠券。
我们认为,相同的优惠券,如果第一张优惠券没有被使用,第二张也不会被使用,也就是重复的优惠券,没有产生价值。
同样是5元的水果优惠券,如果你第一张没有使用,那么第二张也不会使用,这是我们的设计初衷。
基于以上观点,我们设计了一个小的逻辑,当用户抽奖抽到重复的优惠券时,可以触发一个活动,通过将优惠券赠送给自己的好友,可以增加1次抽奖机会。
这次的练习内容如下便是:绘制该业务的数据流向图。
强调一下:这一次 我们绘制的是数据流向图,也就是前后端逻辑分离的流程图。
练习作业解析
这是我的练习作业,完整逻辑更加复杂,因此练习的过程中,选择了一些必要的且特殊的逻辑进行练习。
我们将整个数据流向图分成了三个区域,分别是重复卷判定,用户选择以及最终处理三个环节。
简单来讲,按照命题的要求,我们需要先考虑送券的触发事件,也就是用户获得了两张相同的优惠券,同时,也不能直接触发送券逻辑,需要由用户来进行选择。
尽管,我们在理论上有了一些观点,但仍然不排除用户想要持有多张相同券的场景,更重要的是,与领取一张相同的券相比,增加一次抽奖次数,显得更加吸引人,这对于用户主动的分享行为有很好的刺激作用。
最后,我们还需要做一些最终处理,比如把这张优惠券注销或者让其失效,同时生成一批新的优惠券。
通常情况,优惠券的ID,是有多个参数构成的,至少会包含用户信息,以及优惠券信息。也就是说,某人拥有某张优惠券,这样的组合才是一个完整的优惠券信息。
这里说的失效,也是指让“某人拥有的某张优惠券失效”,我们拆解来看看吧。
(1)重复券判定
在重复券判定环节,我设置了两个判断条件,第一个是判定是否存在重复的优惠券,这很好理解。
但第二个判断条件是为一些特殊条件构造的,是更近一步的判定:重复券有效性判定。
存在某些特殊的场景,尽管用户拥有了相同的券,但我们依然可以将优惠券直接发放给他,目的是产生订单转化。
这里有个知识点:有时,订单转化的权重大于用户分享的权重
比如两张相同面额,相同使用条件的优惠券,或许第一张优惠券已经过期了,或者临近过期,此时,也可以将其视为无效,从而不触发送券逻辑。
这取决于我们如何定义重复的优惠券。
有一种比较复杂的做法,我们将优惠券的所有信息都进行比对,包括时间上的信息。我们甚至需要提供一个偏差值,比如:11日过期的优惠券,相对10日过期的优惠券,也判定为重复的优惠券。
这很复杂,但针对性却比较强,只是性价比不是很高,这里原本只是分支中的分支业务,不太合适投入过多的资源,将其做的太复杂。所以,判定基础信息是否相同,再根据有效性进行深度判定,更加简单,也更符合命题的场景。
(2)用户选择
尽管,系统已经判定存在相同的优惠券,才会触发用户选择的环节,但我们仍然需要由用户来完成业务的实际决策走向,而不能帮助用户进行决策。
帮助用户进行决策,也是比较通用的产品概念,但比较通用并不等于100%适用,实际产品设计过程当中,仍然是因地制宜,找到最适合的那种做法。
让用户自由选择的主要原因有以下几点。
1)与预期向匹配
对于用户而言,这里的前置条件并不是重复券的判定,而是“抽奖”这一行为。在用户的期望里,我执行了抽奖的行为,应该得到的是奖品,而不是“再抽一次”。
这里的“再抽一次”和“再来一瓶”,给用户产生的情感是截然不同的,前者是难以接受的,表示用户损失了奖品,后者是喜悦的,表示用户得到了奖品。
2)是放弃还是收下这个优惠券
严格上来讲,这不是两个选项的选择,而是两组选择的选择。
A组:领取优惠券和抽奖次数;
B组:放弃优惠券和抽奖次数。
用户的分享行为是无法强行捆绑的行为,不受系统控制,即使我们只提供给用户 抽奖次数,对于用户而言,也只是第二组选择:在放弃优惠券和增加抽奖次数之间进行选择。
很多用户不太愿意打扰自己的朋友,也不太能接受分享的行为,这种情况下 他们只能选择“放弃优惠券”。
这样的感受很糟糕,而领取一张相同的优惠券,至少还有一种安慰奖,参与奖的体验。
3)有对比时,更容易产生交易
另一方面,重复的优惠券本身也和抽奖次数形成了对比关系,在题干里,抽奖是有概率抽到现金红包的。相信大部分用户是冲着现金红包 参与抽奖,而不是冲着优惠券而去抽奖。
收下一张已经有的优惠券,与 获得现金的机会进行对比,用户更容易选择后者,尤其是 这张优惠券也是给到好友的福利,并不是单纯的广告。这就像你愿意将美团的外卖红包分享给朋友,同事一样。
当用户选择了执行送券逻辑时,我们便要对整个业务进行最终处理,主要由两部分构成,其一是将分配给该用户,但用户由未领取的优惠券进行失效处理。同时,还需要根据用户的赠送行为生成新的优惠券。
我想,你已经知晓一张完整的优惠券是由用户信息和优惠券信息组合而成,这表示,当用户的好友访问送券的链接时,将会生成新的优惠券。这就到了另一个领券的环节了,这里我们就不展开了。
实际上,在分享环节还应该对分享有效性进行判定,在此命题里,应该是前端完成分享有效性判定,需要对分享成功和分享失败做差异化处理。
在抽奖这个瞬时场景,我们只能默认分享成功即有效,无法准确判断分享的质量,也无法将分享价值和用户激励进行捆绑。因为,这是一个瞬时场景,用户需要得到即时反馈,而对于一些长周期的场景,我们就可以更进一步,需要好友访问以后才视为有效分享。
许多固定模块的裂变功能,均是后者,像是好友助力,师徒系统等,这里就不展开赘述了。
总结
这次的练习,我们经历了一个小闭环的逻辑,从触发条件的判定,到最终执行的逻辑,练习的过程中,也有一些小的收获,简单总结如下:
基于一些“介质”的判定,往往会跟随。有效性判定,对“介质”本身的有效性进行判定。
始终要记得用户有“放弃”这个选项,尽管这个选项没有在视觉当中呈现出来。