新年伊始,在这里祝各位鸡年编出好的程序,人人都是一个有情怀的代码编写者,话不多说,步入正题。
我认为,一个好的程序员,不只需要掌握相关技术知识与能力,更要懂得运营方面的一些基础知识,这样,才可以在代码编写阶段,提前预判好更多的刚性需求。
移动应用分析的意义:
1,监控移动应用运营状态
移动应用分析最基本的使用场景就是实时监控应用的运营状态。通过收集应用每曰的新增 用户、活跃用户、留存用户等数据,并对其加以分析,以曰报、周报、月报的形式进行系统地 监控。通过分析和比较这些核心数据的变化趋势,用数据说话,可以帮助运营和推广人员多维 度观察应用的运营状态,及时发现问题。
2,提升移动应用推广效果
渠道是移动应用推广的主要方式,不同渠道面对的是不一样的用户群体,根据渠道和推广 位置的数据分析选择成本低、效果好的渠道可以有效地找到目标用户,提升运营表现,降低推广成本。
3,发现移动应用产品问题
通过分析应用的访问路径、自定义事件点击/转化等数据,找到用户流失的原因,利用数 据更快地定位出产品问题或策略问题,并依据规范的移动分析思路和方法找出解决方案。
4,优化移动应用功能及体验
作为移动互联网的主要入口之一,移动应用的体验优秀与否在一定程度上决定了用户的去 留,通过移动应用分析找到产品问题,结合访问路径、用户的人口学属性等制定优化策略,提 升应用的吸引力和易用性。
常见指标包括:新增用户、启动次数、活跃用户、留存用户、使用时长、使用频率、使 用间隔、访问深度、转化率、目标事件、错误率等指标。可以概括为四类,即用户分析类指 标、使用行为类指标、渠道运营类指标和应用质量类指标。
1,用户分析类指标
1) 新增用户
定义:历史上弟一次启动应用的用户,需要按照设备号进行去重。
技术说明:如果某一个用户之前安装过该应用又卸载,之后又二次安装,那么只要该用户 的设备没有更换或重置,则两次视为同一个用户,即第二次安装不算作新增用户。按照设备号 去重是指所有新开启的用户中,同一个设备号的新开启都算作一次新增用户,开发者在这里应注册和搜集两个参数;其一为用户设备型号,第二个参数应该根据用户注册ID生成唯一标识串码。这样设置的好处是可以监控用户设备变化情况而不增添用户,以备后续不时之需。
涵义:新增用户越多说明应用的成长越快,推广的效果越好。通常情况下,应用在发展初 期的时候新增用户比例非常高,随着市场趋于稳健增长,新增用户比例逐渐下降。
2) 启动次数
定义:顾名思义,启动次数就是在规定时间段内,用户打开应用的次数。“一次启动"是 指用户从打开APP开始,到退出APP (或离开应用界面,进入后台)为止。一次启动过程中可能浏览多个页面。
技术说明:如果同一个用户在退出APP或离开应用界面进入后台,又在30秒之内再次启动 应用,则两次启动算作一次。反之,如果用户在30秒之后再次启动应用,则启动次数算作两 次。在百度移动统计SDK3.1版本以上中,开发者都可以对“30秒”这个业界标准根据应用自身情况进行调整设定。
开发者在AppDelegate中执行获取系统时间并作保存。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions ;
在app将要 退出后台或者被强制删除进程的时候进行时间记录,和启动时间做好计算并上传服务器。
应用强制退出执行方法:
- (void)applicationWillTerminate:(UIApplication*)application {
// 业务逻辑
}
在这里需要注意的是,只有添加观察者才会执行这个方法:
[[NSNotificationCenter defaultCenter]addObserver:selfselector:@selector(applicationWillTerminate:)name:@"UIApplicationDidEnterBackgroundNotification"object:nil];
当方法名里填applicationWillTerminate的时候,在点击一次home和两次home的时候都会调用这个方法,两次home则调用两次,没有办法分辨此时我是杀死app还是只是回到后台,因为将方法名设置为另外一个单独的方法:
[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(comeHome:) name:@"UIApplicationDidEnterBackgroundNotification"object:nil];
- (void)comeHome:(UIApplication*)application {
NSLog(@"进入后台");
}
- (void)applicationWillTerminate:(UIApplication*)application {
NSLog(@"程序被杀死");
}
涵义:用户数是从规模上描述应用,而启动次数是从访客角度衡量访问质量的分析指 标。如果一个应用的用户体验足够好,用户粘性足够高,同一个用户一天中会多次启动应用, 那么启动次数就会明显大于访客数。
3) 活跃用户
定义:指在规定的时间范围内,启动过应用的用户数,需要按照设备号去重。活跃度是指 在某段时间内,活跃用户数与总用户数的占比。
涵义:活跃用户通常都会有一个时间范围做约束的,例如曰活跃用户、周活跃用户、月活 跃用户等。活跃用户指标是一个应用用户规模的体现,同样也是衡量一个应用质量的最基本指 标,结合留存率、流失率、使用时长等指标还可以体现用户粘性。该指标也可以衡量渠道质 量,排查渠道作弊。
4 )留存用户
定义:规定时间段(T1 }内的新增用户中,在经过一段时间(T2 )后,仍然使用程序的 用户。其中T1和T2可以根据应用自身的实际情况进行设置。
涵义:留存用户主要用来衡更应用对用户的吸引程度、用户对应用的粘性、渠道用户质量 及投放效果等。常用的留存指标有次曰留存、三曰留存和七曰留存等。
在这里移动端所做的事情就是简单的将数据提交给服务器,移动端并不需要做很多的逻辑判断。有一点需要注意的是如何判断应用被卸载。这里可以用到推送服务进行判断,只要应用被卸载,iOS端是推送信息是传递不到设备上面去的。
最好的检测APP被卸载的方式其实在Server端,多去研究APNS,会有一些不是最完美的解决方法的,然后你可以给卸载了应用的用户试用别的通知机制,SMS、mail……在运营角度来讲,这未尝不是一个好的运营手段。
2,使用行为类指标
1 )使用时长
定义:用户在应用程序上所停留的时间。主要分为平均使用时长和单次使用时长,平均使 用时长是某一段时间内所有用户的全部访问时间的平均值。
涵义:通过考量用户在应用上的停留时间,我们可以看出应用内容是否吸引用户,应用质量是 否合格;还可以看出某个推广渠道到来的用户是否是深度使用用户,以此评判渠道质量。
在这里需要提出的是一种阅读深度的思想,在新闻类或者H5阅读方面,开发者几乎都是跳入同一个ViewController,开发者也可以在HTMLViewController植入一个监听,根据title名称判断用户阅读某一文章的时间,时间长则将数据信息上传,时间短则不上传,这样可以很好的掌握文章内容的精度。相关技术在这里则不做过多赘述。
2)使用频率
定义:在一定时期内,同一个用户启动应用的次数。如在一天之内,同一个用户一共进行 有效启动5次,那么该用户的曰使用频率就是5次。
涵义:使用频率和曰启动次数类似,只是从另外一个角度衡量用户粘性,一个应用通常情 况下用户粘性越高,那么用户的平均使用频率也就越高。
3) 使用间隔
定义:使用间隔是指同一用户相邻两次启动应用的时间间隔,例如某一用户第一次启动应 用到第二次启动应用之间相隔2天,那么该用户的使用间隔即为2天。
涵义:使用间隔也从侧面反映了应用的用户粘性,通常情况下使用间隔越短说明用户越 依赖应用,也就是说应用的用户粘性越高。也可以据此来决定推送消息的时机和发版频率。
4)访问深度
定义:我们将用户在一次启动应用过程中所到达的页面累计数量视为用户的访问深度,例如某用户从启动APP到退出应用过程中,一共访问了12个页面,那么称该用户的访问深度为 12。
涵义:理论上来讲,访问深度越高,应用质量越好,用户对应用的依赖就越强。
技术说明:访问深度是本篇文章的重点。在这里提一个小的💡,开发者可以一用runtime进行按钮点击事件更改,批量搜集按钮点击技术,例如APP内所有分享按钮,也可以设置不同的Tag值进行分批段数据获取。
在需要进行用户行为分析的ViewController中,进行数据统计,第三方应用统计在这里就不介绍了,普通应用使用UM感觉可以进行普通业务处理。
友盟代码片段:
[MobClick event:宏定义事件 label:@"事件"];
3,渠道运营类指标
1 )用户获取成本
定义:获取一个新用户所需要花费的成本,也就是用户获取的边际成本,随着新增用户数 比例越来越高,获取新用户的成本降低,反之亦然。
涵义:用户获取成本是应用推广过程中最重要的ROI(投资回报率)指标,若通过统计分 析发现某渠道的用户获取成本明显高于其他渠道,那么可以据此放弃该渠道,将主要的推广资 金和资源投放在用户获取成本较低的渠道,以求在单位资源内获得最多的新用户。
2)目标事件转化率
定义:设定某一事件的转化条件和转化结果之后,当转化条件出现的时候,会有一部分转 化结果出现,目标事件转化率就是转化结果事件数/转化前事件总数。例如,设定所有启动用 户点击完成注册成为注册用户作为完整的转化事件,点击注册就是转化条件,成为注册用户就 是转化结果,若每100个访问用户中就有50人完成注册成为注册用户,那么可以说该目标事件 的转化率为50%。
涵义:针对特定事件进行跟踪统计是移动应用分析中的补充功能,但是可以实现通用功能 统计不到的数据,例如注册用户比例、付费用户比例等。目标事件通常是伴随自定义事件功能 出现的,全面满足移动开发者的个性化、定制化需求。
3 )渠道来源细分
定义:渠道来源细分在渠道分布的基础上,帮助幵发者更细粒度监测渠道质量。对 于Aandroid应用,可以细分统计到渠道中不同推广未知的下载激活效果;对于iOS应用,可 以细分统计到AppStore上游渠道来源的下载激活效果。
涵义:主要帮助开发者衡量各渠道之间的推广效果,由于用户从点击到激活不可避免的会产 生数据丢失,存在一定误差,不建议作为与渠道商结算的依据。
4,应用质量类指标
1)错误次数
定义:在规定的时间段内,应用出现异常退出现象的次数总和。
涵义:通常情况下,应用错误集中于两种:死机或强退,这样的现象都会严重影响用 户体验,所以错误次数发生的越高,用户体验越差。降低错误次数是开发者应该时刻关注的重 要指标,开发者可以使用崩溃统计和热修复来进行在线问题查找和修改。
2 )错误率
定义:在规定时间段内,一个应用发生错误的比率(错误次数/启动次数)。
涵义:产品质量是一个应用发展壮大的基石,与网站不同,移动应用一旦被分发之后就无 法再收回,应用错误率高会降低用户对产品的信任和口碑。通过对应用的质量监控,找到错误代码并及时发布修复版本,可以有效弥补这一问题。