创新案例|语言教育App头牌Duolingo如何重新点燃用户增长350%

news2024/11/26 10:17:36

Duolingo是全球最大的语言教育APP,拥有数亿用户,然而用户增长正在放缓,本案例以Duolingo增长 通过数据建模洞察关键指标,并围绕指标用增长实验驱动,设计植根于创新的增长模式,包括启动排行榜,重新关注推送通知,以及优化“连胜”功能等,实现350%的增长。

1 Duolingo成功关键是活跃用户增长

1)全球最成功的外语学习APP

2011年成立的Duolingo(多邻国)是一款颠覆传统外语学习方式的APP,它提供超过90种语言的学习课程,包括英语、西班牙语、法语、德语、意大利语、葡萄牙语、中文等等,以及与众不同的用户体验,包括:

  1. 游戏化:Duolingo采用了游戏化学习的方法,以各种各样的挑战和奖励,使学习过程更加有趣和有动力,如颁发勋章和通过过关升级来激励用户;
  2. 个性化:提供了可定制的学习计划,根据每个用户的水平和进度,定制课程内容和学习路径;
  3. 多样化:提供多种学习材料,包括单词、短语、句子和听力练习。用户可以通过多种方式掌握语言,如阅读、听写、口语和写作;
  4. 社交化:通过建立线上社区,Duolingo允许用户与其他用户进行交流和互动,用户可以加入不同的社区和小组,与其他用户共同学习和交流;
  5. PLG体验:Duolingo的所有课程均为免费,只有在一些额外功能上进行收费,例如免广告、离线学习等。

短短十年,Duolingo已经成为了全球最大规模的语言学习APP,它拥有超过500万月活用户,覆盖全球200多个国家和地区,并且于2021年7月成功IPO。

2)活跃用户是增长关键

从数据上看,Duolingo 80%的用户是“有机地”获取的——也许用户是通过社交媒体关注,或者从朋友那里听说,但大部分都不是通过营销广告进入。Duolingo通过构建好产品来维持这种有机增长,并采用免费使用的PLG策略。

与此同时,有7%的月活跃用户付费订阅了高级功能。换句话说:Duolingo的收入来自于用户使用并喜欢这个产品,再传播给他们的家人和朋友,其中一些人最终为了升级服务付费。

所以,Duolingo成功的关键就是活跃用户的增长,这同时为他们带来了收入和传播。

2 增长停滞和走过的弯路

但发展过程并不是一帆风顺的,在上市前的2018前后,Duolingo的DAU(每日活跃用户)同比增长降到了个位数,这对于习惯爆炸式增长的管理层来说是一个灾难。为此,Duolingo做了一些探索性的尝试:

1)增强游戏性

Duolingo的第一次尝试集中在提高留存率上,即解决所谓的“漏水”问题。Duolingo之所以优先考虑留存而不是新用户获取,是因为如前所述他们80%的新用户获取都是有机的,这已经是非常优秀的成绩。此外还有两个主要原因:

  • Duolingo 已经成功实施了几种游戏化机制,例如主屏幕上的进度系统、连胜和成就系统。
  • 当时市面上顶级游戏的留存率比Duolingo高得多,证明了Duolingo还没有达到游戏类产品影响力的上限。

首先他们创建了一个新的团队,即游戏化体验增强团队。该团队由首席产品官领导,以及项目经理、程序员、设计师、助理组成。创新的灵感则来自于一款名为Gardenscapes的消除类游戏,这个游戏的黏性比Duolingo强,而且两者都有一些共同特征。比如Duolingo的课程和Gardenscapes的关卡时长差不多等。

但真正引起他们关注的是Duolingo和Gardenscapes都使用了进度条来显示已完成的百分比,但是Gardenscapes是将其进度条与计步机制组合,而Duolingo没有这样做。Gardenscapes计步器只允许用户进行有限次数的移动来完成一个关卡,这增加了游戏的紧迫感。

于是Duolingo决定尝试将计步机制纳入产品中,用户只能用有限数量的机会来正确回答问题,否则他们必须重头开始课程学习。

团队花了几个月时间完成了工作,但令人沮丧的是,努力的结果是留存率没有变化,DAU也没有增加,且几乎没有收到任何用户反馈。事后看来,这是因为当你玩Gardenscapes时,每一个动作都是一个战略决策,因为你必须向后进行预测推算才能找到通往胜利的道路。但是,完成 Duolingo课程不需要战略决策——您通常要么知道问题的答案,要么不知道。因为不需要任何策略,所以Duolingo的计步机制只是一个无聊的麻烦。这是由于团队太过于专注Gardenscapes和Duolingo之间的相似之处,以至于没有考虑到产品属性不同带来的行为差异。 

 

