Duolingo 提高用户留存率的6个手段
翻译 :马玉洁
欢迎访问网易云社区,了解更多网易技术产品运营经验。
如果你用过“Duolingo”(Duolingo)这个语言教育应用程序,你就会知道它就像一款游戏。
这当然不是巧合。Duolingo敏锐地意识到了游戏化的力量,在最近的Canvas会议上,产品经理Zan Gilani详细地介绍了其采用的一些提高用户留存率的手段。
以下是一些背景介绍(在此基础上我们将进一步讨论提高用户留存率的手段):
l Duolingo目前有25种语言可供选择进行学习,并将很快新增普通话的学习内容。
l 它拥有2亿多用户,可以说是下载次数最多的教育应用。
l Duolingo的宗旨是为全世界提供免费的语言教育(该应用对所有人免费)。
l 该公司目前有数十亿数据量(每月有60亿次课程被完成),并在不断迭代。
四种激励学习者的方法
保持用户的积极性是Duolingo所面临的巨大挑战。一个人学习很困难,而在网上学习还会有更多的注意力分散因素。Gilani说,大规模在线开放课程(MOOCs)的完成率非常低,大约只有1%到2%。
为了克服这个挑战,Duolingo正在从游戏世界中借鉴学习,Gilani提到了四种帮助形成日常使用习惯的方法:
l 小而具体的目标
l 明显可见的进展
l 外部触发 (使得用户返回应用)
l 用户的投资
熟悉Duolingo的人都知道,应用中有一些小而具体目标,用户必须完成一个单元才能解锁下一个单元。Gilani作了这样一个比喻,提高身体素质是一个较为模糊的目标,但每天跑一英里就非常简单明了了。
连胜符合以上所有的四个标准
Gilani和Duolingo想要关注连胜的力量,这是一种强大的游戏机制,可以满足所有的四个有助于习惯形成的标准。人们可以看到Snapchat、Facebook和Headspace等应用向用户发出通知,并对他们连续几天在应用内的活跃进行奖励。
因此,Duolingo鼓励用户设定每日目标,保证每天都使用该应用,随着用户完成每日目标,连胜纪录也会随之延长。
用户们非常在意自己的连胜纪录的保持,对此Gilani展示了一封发给Duolingo总部的邮件,邮件中一位用户解释了他们是如何在飓风“厄玛”(Irma)期间失去了互联网连接(以及他们的连胜纪录),并询问他们是否可以恢复连胜纪录。
测试#1 -可见的进步
用户需要看到他们的进度,而连胜纪录在Duolingo的应用中并不总是那么明显。因此,Duolingo团队做了一个测试,在应用的顶部显示连胜的天数,以便在任何时候,用户都清楚自己的连胜情况。
测试结果令人印象深刻。每日活跃用户(DAU)增加3%,第14天留存率增加1% (D14,在14天后仍在使用该应用的用户)。从长远来看,这一提升带来了很大的影响。
测试#2 -强调连胜
接下来,在每节课结束后都强调连胜。用户开始看到下面显示的火环。
结果:DAU增加1%,D14增加3%。
测试#3 -外部触发
Gilani说,电子邮件和应用程序通知等外部推送容易让人感觉像垃圾信息,但连胜可以弱化这种感受。连胜为外部提醒推送提供了一个合理的理由,所以Duolingo可以说“记住你已经连胜24天了”,而不是简单地表达“来使用我们的应用吧”。
在这个测试中,Duolingo团队在用户最近一次上完应用里的课程之后,在不同的时间点发送这些外部触发信息。
结果显示,在上一节课结束后的23.5小时发送的电子邮件在鼓励学生重新参与课堂学习方面效果最好。这并不奇怪,正如Gilani指出,每天在同一时间做某件事最容易让人形成一个习惯。
Duolingo外部提醒信息的一个有趣的部分是,在用户五天不活跃后会使用“被动攻击通知”。这一基调与该品牌的趣味性质非常契合,信息开头这样写道:“这些提醒似乎不起作用……”
【以上截图来自一位Duolingo用户的推特账号】
测试#4 -用户投资
Duolingo中有一种虚拟货币lingot,用户可以用它购买很多东西,包括连胜冻结(即在不破坏连胜的情况下不活跃)。
Duolingo团队的测试还包括了连胜赌注,用户用他们的lingots做赌注,打赌他们会达到一个特定长度的连胜。这个以前被嵌套在应用中的功能,现在直接出现在了用户界面(具体来说,每周会显示一次七天连胜的打赌挑战)。
结果:D14增加了5%,IAP(应用内购买收入)增加了600%。
需要注意的是,Duolingo始终是免费使用的,但用户现在可以在应用程序内付费订阅,这就允许用户离线使用(可能对保持连胜状态至关重要),并从界面上删除广告。
Gilani提到,这个测试也进行了为期两天的连胜赌注,但D14和DAU的增长幅度很小,因此被放弃了。
测试#5 -针对弱点时刻进行设计
据Gilani说,Duolingo的用户在周末会减少9%。通常情况下,这段时间许多用户会失去连胜纪录。而失去连胜会让人失去动力。
那么,如果一个用户可以跳过一天并保持他们的连胜记录呢?这就是“周末护身符”(weekend amulet)的功能,花费20个lingots(Duolingo的虚拟货币)就可以获得。
向用户提供这个功能,向他们表达“你不必在周末也使用”,再次对应用的使用率产生了巨大的影响。
结果是:D14增加了4%,用户失去连胜记录的可能性降低了5%。
测试#6 -创造多种获胜方式
保持用户参与度的不仅仅是连胜。Duolingo也加入了成就徽章。这非常难做对,正如Gilani所说的那样,“通常情况下,这些被应用得非常糟糕——换句话说,在游戏化比较糟糕的叙述中,成就是症结所在,但当它们被应用得正确时,则会产生积极的影响……”
Duolingo的徽章是永久性的(不像连胜),而且种类繁多,完成各种各样的任务均可获得,比如邀请朋友,早上8点前登录等等。徽章也是可以获得完全的,不像连胜——Gilani甚至用了“一定要把它们全部抓住”这样的表达。
关于成就的第一个测试是祝贺用户的加入。结果并不令人满意——0% DAU, 0% D14,其他的都是0%。
Gilani说,他们忘记了测试必须是可被实现的。注册还不足以作为成就。Gilani补充说:“用户必须看到他们取得了什么成绩,而当他们开始取得成绩时,他们就会产生渴望。”
测试更多不同的徽章成就确实有影响。他们发现DAU增加了2%,D14增加了2%,应用内购买也增加了5%。
这种成功建立在增加徽章分级的基础上。例如,用户可以因为获得1个完美的测试分数而获得一个徽章,然后是获得5个完美的测试分数,10个,等等。分级徽章进一步改善了结果——DAU增加了1%,D14增加了1%。
一个让人感觉良好的结尾
Gilani最后告诉与会的代表们,产品设计师能够让更多的人走得更远,学到更多东西。Duolingo的一个成功案例是Edilson,他原来是哥伦比亚的一名保安,通过Duolingo自学了很多种语言,最近在一所安全学院找到了一份教英语的新工作。
那么,你能在你的应用和服务中使用哪些方式来留住客户呢?
免费领取验证码、内容安全、短信发送、直播点播体验包及云服务器等套餐
更多网易技术、产品、运营经验分享请点击。
相关文章:
【推荐】 kubernetes1.9管中窥豹-CRD概念、使用场景及实例
【推荐】 spring的父子上下文容器及配置
【推荐】 InnoDB之锁机制
Duolingo 提高用户留存率的6个手段的更多相关文章
- 【hive】关于用户留存率的计算
首先用户留存率一般是面向新增用户的概念,是指某一天注册后的几天还是否活跃,是以每天为单位进行计算的.一般收到的需求都是一个时间段内的新增用户的几天留存 (1)找到这个时间段内的新增用户(也可能含有地区 ...
- 巧用Ajax的beforeSend 提高用户体验--防止重复数据
巧用Ajax的beforeSend 提高用户体验 jQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于在向服务器发送请求前执行一些动作.具体可参考jQ ...
- 前端如何实现图片懒加载(lazyload) 提高用户体验
定义 图片懒加载又称图片延时加载.惰性加载,即在用户需要使用图片的时候加载,这样可以减少请求,节省带宽,提高页面加载速度,相对的,也能减少服务器压力. 惰性加载是程序人性化的一种体现,提高用户体验,防 ...
- 【AGC】引导用户购买提升用户留存率
借助AGC的云数据库.云托管.应用内消息.App Linking等服务,您可以给不同价值用户设置不同的优惠套餐活动,引导用户持续购买,增强用户黏性.判断用户价值,发送营销短信,引导用户参与营销活动,提 ...
- php fastcgi_finish_request让你的程序由等待时间,瞬间完成,提高用户体验
当PHP运行在FastCGI模式时,PHP FPM提供了一个名为fastcgi_finish_request的方法.按照文档上的说法,此方法可以提高请求的处理速度,如果有些处理可以在页面生成完后再进行 ...
- 巧用Ajax的beforeSend 提高用户体验
jQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于在向服务器发送请求前执行一些动作.具体可参考jQuery官方文档:http://api.jquer ...
- 使用线程池模拟处理耗时任务,通过websocket提高用户体验
前言 在文章开始之前,询问一下大家平时工作中后端处理批量任务(耗时任务)的时候,前端是如何告知用户任务的执行情况的? 楼主对这个问题想了下,决定使用websokect将这一过程展现给用户. 于是就有了 ...
- 菜鸟学SSH(十九)——提高用户体验之404处理
只要做过WEB开发人对于“404”已经再熟悉不过了吧.当我们访问的资源不存在时,它就会跑出来跟你打招呼啦.但是默认情况下,404页面比较简陋,不是很友好.而且一般用户不知道404是个神马东东,还以为是 ...
- ajax用beforeSend自定义请求过程中客户端事件,提高用户体验
本文为博主原创,未经允许不得转载: 在应用ajax的过程中,当我们再前台提交请求的时候,如果服务端响应事件比较长,就会导致需要等很长时间在前台才能接受到服务端返回的 响应结果,往往会导致用户重复点击按 ...
随机推荐
- 简易非阻塞http服务器
说明 需要理解阻塞和非阻塞的区别,特别要注意非阻塞和异步不是一个概念,这个很容易弄错.云盘里面netty的书会讲这几个方面的区别,nodejs深入浅出关于异步编程章节里面 ...
- (转贴)fusionCharts属性参考API
一.FusionCharts的分类 关于FusionCharts的基本介绍我就不在这里浪费篇幅了,想了解的朋友自己去www.baigoogedu.com里面找吧.我就说说FusionCharts的官方 ...
- [ASP.NET]static变量和viewstate的使用方法
在.Net平台下进行CS软件开发时,我们经常遇到以后还要用到某些变量上次修改后的值,为了简单起见,很多人都习惯用static来定义这些变量,我也是.这样非常方便,下一次调用某个函数时该变量仍然保存的是 ...
- Navicat for MySQL连接出错:1251
平台:window10 x64+mysql-8.0.15-winx64+navicat_trial_11.1.20.0(PatchNavicat破解) 错误提示:1251-Client does no ...
- 再一道区间DP -- P4170 [CQOI2007]涂色
https://www.luogu.org/problemnew/show/P4170 一道简单的区间DP,注意读入 #include <bits/stdc++.h> #define up ...
- django之补充
一 QuerySet类型 QuerySet类型:只和orm有关,如果一涉及数据库,就会有QuerySet类型的出现. QuerySet切片操作:QuerySet是支持切片操作的,不过不能放负数.查询集 ...
- 【转】Linux 如何通过命令仅获取IP地址
一同事的朋友正在参加笔试,遇到这么一个问题让他帮忙解决,结果同事又找到我帮他搞定.真是感慨:通讯发达在某些方面来说,真不知是不是好事啊!题目大致如下所示,一般我们使用ifconfig查看网卡信息,请问 ...
- 使用 docker compose 安装 tidb
目标 : 单机上通过 Docker Compose 快速一键部署一套 TiDB 测试集群 前提条件: 1.centos版本在7.3 以上 2.安装git 3.安装docker Docker versi ...
- Matlab编辑器背景修改
将下段代码如到C:\Users\Peng Chen\AppData\Roaming\MathWorks\MATLAB\R2016a\matlab.prf 先备份.prf,再替代之前的. #MATLAB ...
- svn更新的时候出现ERROR:Previous operation has not finished,run "clean up" if it wa interrupted;进行clean up命令也报错
报错的截图: 然后进行了clean up命令,依旧报错了: 这种情况就有两种方法去解决了,自己可以根据自己的情况选择,哪种方便选择哪种呗! 方法一: 备份自己修改的文件,删除之前download的文件 ...