小米统计服务产品说明

史版本

时间 版本 内容 变更人
2014.09.04 1.0 创建文档 吴青
2015.04.29 2.0 新增网络监控功能 吴青
2015.11.11 2.1 新增DNS监控功能 赵宇斌

 

1.     服务概况

小米统计服务是一项面向移动应用开发者的数据统计服务,目前支持Android和iOS两大平台。 开发者集成小米统计服务SDK并启用统计服务后,应用的数据将通过网络传输给小米统计服务的服务器,开发者通过小米统计服务提供的统计后台可以查看数据的统计分析结果,为应用的体验优化和运营推广提供数据参考。 使用小米统计服务可以实现:

  • 分析用户参与情况和设备属性信息;
  • 对比参看渠道推广的数量和质量;
  • 通过自定义事件可以定制化地统计用户各类操作和属性数据;
  • 将具有共同特征的用户标记为一个用户群后,可以查看该用户群的各项数据统计指标
  • 查看报表时可以按照渠道、版本和用户群进行组合筛选,并支持同时查看多组筛选
  • 统计和管理应用崩溃错误
  • 实时监控网络请求质量

 

2.     主要报表

2.1.   应用概况

目标 快速了解应用的核心指标 主要内容 昨日用户概况:展示累计总用户数、新增用户数、日活用户数、启动次数和月活用户数的昨日数据,并与前一天比较日变化比例。 今日实时数据:应用的新增用户和启动次数可以实时查看今日每小时的数据,还可以与昨天、7天前和30天前的数据进行对比。 趋势数据:展示新增用户、日活用户和启动次数这三个指标最近一段时间内的趋势变化情况。 2个渠道排行:基于昨日的数据,提供了新增用户TOP10渠道和日活用户TOP10渠道的排行。 常见问题 新增用户是如何定义的? 新增用户即安装该应用的新增设备,卸载重装或清除应用数据后也会被认为是一个新增用户。

2.2.  用户参与

目标:详细展示用户新增、活跃、留存和使用等用户参与指标的数据变化情况,为开发者日常的产品运营提供数据参考。          

2.2.1.  新增与启动

该报表展示了新增用户、启动次数、人均启动次数和总用户的趋势变化,支持按照版本、渠道和用户群的组合筛选。 常见问题 如何定义启动次数? 启动次数指应用启动在前台的次数,iOS应用退到后台即认为结束一次启动,Android应用相邻2次启动的时间间隔如果在30秒内会视为一次启动。

2.2.2.  活跃详情

该报表提供应用的日活用户、周活用户和月活用户的趋势统计,支持按照版本、渠道和用户群的组合筛选。 日活用户:当日至少启动过一次应用的设备数。 周活用户:当日之前的7天内(包括当日)至少启动过一次应用的设备数。 月活用户:当日之前的30天内(包括当日)至少启动过一次应用的设备数。

2.2.3.  新用户留存

该报表提供的是针对应用新增用户的留存情况统计,支持按照版本、渠道和用户群的组合筛选。 留存率的定义为统计日新增用户中,在新增日后第N天启动过应用的用户比例即为统计日新增用户的第N日留存率,简称N日留存。

2.2.4.  使用时长

该报表分为分布和趋势两大部分。 第一部分提供了昨日使用时长的2个区间分布:用户使用时长分布即当日活跃用户的使用时长分布;单次使用时长分布即当日每次启动的使用时长分布。 开发者还可以直接添加对比日期,来对比不同时间里使用时长分布的变化情况。   第二部分提供了人均使用时长和次均使用时长的趋势统计,支持按照版本、渠道和用户群的组合筛选。

2.2.5.  版本分布

该报表中提供了各个版本的核心数据,支持按照渠道和用户群的组合筛选。 趋势图中展示的是当前所选时段中最后一日的日活用户数排名前五的版本的各项数据,支持添加对比版本进行比较;详细数据表格内提供了在统计日内历史所有版本的核心数据指标。 常见问题 新增用户和升级用户的定义有什么不同? 新增用户指第一次启用此应用的用户,卸载重装或清除数据后再使用会视为新增用户。升级用户指从别的版本升级到此版本的用户。 也就是说,新增用户是应用的新用户,而升级用户只是该版本的新用户,对应用来说并不是新用户。

2.2.6.  页面访问

该报表提供了应用内所有页面访问次数和人数的统计,支持按照版本、渠道和用户群的组合筛选。 趋势图中展示了统计日当日访问次数排行前五的页面及其访问数据。详细数据表格中展示了应用每个页面的访问次数、访问人数以及在整个应用中的占比。

2.3.  渠道统计

