轻松应对增长玩法的72变

简介: 闲鱼增长有千面,看他72般变

作者:闲鱼技术——剑辛
最近两年用户增长在互联网行业受到越来越多的关注,各大互联网公司都会成立专业团队做用户增长,闲鱼也不例外。我们常提到的用户增长概念,其实包含两层含义。第一层是用户数量,用户数量的增长有效的手段包括定位潜在客户、扩展优质渠道、提升漏斗转化效率等;第二层是用户质量,这个层面我们更关心用户的价值和留存。而为了用户数量和质量,产品上需要足够多的玩法覆盖所有用户,对于同一类用户,产品也会希望多个玩法赛马,所以增长玩法的特点就是丰富多样又灵活多变。

立字据

一般情况下技术同学最不愿意遇到这种业务需求,因为如果case by case的开发,会导致项目周期长,无法快速应对玩法变化而加班。因此需要将各类玩法总结抽象业务模型,沉淀通用基础能力,降低玩法开发成本,闲鱼用户增长在最近半年进行了一些摸索实践,接下来将从整体和具体玩法来阐述如何针对增长玩法做抽象和沉淀。

闲鱼用户任务体系

首先从整体来看,增长玩法繁多且多变,但也有一定规律,包括以下特征:

  • who:投放给指定人群
  • how:玩法有限定条件和完成的时效性
  • where:依赖业务事件作为触发计算进度
  • what:用户完成有一定权益奖励
  • extend:扩展能力,玩法可能会有周期,在子节点需要通知用户

通过对玩法的归纳,我将增长玩法定义为用户任务,通过定义任务的生命周期,将增长玩法中共通的逻辑沉淀为系统能力,具体玩法在任务生命周期节点开发定制逻辑,这套体系就是闲鱼用户任务体系。

任务体系

从图中可以看到系统中有两类角色:

  • 发布者:即任务系统管理员,负责定义和管理任务
  • 参与者:即闲鱼用户,用户通过渠道收到任务,完成任务并获取奖励

而任务的生命周期分为以下几个节点:

  • 任务管理

    任务管理即管理任务元数据配置,包含任务完成条件和完成权益奖励。任务管理还会维护用户级别任务实例,记录任务实例进度、状态等信息。

  • 任务投放

    任务投放解决的是投放给指定人群的问题,目前系统支持按照一定规则圈人投放,并且在圈人后将任务详情通知目标用户,引导用户查看和完成任务。

  • 任务追踪

    任务追踪负责监听用户行为事件,触发任务进度计算,更新维护任务进度和状态。任务追踪模块本身会监听业务系统的通用事件,比如发布商品、浏览详情和购买支付等全域通用事件,也支持业务个性化定制事件。任务追踪负责隐藏不同事件的差异。

  • 任务结算

    任务结算统一监控任务实例的进度和状态变更通知,基于任务实例实时信息判断任务是否达到完成条件,并将任务完成信息同步给任务奖励节点,以此将任务追踪与任务奖励节点解耦。

  • 任务奖励

    任务奖励负责不同类型权益,支持权益剩余库存检查和业务自定义检查规则。在满足发放条件后将权益发放给用户,完成一次任务流程。

闲鱼用户任务体系与业务无关,是从增长玩法整体归纳抽象,定义任务生命周期,沉淀玩法通用能力的任务系统。

闲鱼逛赚玩法

上一节介绍的是基于增长玩法整体抽象的任务体系,这一节主要介绍具体增长玩法如何通过任务体系扩展支持。以闲鱼逛赚玩法来说,逛赚玩法为周期类任务,周期为7天,用户在周期内每天可通过浏览10个商品完成当天任务,任务完成后领取现金红包奖励。在指定的第2天、第5天、第7天有特殊奖励,吸引用户连续参与活动,提升活跃和留存。

玩法入口
玩法奖励

分层架构

在闲鱼用户任务体系上扩展支持逛赚玩法,任务体系将逛赚玩法拆分的比较清晰,逛赚玩法强调周期和特殊节点奖励。分层架构如下:
玩法奖励

