APP的数据采集与埋点方式分析
2017-10-25 15:46
393 查看
前言:
神策数据写过几篇分析APP前后端埋点的文章,原文在此:
https://sensorsdata.cn/blog/shu-ju-jie-ru-yu-mai-dian/
http://www.woshipm.com/data-analysis/665420.html
我在此总结一下。
正文:
埋点是指产品使用过程中,通过对用户事件的追踪,获得想要统计的用户数据,进而分析产品使用情况。
针对一个手机端APP来说,埋点有前端埋点、后端埋点(后端数据收集)这两种方法。
目前常见的前端埋点技术,有三类:
1、在某个控件操作发生时通过预先写好的代码来发数据的代码埋点;
2、通过可视化界面配置控件操作与事件发生关系的可视化埋点;
3、先收集所有数据再在后端筛选需要分析的对象的“无埋点”。
神策建议数据收集遵循两个基本原则:
1、优先在后端收集数据;
2、属性尽可能采集全面。
神策数据为保证数据采集做到“大、全、细、时”,更推荐“后端埋点”:当前后端都可以实现数据采集时,应优先考虑后端(代码)埋点,尤其在各行业中有特殊业务需求的数据,更是强烈建议通过后端(代码)埋点方式采集。
尤其以下类型的企业更应该首选后端埋点:
1、追求精细化运营,需要进行多维数据分析的企业
2、包含用户资产数据、用户账户体系相关数据、风控辅助数据等重要业务数据的网站或APP的企业
3、对数据安全要求比较高的企业
相对应的,在前端埋点就有以下缺点:
1、需要等待网络情况良好才能发送数据
2、需要积攒一定的量才发送数据
3、需要在本地暂存而本地暂存空间有限等一系列在数据传输性和数据可靠性上的一些问题。
但是,前端埋点毕竟有一些后端采集数据所无法替代的地方,例如,分析前端界面设计是否合理,分析一些在与后端没有交互的前端行为等,还是必须采用前端埋点方案的。
前端埋点的技术原理是:
在APP或者界面初始化的时候,初始化第三方数据分析服务商的SDK,然后在某个事件发生时就调用SDK里面相应的数据发送接口发送数据。
目前百度统计、友盟、TalkingData 等都提供了这一方案。
直接用代码处理每个事件太过麻烦。
而可视化埋点就稍微先进了一些,把核心代码和配置、资源分开,在APP启动的时候通过网络更新配置和资源即可,免除了每个版本都要修改埋点代码的问题。同时这样还方便了后端管理数据。
“无埋点”则是先尽可能收集所有的控件的操作数据,然后再通过界面配置哪些数据需要在系统里面进行分析。显然会有巨大的性能问题,不可取。
总结:
个人认为,埋点要看具体业务需求,从公司性质、业务性质、产品所处阶段综合来看。数据采集不是难事,重要的是数据分析。
神策数据写过几篇分析APP前后端埋点的文章,原文在此:
https://sensorsdata.cn/blog/shu-ju-jie-ru-yu-mai-dian/
http://www.woshipm.com/data-analysis/665420.html
我在此总结一下。
正文:
埋点是指产品使用过程中,通过对用户事件的追踪,获得想要统计的用户数据,进而分析产品使用情况。
针对一个手机端APP来说,埋点有前端埋点、后端埋点(后端数据收集)这两种方法。
目前常见的前端埋点技术,有三类:
1、在某个控件操作发生时通过预先写好的代码来发数据的代码埋点;
2、通过可视化界面配置控件操作与事件发生关系的可视化埋点;
3、先收集所有数据再在后端筛选需要分析的对象的“无埋点”。
神策建议数据收集遵循两个基本原则:
1、优先在后端收集数据;
2、属性尽可能采集全面。
神策数据为保证数据采集做到“大、全、细、时”,更推荐“后端埋点”:当前后端都可以实现数据采集时,应优先考虑后端(代码)埋点,尤其在各行业中有特殊业务需求的数据,更是强烈建议通过后端(代码)埋点方式采集。
尤其以下类型的企业更应该首选后端埋点:
1、追求精细化运营,需要进行多维数据分析的企业
2、包含用户资产数据、用户账户体系相关数据、风控辅助数据等重要业务数据的网站或APP的企业
3、对数据安全要求比较高的企业
相对应的,在前端埋点就有以下缺点:
1、需要等待网络情况良好才能发送数据
2、需要积攒一定的量才发送数据
3、需要在本地暂存而本地暂存空间有限等一系列在数据传输性和数据可靠性上的一些问题。
但是,前端埋点毕竟有一些后端采集数据所无法替代的地方,例如,分析前端界面设计是否合理,分析一些在与后端没有交互的前端行为等,还是必须采用前端埋点方案的。
前端埋点的技术原理是:
在APP或者界面初始化的时候,初始化第三方数据分析服务商的SDK,然后在某个事件发生时就调用SDK里面相应的数据发送接口发送数据。
目前百度统计、友盟、TalkingData 等都提供了这一方案。
直接用代码处理每个事件太过麻烦。
而可视化埋点就稍微先进了一些,把核心代码和配置、资源分开,在APP启动的时候通过网络更新配置和资源即可,免除了每个版本都要修改埋点代码的问题。同时这样还方便了后端管理数据。
“无埋点”则是先尽可能收集所有的控件的操作数据,然后再通过界面配置哪些数据需要在系统里面进行分析。显然会有巨大的性能问题,不可取。
总结:
个人认为,埋点要看具体业务需求,从公司性质、业务性质、产品所处阶段综合来看。数据采集不是难事,重要的是数据分析。
相关文章推荐
- [置顶] Java数据采集-4.分析常见的翻页(加载数据)方式
- 数据分析数据采集方式及分析工具
- App竞品技术分析 (5)数据采集工具
- 以微信文章阅读数为例说明数据分析应注意数据采集方式
- iOS App中数据加载的6种方式
- ORCLE数据库 使用数据泵方式导入导出数据的误区分析
- 以用户名注册来分析三种Action获取数据的方式
- 入门视频采集与处理(学会分析YUV数据)
- flume通过tcp/udp采集数据并存到kafka配置及操作方式
- 延云YDB基于spark进行数据分析的一种新方式
- 数据绑定以及Container.DataItem几种方式与用法分析 .
- Android Camera 系统架构源码分析(5)---->Camera数据Buf的传递方式及相关类
- 入门视频采集与处理(学会分析YUV数据)
- 浮点型数据存储方式分析
- 大数据采集、清洗、处理:使用MapReduce进行离线数据分析完整案例
- Android 应用开发 之通过AsyncTask与ThreadPool(线程池)两种方式异步加载大量数据的分析与对比
- 使用 ArcGIS Online和APP进行监控操作和数据采集
- 项目中的数据采集分析需求
- [数据采集]APP启动时长统计