目标:让开发者可以横向对比不同渠道用户的数量和质量数据。 主要内容 这部分报表中提供了各个渠道的核心数据,支持按照版本和用户群的组合筛选。 趋势图中展示的是当前所选时段中最后一日的日活用户数排名前五的渠道的各项数据,支持添加对比渠道进行比较;详细数据表格内提供了在统计日内历史所有渠道的核心数据指标。

2.4.  事件统计

目标:帮助开发者定制化地统计用户操作或属性信息,为一个操作或特征建立一个对应的自定义事件,就可以统计针对该操作或特征的用户行为,统计结果还支持渠道和版本的组合筛选。 主要内容 自定义事件为应用自行上报的打点统计,具体包括四种类型:字符串属性事件、数值属性事件、计数事件和计算事件,事件数据均支持按照渠道和版本的组合筛选。

2.4.1.  字符串属性事件

此类事件用于记录一个用户(对应到设备)的某个属性值,如性别,一个用户拥有性别这个事件对应的一个值,如果该用户再次提交了这个事件的其他值就以新的值覆盖旧的。 此类事件的值是作为字符串保存的,没有数值意义。 此类事件提供了统计日当日人数(当天完成了该事件的去重设备数)、累计人数(截止当日完成过该事件的累计去重设备数)和事件的取值分布。

2.4.2.  数值属性事件

与字符串属性事件使用场景类似,数值属性事件也是用来记录用户的属性值,同一个用户提交的新值会覆盖旧值。不同之处在于数值属性事件的值是作为数值保存的,有数值意义,比如年龄。 此类事件提供了当日人数、累计人数、累计人均取值(即截止当日该事件上报取值的总和/该事件的累计人数*100%)和取值分布图。 Snip20140904_64

2.4.3.  计数事件

此类事件用于记录一个事件累计发生的数量,每发生一次就增加1,经典的使用场景是记录各种按钮的点击事件。 计数事件提供了发生的次数、人数和人均次数三个指标。

2.4.4.  计算事件

此类事件不仅可以记录事件发送的数量,还能记录每次发生的数值。比如充值行为就是一个典型的计算事件,开发者既需要知道充值行为发生的次数、人数和人均次数,也需要知道充值的总金额、人均充值金额和次均充值金额。 计算事件除了具有计数事件的发生次数、人数和人均次数指标之外,还有取值总和、人均取值和次均取值三个指标。

 

2.4.4. 自定义事件限制

1、自定义事件的key,事件取值,事件参数的key和参数的取值都不可以超过128字符。超过128字符的事件、事件参数或者取值都不参与计算。

2、单个app的不同自定义事件的key的个数累计不超过10000个。超过10000时,自动取最新的,发生次数最多的10000个

3、单个计算事件、计数事件的取值最多可以添加10个参数,超过10个参数时,只保留最新和发生次数最多的10个参数。

4、自定义事件的取值、事件参数的取值,不同值的个数不超过10000个。当超过10000个不同取值时,截取发生次数最多的10000个值。

2.5.  设备属性

目标:提供用户设备基本信息的收集和统计,帮助开发者了解用户设备属性、网络使用情况和地区分布。

2.5.1.  设备属性

该报表分为三个部分,分别提供了机型、分辨率和系统版本三项数据。 以机型数据为例,趋势图中展示的是统计日当日的新增用户和日活用户排名前十的机型;详细数据表格内提供了在统计日内所有机型的新增用户和日活用户数。

2.5.2.  网络与运营商

该报表分为两个部分,分别提供了联网方式和运营商三项数据。运营商统计与设备属性统计的报表结构一致。网络统计比较特殊,统计的指标是不同联网方式下的启动次数,并支持添加对比日期。

2.5.3.  地区分布

提供国家和国内省份的新增用户和日活用户数据,帮助开发者了解用户的地区分布情况。

 

3.     定制功能

3.1.  自定义事件

详见2.4事件统计的表述

3.2.  用户群

用户群是开发者自定义的筛选条件,可以用来筛选各类数据指标。 用户群的定义建立在自定义事件的基础上,每个应用最多可同时拥有5个用户群,用户群建立后只能删除不能编辑。 如何新建用户群? 在设置-用户群页面内点击“新建用户群”按钮 Snip20140904_67 在新建用户群的页面内根据地区或应用当下已上报的自定义事件去设计用户群中的用户需要满足的条件,可以同时使用多个自定义事件,即要求同时满足多个事件条件。 Snip20140904_69 如何使用不同类型事件设计用户群条件?

  • 字符串属性事件

可指定该事件上报过的取值,可多选,多选是任一一个取值满足即符合条件的意思。 例如使用字符串属性事件“教育程度”,取值规则中选择了“本科”、“研究生”两个取值,含义是说用户的教育程度是本科或研究生的就符合该用户群条件。

  • 数值属性事件