PS:基础产品层为闲鱼业务系统,底层依赖层为阿里内部封装中间件服务,在阿里云或开源基本都有对应产品。

通过具体逛赚玩法需求,我在任务体系之下抽象了三块领域服务:周期域、权益域和排期域。

  • 周期域:周期域负责管理任务周期,需要支持灵活配置周期和特殊节点,支持一定动态化能力。这块在技术选型上最终选择用MVEL表达式引擎,通过表达式配置和计算特殊节点的权益奖励
  • 权益域:权益域负责对接各种类型权益,计算剩余库存,保证不会超发和资损
  • 排期域:排期域对玩法时长、排期进行管理

领域服务内部基于策略模式实现,比如周期域分为滚动周期和滑动周期,计数模式分为固定、连续和累计,都是周期模式的一种实现;权益域内部细分为积分权益、红包权益等。

逻辑实现

基于分层架构的逻辑实现如下:
玩法奖励

玩法服务是通过模板模式封装的任务生命周期,对修改关闭,对扩展放开的方式定义了如下节点:

  • 开始任务
  • 加入任务
  • 处理任务
  • 完成任务
  • 关闭任务
  • 查询任务进度

每个节点会有任务级别的通用实现,并预留扩展点,逛赚玩法通过实现扩展点的方式定制功能,主流程通过任务体系串联,实现了业务定制和开发效率在一定程度上的兼顾。

总结展望

闲鱼用户增长团队在最近半年发力增加大量玩法覆盖闲鱼用户群体,业务和技术上都在探索如何快速支持玩法快速开发配置上线,提高研发效率,支持业务快速试错和实验,闲鱼用户玩法体系为技术侧对于业务玩法的抽象总结和增长方法论沉淀的一部分,欢迎感兴趣的同学加入我们一起建设闲鱼用户增长技术体系。

相关文章
|
存储 算法 Oracle
极致八股文之JVM垃圾回收器G1&ZGC详解
本文作者分享了一些垃圾回收器的执行过程,希望给大家参考。
|
存储 云安全 大数据
【云计算和大数据平台】云计算平台和大数据平台(如阿里云、腾讯云、华为云等)的搭建和使用方法
【云计算和大数据平台】云计算平台和大数据平台(如阿里云、腾讯云、华为云等)的搭建和使用方法
939 0
|
SQL 存储 关系型数据库
MySQL创建数据表(CREATE TABLE语句)
MySQL创建数据表(CREATE TABLE语句)
1732 0
|
12月前
|
存储 消息中间件 监控
Redis Stream:实时数据流的处理与存储
通过上述分析和具体操作示例,您可以更好地理解和应用 Redis Stream,满足各种实时数据处理需求。
1092 14
|
存储 缓存 监控
【Java面试题汇总】JVM篇(2023版)
JVM内存模型、双亲委派模型、类加载机制、内存溢出、垃圾回收机制、内存泄漏、垃圾回收流程、垃圾回收器、G1、CMS、JVM调优
【Java面试题汇总】JVM篇(2023版)
|
存储 NoSQL 算法
全链路营销|基于事件驱动的流程编排系统
本文主要介绍了 AE 策略中心的技术方案选型与落地实战。
|
运维 负载均衡 算法
SLB与NGINX的异同是什么
SLB与NGINX的异同是什么
1841 2
|
缓存 应用服务中间件 数据库
Python Web Service开发及优化
随着互联网的快速发展,Web服务已成为现代技术的核心。Python作为一种功能强大且易于学习的编程语言,在Web服务开发领域占据着重要地位。Python Web服务开发的重要性在于它能够提供高效、可扩展且易于维护的解决方案。本篇博客将探讨如何使用Python的Flask框架、Gunicorn WSGI服务器和Nginx网页服务器来实现高性能的Web服务。
|
存储 设计模式 NoSQL
Redis里面的Key设计
Redis里面的Key设计
337 0