2)推荐机制

之后Duolingo放弃了提高留存率的方向,重新组建了一个专注于裂变新用户的产品团队,称为裂变团队。当时,Uber在获客增长方面做得很好,大家都说这主要是因为它的裂变打法。受此启发,Duolingo创建了一个类似于Uber的推荐计划,奖品是付费功能Duolingo Plus的免费使用时长。

同样的,新团队最终实现了该构思,并且让新用户同比增加了3%。虽然结果是积极的,但明显不是Duolingo所希望的突破性增长。虽然团队后来继续迭代推荐计划并进行其他一些改动,但仍然无济于事。

之所以Duolingo的推荐计划没有产生Uber式的成功,原因是推荐裂变无疑是适用于Uber的,对于出行乘客来说,车费优惠是一种持续、有效的激励。但要是由Duolingo通过提供一个月的免费Duolingo Plus来激励用户,对此就不太奏效,因为他们最活跃的用户通常已经付费拥有Duolingo Plus且已在使用中,所以免费时间并不能给予很强的激励。这意味着原本这种策略需要依靠活跃用户,实际上却将他们排除在外。

3)弯路总结

在以上这两个尝试中,Duolingo都借鉴了其他产品的成功实践案例,但他们的失败之处是没有考虑到不同产品的属性会影响功能的实现。因此,需要进一步总结如何准确地借鉴其他产品,对此Duolingo学会了在找到对标之前回答三个问题:

  • 为什么此功能在这个产品中有效?
  • 为什么认为这个功能在我们的产品中会成功或失败,即它会很好地移植吗?
  • 如果要使此功能在我们的产品中也取得成功,需要进行哪些调整?

3 启用CURR为增长北极星指标

经历过以上两次失败后,Duolingo开始重新思考增长的打法:能否通过优化指向DAU的间接指标来驱动更快更好的增长?换句话说就是如何找到更小、更能撬动DAU的指标?

为此他们开发了一个增长模型,将高级指标(如DAU)分解为对业务有意义的更小分组。为此,首先以天为单位将所有Duolingo用户按活动状态进行分类,再监控状态之间的转化率。这些转换率以保留率(例如,NURR 或新用户保留率)、“停用”率(例如,每月活跃用户或 MAU 损失率)和“激活”率(例如,重新激活率)进行监控。

我们把以上不同色块称作存储桶,每一个存储桶代表具有不同参与度的用户群。每个曾经使用过该产品的用户在任何一天都在且只在一个存储桶中,这意味着这些存储桶是“相互独立,完全穷尽”(MECE),可以一览曾经使用过Duolingo的整个用户群的当天状态。

模型的前四个存储桶加起来就是DAU。这些存储桶的定义为:

  • 新用户(New Users):注册的第一天;
  • 当前用户(Current Users):今天和前6天内至少一天使用;
  • 重新激活的用户(Reactivated Users):离开7-29天后的第一天使用;
  • 复活的用户(Resurrected Users):离开30天或更长时间后的第一天使用;

其余的三个存储桶表示今天不活跃、具有不同程度的非活跃用户;

  • 有风险的WAUs(周活跃用户):目前处于非活动状态,但在过去6天中至少有一天处于活动状态,有风险的WAUs+DAU=WAU;
  • 有风险的MAUs(月活跃用户):在过去7天内处于非活动状态,但在之前23天内至少有一天处于活动状态,有风险的MAU+WAU=MAU;
  • 休眠用户(Dead Users):在过去 31 天或更长时间内处于非活动状态,MAU+休眠用户= 总用户数量。

如图表中的箭头所示,Duolingo会追踪在状态之间切换的百分比。

  • CURR:当前用户留存率;
  • NURR:新用户留存率;
  • RURR:重新激活的用户留存率;
  • SURR:唤醒的用户留存率;

例如,假设一批新用户在第1天首次访问Duolingo,这些新用户中的一些人第二天也会回来访问,它们之间的比例简称为NURR,这一部分用户在模型中从新用户状态转为当前用户状态。您可能会问,如果现有用户购买新手机或在非移动设备上登录,是否会被误认为是”新用户”?为此,Duolingo技术团队开发了一种复杂的方法来甄别跨多个帐户的用户活动。