可指定取值“大于等于某数”或“小于等于某数”。 例如使用数值属性事件“年龄”,取值规则设定为“大于等于20”,含义是说大于等于20岁的用户符合该条件。

  • 计数事件

可指定当日最少发生次数或最多发生次数。 例如使用计数事件“点击地理位置按钮”,取值规则设定为最少发生1次,含义是说当天至少点过1次地理位置按钮的用户符合该条件。

  • 计算事件:

可指定以下取值规则:当日最少发生次数、最多发生次数、当日取值大于等于某数、当日取值等于某数或当日取值小于等于某数。 例如使用计算事件“充值金额”,取值规则如设定为最少发生1次,即当天至少充值过1次的用户符合该条件;取值规则如设定为当日取值大于等于100,即当天充值金额当于等于100的用户符合该条件。

 

4.     错误分析

统计在实际使用中应用的崩溃错误数量和错误详情,帮助开发者得知问题、定位问题、按版本管理问题状态。 主要内容 这部分报表中提供了崩溃错误的统计、错误列表和错误详情。

4.1.  错误统计

错误统计中提供了每天应用的崩溃错误次数、错误率(错误率=当天发生错误的次数/应用启动次数*100%)、报错设备数和报错设备占比(报错设备占比=当天报错的设备数/活跃设备数*100),支持按应用版本筛选查看。 Snip20150429_20

4.2.  错误列表和错误详情

错误列表中展示了各类错误最近发生时间、发生次数、状态、版本(最近报错的)及查看错误详情的入口。列表支持按版本和错误状态筛选查看,也可以通过列表批量编辑错误状态。 Snip20150429_21 错误详情中可以查看和编辑该错误状态,查看错误详情,及该错误在机型和系统版本上的分布情况,降低开发者定位问题的成本。 Snip20150429_22Snip20150429_23

5.     网络监控

帮助开发者了解应用的整体网络访问质量,定位网络问题的影响范围。 主要内容 这部分报表中提供了监控概况和请求数、平均请求时长、错误率三个关键指标的统计报表。

5.1. 监控概况

监控概况中提供了请求数、平均请求时长、网络错误率和HTTP错误率的趋势数据,同时提供了平均请求时长和网络错误率的地区分布,选择具体地区后可以查看该地区的趋势数据。 Snip20150429_24 设置过需要监控的具体URL后,可以查看每个URL的数据。 Snip20150429_25Snip20150429_26

5.2. 请求数和平均请求时长

请求数和平均请求时长的报表结构类似,以下以请求数为例说明。 请求数报表提供了请求数的变化趋势图、地区分布图、网络和运营商分布表,支持指定具体的URL查看。 想查看具体某个时间点的详细信息时,只需在请求数趋势图中点击该点,下方的地区、网络和运营商数据将会更新为该点的数据。 地区分布图中点击某个地区即可查看该地区的趋势数据。 请求数的网络运营商分布表展示了在不同网络和运营商下的请求数、占比和趋势。 Snip20150429_27

5.3. 错误

网络监控中的错误分为网络错误和HTTP错误两大类,两类错误报表结构一致,以下以网络错误为例。 网络错误报表不仅提供了整体网络错误的变化趋势图、地区分布图、网络和运营商分布表,还提供了错误类型的分布数据,上述数据均支持指定具体的URL查看。

5.4 DNS监控

DNS监控功能为开发者提供了监控域名解析出的IP是否有被劫持的状况以及劫持的严重程度。正常情况下,用户在网络监控中添加监控的域名会被解析成对应的IP地址。但某些情况下这一解析过程可能会被运营商或其他服务劫持,解析成错误的域名,将使用者导向自己的页面,损害到用户与开发者的利益。因此我们提供了DNS监控的服务,帮助开发者识别出正确的域名,判断域名被劫持的状况。

DNS监控1

5.4.1 DNS监控

如图所示,页面中展示了监控域名的概况,左侧栏为所有监控域名列表,右侧为选定域名的DNS监控问题率趋势。首次使用DNS监控时,系统默认会将该域名所有解析出来的IP都默认为问题IP,需要用户手动设置IP白名单,即将解析正确的IP加入白名单中,添加白名单后就可以正常查DNS问题率趋势了。

DNS监控2

5.4.2 IP白名单设置

用户可以通过DNS监控页面快速设置IP白名单,也可以在此页面中集中管理和设置每个监控域名的IP白名单,同时也可以进行删除操作。

DNS监控3

6.     常见问题

1、小米统计的使用范围

小米统计目前支持Android和iOS两大平台。

2、如何启用小米统计?

