数据分析——DAU下降/上升原因分析

2023-10-19 08:50

本文主要是介绍数据分析——DAU下降/上升原因分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文是对“DAU变动原因”问题进行的思考整理,仅作记录,欢迎讨论。

( 一 )思维框架

图版:
在这里插入图片描述

文版:

内部原因:

1. 数据验证

  • 如果DAU上升或者下降,且非日常波动,需先确认指标逻辑计算和数据提取是否存在问题;
  • 数据提取无误后,如果DAU是骤降,则需向相关技术同学确认数据采集、传输、存储过程是否问题,是否有丢数据或者正在更新数据的情况。

确认数据准确后,进行下一步分析。

2. 周期性排查

  • 如果DAU波动范围较小,延长时间线查看是否存在数据周期性波动(如是否周末/寒暑假/淡旺季)。

在否认是数据周期性波动后,继续进行下一步分析。

3.运营分析

  • 产品是否发了新版,发布新版本往往是导致数据波动原因之一,具体需结合第四点用户详细数据进行分析。如果DAU上升,可以查看用户产品新功能参与率、新道具使用率、以及关卡通关率等数据是否有所上升;如果DAU下降,可以查看是否是因为调整关卡难度导致某些关卡的通关率下降、由于礼包调整导致礼包购买率减少等(具体根据版本更新内容进行分析),从而造成了用户流失。
  • 考虑是否有新开启的运营活动,用户对活动的喜恶程度也影响着DAU。结合第四点用户详细数据分析,如果DAU上升,可以查看用户活动参与率是否较高;如果DAU下降,可以查看用户流失前的行为是否和新上活动有关。
  • 技术bug也是导致DAU下降的重要原因,具体可分析用户加载成功率是否有所降低以及流失用户是否存在丢档问题等。

4. 用户分析

从用户维度进行拆分,分新老用户、分区域查看用户活跃数据。

  • 影响新用户数量的主要因素是投放策略的变动。如果新用户数量变动较大,可以分渠道、分区域查看投放量,一般会是投放量增加/减少导致的新用户数量变化。如果投放量并没有什么变动,可分析各渠道转化率是否变化,并和投放同学确认投放人群、策略以及渠道平台是否有变化。
  • 如果老用户DAU上升,可对比查看用户较之前高活跃度模块、关卡通关率是否提升、道具使用频次是否提升,如果是产品新发版或者新上了运营活动,需结合产品的调整分析用户行为数据是否提升,决定用户量是否受产品和运营活动影响。
    如果老用户DAU下降,首先可以考虑流失用户是否受新版本活动、功能、bug的影响,结合产品调整和用户活跃度下降数据进行进一步确认分析。分析流失用户特征及产品用户平均生命周期,查看用户是否已属于“衰退期”。

外部原因:

5. 竞品

  • 调研市场上是否有强有力的竞品出现,是否也在同渠道进行投放,从而抢占了用户资源等;
  • 竞品是否有新功能、新活动上线,吸引了用户。

6. 行业经济

  • 调研行业现状,是否遇到风口,一片欣欣向荣或行业受挫,整体行业经济都不景气。

7. 舆论影响(各社交平台)

  • 是否受社会舆论影响,可查看各社交平台,微博、贴吧、博客、知乎等是否存在较好/坏评论,造成影响,影响用户量。

8. 政策影响

  • 是否有鼓励/限制政策出台,影响了产品和用户。

( 二 )实例分析

问题描述:
2021.2.20号日活跃用户数据开始下降,20号之前数据稳定在11.3w~11.9w人,20号及之后数据下降到11w人以下,20号数据较前一日活跃人数减少7947人。分析DAU下降原因。

在这里插入图片描述

原因分析:
先针对异常原因做出多个假设,后用数据验证假设是否成立,从未定位问题。也可能会需要在原假设基础上建立新的假设或调整原假设,直至定位原因。

  1. 指标含义:每日去重后的活跃人数
    逻辑计算方式:select count(distinct user_id)
    确认指标含义和计算方式,保证数据是准确的。
  2. 非特殊日期,排除周期性波动。
  3. 2月20号没有新版本发布,没有新上活动。
  4. 假设:新老用户活跃量变化引起波动
    验证(计算影响系数):
    影响系数 = ( 今日量 - 昨日量 )/ ( 今日总量 - 昨日总量 )
    新用户影响系数 = (13771 - 20398)/ (109978 - 117921) = 0.83
    老用户影响系数 = 1 - 0.83 = 0.17
    新用户影响系数为0.83,说明DAU下降主要是因为新用户减少。下一步对新用户进行拆分:
    新用户 = 渠道A新增 + 渠道B新增 + 渠道C新增 + 渠道D新增
    在这里插入图片描述
    对新用户拆分渠道后,很明显可以看出,20号及之后AEO投放量减少幅度较大,其它投放渠道量则相对稳定。可以和负责投放的同学确认是否投放策略在20号有所变动,是AEO投放量减少还是其它问题。
  5. 得出20号及之后DAU降低的结论:为产品利润最大化,投放策略有所变动,20号及之后减少AEO投放量。
  6. 再针对原因,结合利润数据,和投放同学商讨投放优化的策略。

这篇关于数据分析——DAU下降/上升原因分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/238717

相关文章

Linux中的HTTPS协议原理分析

《Linux中的HTTPS协议原理分析》文章解释了HTTPS的必要性:HTTP明文传输易被篡改和劫持,HTTPS通过非对称加密协商对称密钥、CA证书认证和混合加密机制,有效防范中间人攻击,保障通信安全... 目录一、什么是加密和解密?二、为什么需要加密?三、常见的加密方式3.1 对称加密3.2非对称加密四、

MySQL中读写分离方案对比分析与选型建议

《MySQL中读写分离方案对比分析与选型建议》MySQL读写分离是提升数据库可用性和性能的常见手段,本文将围绕现实生产环境中常见的几种读写分离模式进行系统对比,希望对大家有所帮助... 目录一、问题背景介绍二、多种解决方案对比2.1 原生mysql主从复制2.2 Proxy层中间件:ProxySQL2.3

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

Java.lang.InterruptedException被中止异常的原因及解决方案

《Java.lang.InterruptedException被中止异常的原因及解决方案》Java.lang.InterruptedException是线程被中断时抛出的异常,用于协作停止执行,常见于... 目录报错问题报错原因解决方法Java.lang.InterruptedException 是 Jav

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1