然后那些在第1天没有回来的新用户在第2天会标识为“非活动”状态(有风险的WAU),这个比例的计算公式是1-NURR。因为它们当前处于非活动状态,所以它们不是DAU,但他们在上周仍然活跃过一次,即仍属于WAU。

在7天不活动后,用户将被标识为有风险的MAU状态,在那里他们可以保持长达22天。一旦用户处于非活动状态达到30天,他们就会被标识为休眠用户状态,直到他们再次活跃。

建立了以上看板之后,Duolingo可以很清晰地知道即时的DAU、WAU和MAU等数据,通过操纵存储桶之间箭头上的转化率,Duolingo可以模拟随时间调整这些转化率,以观测对结果的影响。换句话说,产品团队通过模拟拉动转化率杠杆,用于观察每一个数值对DAU的影响大小。

同时Duolingo开始每天拍摄数据快照,以记录所有这些用户数据在过去几年中如何逐日演变的历史记录。有了这些数据,Duolingo可以创建一个敏感性分析模型,以前瞻预测哪些杠杆将对DAU增长产生最大的影响。

比如模拟将在过去三年内的每季度单个转化率提升2%,同时保持所有其他转化率不变。以下是第一次模拟的结果,它显示了每个杠杆上进行2%的上浮调整将如何影响MAU和DAU。

 

限于篇幅,请进入 Runwise.co创新社区,查看原文。

原文链接:

创新案例|语言教育App头牌Duolingo如何重新点燃用户增长350% 

延展文章:

1. 蔚来汽车销量增长104%!蔚来用户增长策略是什么?

2. 产品驱动用户增长,腾讯会议是如何做到4个月内实现日活破千万?

3. 方案详解|AARRR+八角行为分析=用游戏化思维实现用户增长

更多精彩案例与方案可以访问Runwise创新社区

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/471635.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于MBD的控制系统建模与仿真软件工具集

随着新能源汽车和自动驾驶技术的快速发展,汽车电子电气架构的发展已成为汽车行业推陈出新的主要动力:车内电控系统变得越来越复杂、软件迭代周期越来越短,汽车电子软件开发和测试的质量与效率要求也越来越高。汽车电控系统的设计开发已然成为…

定时器+中断 闪烁led

文章目录 运行环境:1.1 定时器和中断1)定时器2)轮询和中断 2.1配置1)定时器配置2)中断配置3)RCC和SYS 3.1代码分析3.2添加代码1)中断处理函数IRQ中添加代码2)launch设置 4.1定时器启动和定时器中断启动函数5.1实验效果 运行环境: ubuntu18.0…

VSCode 上的 swift 开发配置

安装Xcode和VsCode 在下列网址下载安装即可 VsCode: https://code.visualstudio.com/ Xcode:https://developer.apple.com/xcode/resources/ 或者apptore 打开xcode要求安装的东西都允许安装一下 启用 Swift 语言支持 确保你已经安装了 Xcode 和 VSCode。这是开始运行的最简…

【ITSS】信息技术服务标准(ITSS)的介绍以及发展历程

信息技术服务标准(ITSS)介绍 ITSS是Information TechnologyService Standards的缩写,中文意思是信息技术服务标准,是在工业和信息化部、国家标准化委的领导和支持下,由ITSS工作组研制的一套IT服务领域的标准库和一套提供IT服务的方…

AD9208的4通道 14-bit、2.4GSPS采样率之中文版资料

板卡概述 FMC137 是一款基于 VITA57.4 标准规范的 JESD204B 接口FMC 子 卡 模 块 , 该 模 块 可 以 实 现 4 路 14-bit 、 2GSPS/2.6GSPS/3GSPSADC 采集功能。该板卡 ADC 器件采用 ADI 公司的 AD9208 芯片,,与 ADI 公司的 AD9689 可以实现…

python 零基础入门难度如何?

在入门前先来了解一下Python是什么。 Python,他其实是一种受众非常广的语言,简单易学,在网上有大把大把的入门教程,学习曲线平滑。除了“简单”“万能”之外,还有众多库,Python的标准库非常强大&#xff0…

TEMPUS FUGIT: 1

环境准备 靶机链接:百度网盘 请输入提取码 提取码:d3du 虚拟机网络链接模式:NET模式 攻击机系统:kali linux 2022.03 信息收集 探测目标靶机开放端口和服务情况。 nmap -p- -A -sV 192.168.255.132 nmap --scriptvuln -p …

lvs作业