如果开发者在dev.xiaomi.com下已有应用,可以直接在应用的页面内进入小米统计服务来启用服务。否则就需要您新建一个应用再启用小米统计服务。 启用后开发者就可以进行统计SDK的集成测试了,我们不同平台的SDK文档地址如下:

Android版:/doc/p=3995/index.html

iOS版:/doc/p=3998/index.html

3、小米统计是否会收费?

小米统计作为小米开发者服务中的基础服务会永久免费。

4、有些统计指标我不太理解该怎么办?

  • 可以查看页面上的?内有当页统计指标的说明
  • 可以查看小米统计的产品说明文档:/doc/?p=4003
  • 可以发送技术问题的详情描述发送邮件至:mi-stat@xiaomi.com

 

7.     附录:全部统计指标定义

指标名称 指标定义
用户 即独立设备,Android按设备的IMEI、序列号和Android ID确定的唯一设备;iOS按照设备的UDID确定。
累计总用户数 开始使用小米统计服务后所有新增用户的总和。
新增用户数 新增的设备数,卸载重装或清除应用数据后也会算作一个新增用户。
升级用户 从别的版本升级到此版本的用户
日活用户数 当日至少启动过一次应用的设备数。
启动次数 当日应用启动在前台的次数,iOS应用退到后台即认为结束一次启动,Android应用相邻2次启动的时间间隔如果在30秒内会视为一次启动。
人均启动次数 日活用户的平均启动次数。
周活用户数 统计日之前的7天内(包括统计日当日)至少启动过一次应用的设备数。
月活用户数 统计日之前的30天内(包括统计日当日)至少启动过一次应用的设备数。
次日留存率 某日新增用户中,在新增日后的第一天启动过应用的用户比例。
3日留存率 某日新增用户中,在新增日后的第三天启动过应用的用户比例。
7日留存率 某日新增用户中,在新增日后的第七天启动过应用的用户比例。
30日留存率 某日新增用户中,在新增日后的第三十天启动过应用的用户比例。
使用时长 用户在前台使用应用的时间长度。
用户使用时长分布 统计日活跃用户的使用时长分布
单次使用时长分布 统计日每次启动的使用时长分布
人均使用时长 统计日活跃用户平均每人使用应用的时间,精确到秒
次均使用时长 统计日应用启动中平均每次启动的使用时间,精确到秒
页面 Android按activity或fragment上报,iOS按 UIViewController的名字或自定义上报
渠道 在SDK初始化时由应用客户端设置的渠道信息
版本 应用当前版本号
访问次数 该页面访问PV
访问人数 该页面访问UV
自定义事件 应用自行上报的打点统计,分为4种类型:字符串属性事件、数值属性事件、计数事件和计算事件。
字符串属性事件 此类事件用于记录一个用户(对应到设备)的某个属性值,如性别,一个用户拥有性别这个事件对应的一个值,如果该用户再次提交了这个事件的其他值就以新的值覆盖旧的。此类事件的值是作为字符串保存的,没有数值意义。
数值属性事件 与字符串属性事件使用场景类似,数值属性事件也是用来记录用户的属性值,同一个用户提交的新值会覆盖旧值。不同之处在于数值属性事件的值是作为数值保存的,有数值意义,比如年龄。
计数事件 此类事件用于记录一个事件累计发生的数量,每发生一次就增加1,经典的使用场景是记录各种按钮的点击事件。计数事件我们提供发生的次数、人数和人均次数三个指标。
计算事件 此类事件不仅可以记录事件发送的数量,还能记录每次发生的数值。除了具有计数事件的发生次数、人数和人均次数指标外,计算事件还有取值总和、人均取值和次均取值三个指标。比如充值行为就是一个典型的计算事件,开发者既需要知道充值行为发生的次数、人数和人均次数,也需要知道充值的总金额、人均充值金额和次均充值金额。
用户群 用户群是开发者自定义的筛选条件,可以用来筛选各类数据指标。用户群的定义建立在自定义事件的基础上,每个应用最多可同时拥有5个用户群。
错误分析- 错误次数 当天发生的错误总数
错误分析-错误率 错误率=当天发生错误的次数/应用启动次数*100%
错误分析-报错设备数 当天发生错误的设备总数
错误分析-报错设备占比 报错设备占比=当天报错的设备数/活跃设备数*100%
网络监控-请求数 在集成SDK时调用URLStatsRecorder#enableAutoRecord,即可实现Http(s)URLConnection网络访问信息的自动采集,请求数指通过该方式采集到的网络访问次数
网络监控-平均请求时长 平均请求时长=总时长/成功请求数*100%
网络监控-网络错误率 网络错误率=网络错误次数/总请求数*100%
网络监控-HTTP错误率 HTTP错误率=HTTP错误次数/总请求数*100%