ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

DNU与DAU分析:用面积图可视化用户增长与留存健康度

2026/8/5 8:15:57 拓冰建站 浏览量
DNU与DAU分析:用面积图可视化用户增长与留存健康度 1. 从两个核心指标说起DNU与DAU的本质做产品运营、数据分析或者用户增长的朋友对DNU和DAU这两个指标肯定不陌生。它们就像产品的“体温计”和“血压计”每天都要看但你真的看懂了吗很多人每天盯着后台那个数字看到DNU涨了就开心看到DAU跌了就焦虑但往往知其然不知其所以然。今天我们不聊那些复杂的公式和模型就从最基础的“理解”和“分析”入手结合一个非常直观的可视化工具——面积图来聊聊怎么把这两个指标“玩”明白。首先我们得把概念掰扯清楚。DNU即日新增用户指的是在某个自然日内首次启动或访问你应用的用户数。注意是“首次”。这意味着一个用户无论未来多么活跃他在整个生命周期里只会为DNU贡献一次。DNU衡量的是你产品拉新的能力是流量的“入口”。而DAU即日活跃用户指的是在某个自然日内启动或访问过你应用的用户数。这里不区分新旧只要今天来了就算一个。DAU衡量的是你产品整体的用户活跃基本盘是生态的“池子”。理解它们的关系是分析的第一步。你可以把产品想象成一个水池。DNU就是每天从外部引入的新水源新用户。DAU则是每天水池里总的水量活跃用户。这个水量DAU由两部分组成一部分是今天新引入的水DNU另一部分是昨天、前天乃至更早引入的但今天依然“流动”着的老水老用户的今日活跃。所以一个最基本的公式就出来了今日DAU 今日DNU 昨日及之前的留存用户今日活跃数。光知道这个公式没用关键是怎么用它来发现问题。如果DAU很高但DNU很低说明你的产品留存做得非常好老用户非常忠诚但拉新可能遇到了瓶颈。反之如果DNU很高但DAU增长缓慢甚至停滞那就要敲响警钟了很可能出现了“漏水”的情况即新增用户留存极差进来多少跑多少水池永远装不满。这时候单纯砸钱拉新就是打水漂。那么怎么才能直观、动态地看到这种关系呢这就是我们今天要重点讨论的“DNU/DAU面积图”。它不是一个复杂的模型而是一种将上述水池比喻可视化的绝佳方式。通过这张图你不仅能一眼看出每日的DNU和DAU更能清晰地看到“新用户”和“老用户”在每日活跃大盘中的贡献占比变化从而快速定位问题是出在拉新端还是留存端。2. 构建你的分析仪表盘DNU/DAU面积图详解理解了概念我们来看看这个核心的分析工具——DNU/DAU面积图到底长什么样以及如何解读它。这种图在专业的数据分析平台如GrowingIO、神策数据等里是标配但原理很简单我们自己用Python也能轻松绘制并且自己动手画一遍理解会更深刻。2.1 面积图的视觉逻辑与信息密度一张标准的DNU/DAU面积图X轴通常是时间日、周、月Y轴是用户数。图上会有两层面积底层面积通常颜色较深代表每日的DNU新增用户。上层面积通常颜色较浅叠加在底层之上代表每日的DAU活跃用户。这里有一个关键DAU的面积是从0到DAU值的完整区域而DNU的面积是从0到DNU值的区域。因为DNU是DAU的一部分所以DNU的面积会被完全包含在DAU的面积之内。两者之间的差值即DAU - DNU的区域用颜色区分出来代表的正是“老用户的今日活跃数”。这种叠加面积图的妙处在于一眼看清趋势DAU面积顶部的轮廓线就是DAU随时间变化的曲线。DNU面积顶部的轮廓线就是DNU的曲线。直观判断结构如果某一天DNU的色块面积很大几乎填满了DAU的色块说明那天DAU主要由新用户贡献老用户不活跃留存可能出了问题。如果DNU色块很薄DAU色块却很厚说明活跃度主要靠老用户支撑产品进入稳定期但需警惕新用户增长乏力。定位波动根源当DAU突然飙升或暴跌时你可以立刻通过两层面积的变化判断是拉新DNU层带来的还是老用户活跃度差值区域变化带来的。举个例子大促期间DNU面积可能会突然变厚带动整个DAU面积向上膨胀。而如果某个版本发布后DAU面积顶部轮廓线下降了但DNU层没变薄甚至变厚了那问题很可能出在版本更新伤害了老用户的体验导致他们不活跃了。2.2 手把手用Python生成面积图从数据到洞察光说不练假把式。我们假设你有一份简单的每日数据表格CSV格式包含datednu,dau三个字段。下面我用Python的matplotlib和pandas库带你一步步画出这张分析金图。首先是环境准备和数据准备。如果你还没安装这些库在命令行里执行pip install pandas matplotlib即可。我们模拟一份30天的数据以便观察趋势。import pandas as pd import matplotlib.pyplot as plt import matplotlib.dates as mdates from datetime import datetime, timedelta import numpy as np # 1. 生成模拟数据 np.random.seed(42) # 确保可复现 date_range pd.date_range(start2023-10-01, periods30, freqD) # 模拟DNU有一定波动但整体平稳 dnu np.random.randint(800, 1200, size30) np.sin(np.arange(30)/5) * 100 dnu dnu.astype(int) # 模拟DAU在DNU基础上加上一个基于历史留存的老用户活跃数并引入一些趋势和波动 # 假设老用户活跃基数约为3000并随时间缓慢增长同时有周期性波动 base_dau 3000 np.arange(30) * 10 # 缓慢增长的趋势 fluctuation np.sin(np.arange(30)/7) * 200 # 周期性波动 dau (base_dau fluctuation dnu * 0.5).astype(int) # DAU包含部分新用户和模拟的老用户 # 创建DataFrame df pd.DataFrame({ date: date_range, dnu: dnu, dau: dau }) df[old_user_active] df[dau] - df[dnu] # 计算老用户活跃数 print(df.head())数据有了接下来是绘图的核心部分。这里有几个美化技巧和关键设置能让你的图表更专业、更易读。# 2. 创建图表和坐标轴 fig, ax plt.subplots(figsize(14, 8)) # 3. 绘制面积图 # 先绘制老用户活跃面积底层颜色用稳重的蓝色 ax.fill_between(df[date], 0, df[old_user_active], colorskyblue, alpha0.8, label老用户活跃 (DAU - DNU)) # 再绘制新用户DNU面积叠加在上面颜色用醒目的橙色 ax.fill_between(df[date], df[old_user_active], df[dau], colororange, alpha0.8, label新增用户 (DNU)) # 4. 绘制DAU和DNU的趋势线可选使顶部轮廓更清晰 ax.plot(df[date], df[dau], colordarkblue, linewidth2, labelDAU趋势线) ax.plot(df[date], df[dnu], colordarkred, linewidth2, linestyle--, labelDNU趋势线) # 5. 图表美化与信息标注 ax.set_xlabel(日期, fontsize12) ax.set_ylabel(用户数, fontsize12) ax.set_title(DNU/DAU 构成面积图分析 (模拟数据), fontsize16, fontweightbold) ax.legend(locupper left, fontsize11) ax.grid(True, whichmajor, axisy, linestyle--, alpha0.7) # 优化X轴日期显示避免重叠 ax.xaxis.set_major_formatter(mdates.DateFormatter(%m-%d)) ax.xaxis.set_major_locator(mdates.WeekdayLocator(byweekdaymdates.MO)) # 每周一显示一个刻度 fig.autofmt_xdate(rotation45) # 6. 添加关键数据标注例如标注最大值、最小值或特殊点 max_dau_idx df[dau].idxmax() ax.annotate(fDAU峰值: {df.loc[max_dau_idx, dau]}, xy(df.loc[max_dau_idx, date], df.loc[max_dau_idx, dau]), xytext(10, 20), textcoordsoffset points, arrowpropsdict(arrowstyle-, connectionstylearc3), fontsize10, bboxdict(boxstyleround,pad0.3, facecolorwheat, alpha0.8)) # 显示图表 plt.tight_layout() plt.show()运行这段代码你就能得到一张专业的面积图。在这张图上你可以清晰地看到整体水位DAU蓝色橙色区域的总高度。拉新贡献DNU橙色区域的厚度。留存健康度老用户活跃蓝色区域的厚度。趋势与波动顶部曲线的走向。注意在真实业务中你的DNU和DAU数据应该是从数据仓库或分析平台直接查询导出。确保统计口径一致例如都是基于设备ID还是用户ID是否去重。口径不一致是分析中最大的坑。3. 超越图形基于面积图的四步深度分析法有了面积图这个强大的可视化工具我们的分析不能只停留在“看图说话”的层面。接下来我结合多年经验总结出一套四步深度分析法帮你从图形中榨取出真正的业务洞察。3.1 第一步结构健康度诊断——看“厚度比”每天上班第一眼不要只看DAU总数是涨是跌先看图中橙色层DNU和蓝色层老用户活跃的“厚度比”。我习惯计算一个“新用户活跃贡献率”DNU / DAU。健康区间经验值对于一款处于稳定增长期的成熟产品这个比率通常会在一个相对稳定的区间内波动比如10%-25%。这意味着产品既有持续的新鲜血液输入又有坚实的留存基本盘。报警信号比率持续过高40%警惕这说明DAU严重依赖新用户老用户留存可能很差产品像“筛子”留不住人。需要立刻检查次日留存、7日留存等指标。比率持续过低5%同样危险说明增长引擎几乎熄火产品在“吃老本”。市场声量可能变小或渠道拉新效果锐减。需要复盘近期市场活动和渠道投放。在面积图上高比率表现为橙色层很厚甚至接近DAU顶部轮廓线低比率则表现为橙色层像一条细线DAU几乎全由蓝色层构成。3.2 第二步波动归因分析——追“波动源”DAU曲线不可能是一条直线总有波峰波谷。面积图能帮你一秒定位波动源头。场景ADAU突增情况1橙色层DNU同步显著增厚蓝色层变化不大。归因成功的一次拉新活动如应用商店推荐、病毒营销、渠道大推。结论活动拉新效果显著需进一步观察这批新用户的留存情况。情况2橙色层变化不大蓝色层显著增厚。归因老用户活跃度提升。可能原因有版本更新激发了老用户回归、成功的召回活动Push、短信、季节性因素或热点事件带动。结论产品运营或内容策略对存量用户有效。场景BDAU突降情况1橙色层突然变薄。归因拉新渠道出现问题如某广告渠道停投、应用商店评分骤降、负面舆论。需要立即检查各渠道数据。情况2蓝色层突然变薄。归因老用户流失或活跃度下降。这是最严重的问题可能原因有版本更新出现严重Bug、竞争对手推出强力功能、核心内容/服务出现断档。需要立即结合用户反馈和版本日志排查。实操心得我通常会在大波动点波峰/波谷在图上做一个垂直标记线在旁边用文字简要标注可能的原因如“V3.2版本上线”、“XX渠道投放启动”。时间长了这张图就成了产品运营的“病历本”任何异常都有迹可循。3.3 第三步趋势预测与目标拆解——绘“轨道线”面积图不仅反映过去还能指导未来。你可以用它来辅助制定和拆解增长目标。假设老板要求下个季度DAU提升20%。你不能拍脑袋说“那我们多投点广告”。用面积图思维来拆解历史基线分析观察过去几个季度面积图计算DAU的自然增长率、DNU的平均贡献、老用户活跃的自然衰减/增长趋势。目标值绘图在图上用虚线画出未来达到目标DAU所需的“轨道线”。结构拆解这个新增的20%的DAU应该由多少新用户DNU和多少老用户活跃提升来贡献这需要你结合历史留存率、拉新成本、运营预算来综合判断。如果决定70%来自新用户30%来自老用户活跃提升那么你就能在面积图上画出未来目标状态下橙色层和蓝色层应该达到的厚度。动作反推基于拆解出的DNU目标和老用户活跃目标反向推导需要做什么。例如要达到DNU目标需要开拓哪些新渠道、优化哪些落地页要达到老用户活跃目标需要设计哪些签到活动、内容更新计划或功能优化。这样一张静态的历史图表就变成了动态的未来作战地图。3.4 第四步多维下钻与对比分析——切“剖面图”单一的全局面积图有时还不够细。我们需要下钻分析这里面积图依然可以派上用场。按渠道维度下钻分别绘制不同渠道如自然流量、Facebook广告、谷歌广告、社交媒体带来的DNU/DAU面积图。你可能会发现渠道A带来的新用户橙色层很厚但蓝色层留存很薄属于“流量大但质量差”渠道B带来的新用户不多但后续的蓝色层非常坚实属于“优质渠道”。这直接指导你的渠道预算分配。按用户画像维度下钻对新用户按来源搜索下载、朋友推荐、设备类型iOS/Android、地域等绘制面积图分析不同画像用户的留存和活跃模式。时间周期对比将本周的面积图与上周、上月同期叠加对比可以消除“星期效应”等周期性影响更清晰地看到真实的趋势变化。避坑指南进行下钻分析时务必确保各维度下DAU的计算是去重的。例如一个用户既通过渠道A又通过渠道B活跃在渠道分拆图中他应该被合理地归因到某个主要渠道或进行去重处理否则各分项DAU之和会大于总DAU导致分析失真。业内常用“最后一次触点归因”或“多渠道归因模型”来解决这个问题。4. 实战案例复盘从面积图中发现“沉默的危机”理论说了这么多我们来看一个我亲身经历过的简化版案例看看面积图如何在实际业务中发挥“预警机”的作用。当时我负责一款工具类产品它的DAU在过去半年里一直保持着缓慢但稳定的上升曲线从表面数字看一切向好。团队的主要精力也放在如何进一步拉高增长曲线上。我们例行查看的日报主要关注DAU和DNU的绝对值以及环比。直到有一天我决定把过去90天的DNU/DAU面积图画出来做一次季度复盘。图画出来后一个之前被忽略的模式清晰地浮现出来DAU的蓝色层老用户活跃的顶部轮廓线在近两个月变得异常平坦几乎没有增长而整个DAU的缓慢增长完全是由橙色层DNU的轻微波动和缓慢增厚在拉动。换句话说老用户活跃大盘已经停滞不前甚至略有下滑所有的增长都依赖于不断注入新用户来勉强维持DAU数字的上涨。这张图就像一盆冷水让我们瞬间清醒。我们立刻停下了盲目拉新的计划转而成立一个专项小组深入分析老用户。通过用户分群和回访调研我们发现了问题产品的一个核心功能模块在两个月前的一次“性能优化”版本更新后虽然速度提升了但操作流程变得比原来多了一步对高频使用的老用户造成了显著的体验磨损。他们用得不如以前爽了但尚未到彻底流失的程度只是活跃度在默默下降。解决方案与验证立即修复产品团队快速迭代在下个版本中优化了该功能的操作路径恢复了之前的便捷性。老用户召回运营团队针对近60天活跃度下降的老用户群体设计了一个专属的“功能回归体验”活动并通过Push和邮件告知优化消息。持续监控在修复版本发布后我们紧密观察面积图。大约一周后效果开始显现DAU的蓝色层老用户活跃开始重新变得“饱满”并呈现出上升趋势。而由于我们暂时减少了拉新投放橙色层DNU变薄了但总DAU却因为蓝色层的增长而保持稳定甚至结构更健康了新用户贡献率下降到了合理区间。这个案例给我的深刻教训是不要被DAU的绝对数值蒙蔽双眼。拆解其构成关注“老用户活跃”这个基本盘的厚度和趋势往往比关注DAU总数更重要。面积图正是完成这种拆解最直观的工具。它帮助我们在歌舞升平中发现了“沉默的危机”避免了在错误的方向上越走越远。5. 进阶思考当DNU/DAU分析遇到复杂场景掌握了基础分析和面积图技法我们可以聊点更深入的。在实际业务中尤其是大型或复杂产品直接套用上述方法可能会遇到一些“失真”的情况需要我们更精细地处理。5.1 指标口径的“魔鬼细节”DNU和DAU的定义看似简单但统计口径是第一个大坑。去重与不去重是基于设备IDDid还是用户IDUid一个用户多设备登录如何计算通常DAU要求严格去重一个用户一天只算一次而DNU则要定义清楚“首次”的判断周期是历史首次还是近30天首次。活跃的定义是“启动”就算还是必须完成某个关键行为如浏览超过3个页面、停留超过30秒对于工具类产品后台静默运行算不算活跃这些都需要根据产品特性明确定义并且所有对比分析必须在同一口径下进行。DNU的归因窗口用户今天下载了App但三天后才首次打开这个用户应该算在哪天的DNU里行业通常按“首次激活时间”归因即算在三天后。这会影响你对渠道拉新效果评估的及时性。我的建议在团队内部建立一份《数据指标字典》明确每一个核心指标的定义、计算规则、取数来源和负责人。任何分析开始前先确认口径一致。5.2 结合留存率矩阵进行立体诊断面积图告诉我们“老用户活跃”的总量但它是一个混合体包含了昨天的新用户、上周的新用户、上月的新用户等等。要更精细地诊断留存问题必须结合留存率矩阵Cohort Analysis。具体做法是将每天的新增用户DNU作为一个同期群Cohort。追踪这个群组在后续每一天D1, D2, ..., D30的活跃情况计算留存率。将数据做成热力图横轴是时间新增后的天数纵轴是新增日期颜色深浅代表留存率。当你从面积图上发现“老用户活跃”层增长乏力时立刻去查留存矩阵。你可能会发现并不是所有老用户都不活跃了而是最近一个月新增的用户他们的次留、7留曲线明显下滑。这说明问题出在新用户的“转化-留存”漏斗上可能是新手引导不好也可能是近期拉来的用户质量下降。反之如果所有同期群的留存曲线都很稳定但蓝色层还是下降那可能是更早之前的用户比如半年前在自然流失这就需要启动老用户召回策略了。面积图是“总览仪表盘”留存矩阵是“显微镜”两者结合才能定位到问题的具体环节。5.3 关注“可商业化DAU”与“健康度DAU”在一些业务场景下不是所有DAU都有同等价值。例如可商业化DAU对于广告变现的产品可能更关注“当日有广告曝光/点击行为的用户数”。健康度DAU对于社区产品可能更关注“当日有发布、评论、点赞等互动行为的用户数”。我们可以基于面积图的思想进行变种。比如绘制“总DAU”与“互动DAU”的叠加面积图。这样你不仅能看大盘活跃还能看核心用户的活跃健康度。如果总DAU在涨但互动DAU的占比在持续下降说明用户“水化”了虽然人多但生态不健康商业价值和社区氛围都在稀释。5.4 自动化监控与预警人工每天看图毕竟效率低下对于核心指标应该建立自动化监控体系。思路如下关键指标计算每日自动计算“新用户贡献率”DNU/DAU、“老用户活跃绝对值”、“老用户活跃环比”。设定阈值预警规则1如果“新用户贡献率”连续3天超过30%自动触发黄色预警提示“留存风险”。规则2如果“老用户活跃绝对值”环比下降超过5%自动触发橙色预警提示“核心用户流失风险”。规则3如果DAU绝对值在排除周末效应后仍出现断崖式下跌如单日跌超10%触发红色警报。预警信息整合预警信息不仅包含数字最好能附上最近7天的DNU/DAU面积图缩略图让接收者一眼就能看到问题趋势。这套系统建立后团队就能从“被动看数”转向“主动管理”在问题刚冒头时就介入而不是等到月度复盘时才后知后觉。数据分析的价值不在于做出多么华丽的图表而在于通过数据发现真问题驱动正确的决策。DNU和DAU是产品最基础的脉搏而面积图就是听诊器。它用最直观的方式把用户生态的“进水量”、“存水量”和“健康度”呈现给你。掌握它你就能超越数字的表面波动看到产品肌体深处的活力与病灶从而成为一个更从容、更敏锐的产品增长负责人。