文章目录 NAT模式DR模式 基于 CentOS 7 构建 LVS-DR 群集。 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 。基于 CentOS 7 构建 LVS-DR 群集。 NAT模式 在 LVS 的 NAT 模式中,LVS 将客户端请求的 IP 地址和端口号修改为 LVS 的 NAT …

golang/goland memo

文章目录 golanggolang开发工具goland Build constraints exclude all the Go files in xxxxxxgoland 解决 Unresolved reference xxx问题goland 解决 cannot resolve directory xxxx问题 golang GOROOT:Go的安装目录。 GOPATH 是一个环境变量,用于指定…

软件设计师笔记--计算机系统知识

文章目录 前言学习资料计算机系统CPU运算器控制器进制原码反码补码移码浮点数寻址奇偶校验码海明码循环冗余校验码RISC和CISC流水线存储器Cache中断输入输出控制方式总线加密技术与认证技术加密算法可靠性公式 前言 博主是非科班出身的,但从大一开始自学编程&#…

【JAVA程序设计】(C00132)基于SSM的固定资产管理系统

基于SSM的固定资产管理系统 项目简介项目获取开发环境项目技术运行截图 项目简介 本系统为基于SSM的固定资产管理系统,本系统分为二种用户:超级管理员和普通管理员; 超级管理员功能: 首页查看、设备管理、平台账户管理、设备台账…

JavaScript经典教程(五)-- JavaScript基础 -- for、while、forEach、递归、字符串

186&#xff1a;JavaScript基础 - for、while、forEach、递归、字符串 1、循环 &#xff08;1&#xff09;for循环 1、标准语句 for(初始条件;判断条件;迭代语句){操作内容; }也可以这样写&#xff1a;把初始条件和迭代语句拆出 var a 0; for(;a < 5;){alert(a);a; }其…

【软件测试】项目测试—MySQL数据库操作应用场景?必会知识详全(超详细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 数据库在软件测试…

ASEMI代理亚德诺AD8130ARZ-REEL7芯片应用与参数分析

编辑-Z 本文将对AD8130ARZ-REEL7芯片进行详细的应用与参数分析&#xff0c;包括其主要特征、接口定义、电气特性以及使用注意事项等方面&#xff0c;旨在为广大读者提供对该芯片更全面的了解。 1、主要特征 AD8130ARZ-REEL7芯片是一种用于高速、低功耗差分信号放大的电路&…

使用CXF调用WSDL

简介 时隔多年&#xff0c;再次遇到需要调用WebService的业务&#xff0c;对方给予的wsdl说明文档还是内网的链接&#xff0c;并且设有基础访问权限&#xff0c;即在浏览器打开wsdl链接时需要输入【用户名密码】登录后方可查看wsdl文档&#xff0c;这需要设置代理&#xff08;我…

( 字符串) 242. 有效的字母异位词 ——【Leetcode每日一题】

❓242. 有效的字母异位词 难度&#xff1a;简单 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 注意&#xff1a;若 s 和 t 中每个字符出现的次数都相同&#xff0c;则称 s 和 t 互为字母异位词。 示例 1: 输入: s “anagram”, t “…

【5天打卡】学习Lodash的第五天——总结篇

Lodash 含有 Array, Collection, Date, Function, Lang, Math, Number, Object, String 等多个功能模块&#xff0c;总共几百个功能函数。官方文档上以字典顺序排序&#xff0c;不容易总结记忆。通过这5天的学习&#xff0c;我们对这一框架进行总结。主要从lodash的使用优势和迷…

电磁波、射频通信基础知识科普,超通俗解释!

一、电磁波 电磁波是能量的一种&#xff0c;凡是高于绝对零度的物体&#xff0c;都会释出电磁波。电与磁可说是一体两面&#xff0c;电流会产生磁场&#xff0c;变动的磁场则会产生电流。变化的电场和变化的磁场构成了一个不可分离的统一的场。 在低频的电振荡中&#xff0c;…

XCTF-Web2

Web_php_include <?php show_source(__FILE__); echo $_GET[hello]; $page$_GET[page]; while (strstr($page, "php://")) {$pagestr_replace("php://", "", $page); } include($page); ?>strstr() 查找字符串首次出现的位置&#xff0…

集合-ArrayList学习

1、特点&#xff1a; ArrayList 实现是一个动态数组&#xff0c;初始时是一个空数组。ArrayList 默认初始长度为0&#xff0c;在插入第一个元素的时候扩容为10&#xff0c;然后当数组存满的时候&#xff0c;数组会再次扩容&#xff0c;此时就扩容到原来的1.5倍。ArrayList 是线…