@ -19,9 +19,7 @@
< img src = "@/assets/images/caseIcon.png" alt = "" / >
< span > 案例背景 : < / span >
< / div >
< span style = "line-height: 25px; font-size: 14px" >
以下是某APP注册用户14天的登录数据 , 请展开留存分析 。
< / span >
< span style = "line-height: 25px; font-size: 14px" > 以下是某APP注册用户14天的登录数据 , 请展开留存分析 。 < / span >
< div style = "margin-top: 10px; display: flex" >
< el -table
: data = "fileTable1"
@ -32,46 +30,34 @@
fontSize : '14px' ,
backgroundColor : '#6A7DE9!important' ,
} "
>
< el -table -column label = "日期" align = "center" prop = "date" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "新增用户数" align = "center" prop = "addNum" width = "120" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "次日" align = "center" prop = "day2" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "3日" align = "center" prop = "day3" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "4日" align = "center" prop = "day4" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "5日" align = "center" prop = "day5" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "6日" align = "center" prop = "day6" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "7日" align = "center" prop = "day7" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "8日" align = "center" prop = "day8" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "9日" align = "center" prop = "day9" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "10日" align = "center" prop = "day10" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "11日" align = "center" prop = "day11" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "12日" align = "center" prop = "day12" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "13日" align = "center" prop = "day13" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "14日" align = "center" prop = "day14" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "日期" align = "center" prop = "date" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "新增用户数" align = "center" prop = "addNum" width = "120" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "次日" align = "center" prop = "day2" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "3日" align = "center" prop = "day3" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "4日" align = "center" prop = "day4" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "5日" align = "center" prop = "day5" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "6日" align = "center" prop = "day6" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "7日" align = "center" prop = "day7" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "8日" align = "center" prop = "day8" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "9日" align = "center" prop = "day9" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "10日" align = "center" prop = "day10" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "11日" align = "center" prop = "day11" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "12日" align = "center" prop = "day12" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "13日" align = "center" prop = "day13" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "14日" align = "center" prop = "day14" > < / e l - t a b l e - c o l u m n >
< / e l - t a b l e >
< div class = "download" @click ="downloadData" > 下 载 数 据 < / div >
< / div >
< span style = "line-height: 25px; font-size: 14px" >
表格列指标释义 : < br / >
新增用户数 , 表示当日注册的用户数 < br / >
次日 : 当日注册的这批用户在次日有XX人访问 < br / >
3 日 : 当日注册的这批用户在注册后的第3日有XX人访问 < br / >
表格列指标释义 :
< br / >
新增用户数 , 表示当日注册的用户数
< br / >
次日 : 当日注册的这批用户在次日有XX人访问
< br / >
3 日 : 当日注册的这批用户在注册后的第3日有XX人访问
< br / >
7 日 : 当日注册的这批用户在注册后的第7日有XX人访问
< / span >
< / div >
@ -82,7 +68,8 @@
< span > 第一步 , 留存率的计算 < / span >
< / div >
< span style = "line-height: 25px; font-size: 14px" >
留存率是指 : 某日用户数在第N日仍启动该App的用户比例 , 留存分析即分析用户随时间变化的活跃情况 。 获取用户只是第一步 , 留住用户才是所有产品最终目标 。 < br / >
留存率是指 : 某日用户数在第N日仍启动该App的用户比例 , 留存分析即分析用户随时间变化的活跃情况 。 获取用户只是第一步 , 留住用户才是所有产品最终目标 。
< br / >
请按照留存率的计算公式 , 补全空缺的数据 , 计算结果保留小数点后0位 。
< / span >
< div style = "margin-top: 10px; display: flex" >
@ -96,177 +83,84 @@
backgroundColor : '#6A7DE9!important' ,
} "
>
< el -table -column label = "日期" align = "center" prop = "date" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "新增用户数" align = "center" prop = "addNum" width = "120" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "日期" align = "center" prop = "date" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "新增用户数" align = "center" prop = "addNum" width = "120" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "次日" align = "center" prop = "day2" >
< template # default = "scope" >
< el -input
v - model = "scope.row.params"
placeholder = "输入"
style = "width: 50px"
v - if = "scope.$index == 12"
size = "small"
>
< / e l - i n p u t
> < span v-if ="scope.$index == 12" > % < / span >
< el -input v-model ="scope.row.params" placeholder="输入" style="width: 50px" v-if="scope.$index == 12" size="small" > < / el -input >
< span v-if ="scope.$index == 12" > % < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "3日" align = "center" prop = "day3" >
< template # default = "scope" >
< el -input
v - model = "scope.row.params"
placeholder = "输入"
style = "width: 50px"
v - if = "scope.$index == 11"
size = "small"
>
< / e l - i n p u t
> < span v-if ="scope.$index == 11" > % < / span >
< el -input v-model ="scope.row.params" placeholder="输入" style="width: 50px" v-if="scope.$index == 11" size="small" > < / el -input >
< span v-if ="scope.$index == 11" > % < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "4日" align = "center" prop = "day4" >
< template # default = "scope" >
< el -input
v - model = "scope.row.params"
placeholder = "输入"
style = "width: 50px"
v - if = "scope.$index == 10"
size = "small"
>
< / e l - i n p u t
> < span v-if ="scope.$index == 10" > % < / span >
< el -input v-model ="scope.row.params" placeholder="输入" style="width: 50px" v-if="scope.$index == 10" size="small" > < / el -input >
< span v-if ="scope.$index == 10" > % < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "5日" align = "center" prop = "day5" >
< template # default = "scope" >
< el -input
v - model = "scope.row.params"
placeholder = "输入"
style = "width: 50px"
v - if = "scope.$index == 9"
size = "small"
>
< / e l - i n p u t
> < span v-if ="scope.$index == 9" > % < / span >
< el -input v-model ="scope.row.params" placeholder="输入" style="width: 50px" v-if="scope.$index == 9" size="small" > < / el -input >
< span v-if ="scope.$index == 9" > % < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "6日" align = "center" prop = "day6" >
< template # default = "scope" >
< el -input
v - model = "scope.row.params"
placeholder = "输入"
style = "width: 50px"
v - if = "scope.$index == 8"
size = "small"
>
< / e l - i n p u t
> < span v-if ="scope.$index == 8" > % < / span >
< el -input v-model ="scope.row.params" placeholder="输入" style="width: 50px" v-if="scope.$index == 8" size="small" > < / el -input >
< span v-if ="scope.$index == 8" > % < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "7日" align = "center" prop = "day7" >
< template # default = "scope" >
< el -input
v - model = "scope.row.params"
placeholder = "输入"
style = "width: 50px"
v - if = "scope.$index == 7"
size = "small"
>
< / e l - i n p u t
> < span v-if ="scope.$index == 7" > % < / span >
< el -input v-model ="scope.row.params" placeholder="输入" style="width: 50px" v-if="scope.$index == 7" size="small" > < / el -input >
< span v-if ="scope.$index == 7" > % < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "8日" align = "center" prop = "day8" >
< template # default = "scope" >
< el -input
v - model = "scope.row.params"
placeholder = "输入"
style = "width: 50px"
v - if = "scope.$index == 6"
size = "small"
>
< / e l - i n p u t
> < span v-if ="scope.$index == 6" > % < / span >
< el -input v-model ="scope.row.params" placeholder="输入" style="width: 50px" v-if="scope.$index == 6" size="small" > < / el -input >
< span v-if ="scope.$index == 6" > % < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "9日" align = "center" prop = "day9" >
< template # default = "scope" >
< el -input
v - model = "scope.row.params"
placeholder = "输入"
style = "width: 50px"
v - if = "scope.$index == 5"
size = "small"
>
< / e l - i n p u t
> < span v-if ="scope.$index == 5" > % < / span >
< el -input v-model ="scope.row.params" placeholder="输入" style="width: 50px" v-if="scope.$index == 5" size="small" > < / el -input >
< span v-if ="scope.$index == 5" > % < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "10日" align = "center" prop = "day10" >
< template # default = "scope" >
< el -input
v - model = "scope.row.params"
placeholder = "输入"
style = "width: 50px"
v - if = "scope.$index == 4"
size = "small"
>
< / e l - i n p u t
> < span v-if ="scope.$index == 4" > % < / span >
< el -input v-model ="scope.row.params" placeholder="输入" style="width: 50px" v-if="scope.$index == 4" size="small" > < / el -input >
< span v-if ="scope.$index == 4" > % < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "11日" align = "center" prop = "day11" >
< template # default = "scope" >
< el -input
v - model = "scope.row.params"
placeholder = "输入"
style = "width: 50px"
v - if = "scope.$index == 3"
size = "small"
>
< / e l - i n p u t
> < span v-if ="scope.$index == 3" > % < / span >
< el -input v-model ="scope.row.params" placeholder="输入" style="width: 50px" v-if="scope.$index == 3" size="small" > < / el -input >
< span v-if ="scope.$index == 3" > % < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "12日" align = "center" prop = "day12" >
< template # default = "scope" >
< el -input
v - model = "scope.row.params"
placeholder = "输入"
style = "width: 50px"
v - if = "scope.$index == 2"
size = "small"
>
< / e l - i n p u t
> < span v-if ="scope.$index == 2" > % < / span >
< el -input v-model ="scope.row.params" placeholder="输入" style="width: 50px" v-if="scope.$index == 2" size="small" > < / el -input >
< span v-if ="scope.$index == 2" > % < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "13日" align = "center" prop = "day13" >
< template # default = "scope" >
< el -input
v - model = "scope.row.params"
placeholder = "输入"
style = "width: 50px"
v - if = "scope.$index == 1"
size = "small"
>
< / e l - i n p u t
> < span v-if ="scope.$index == 1" > % < / span >
< el -input v-model ="scope.row.params" placeholder="输入" style="width: 50px" v-if="scope.$index == 1" size="small" > < / el -input >
< span v-if ="scope.$index == 1" > % < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "14日" align = "center" prop = "day14" >
< template # default = "scope" >
< el -input
v - model = "scope.row.params"
placeholder = "输入"
style = "width: 50px"
v - if = "scope.$index == 0"
size = "small"
>
< / e l - i n p u t
> < span v-if ="scope.$index == 0" > % < / span >
< el -input v-model ="scope.row.params" placeholder="输入" style="width: 50px" v-if="scope.$index == 0" size="small" > < / el -input >
< span v-if ="scope.$index == 0" > % < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e >
@ -280,8 +174,10 @@
< span > 第二步 , 留存分析常用口径计算 < / span >
< / div >
< span style = "line-height: 25px; font-size: 14px" >
从时间维度划分 , 常见的的有 : 次日留存 、 3 日留存 、 7 日留存 、 14 日留存 、 30 日留存 、 60 日留存 。 < br / >
从用户维度划分 , 常见的的有 : 新用户留存 、 活跃留存 。 < br / >
从时间维度划分 , 常见的的有 : 次日留存 、 3 日留存 、 7 日留存 、 14 日留存 、 30 日留存 、 60 日留存 。
< br / >
从用户维度划分 , 常见的的有 : 新用户留存 、 活跃留存 。
< br / >
请按照第一步计算的表格数据 , 计算次日留存 、 3 日留存 、 7 日留存 、 14 日留存的平均数 , 计算结果保留小数点后0位 。
< / span >
< div style = "margin-top: 10px; display: flex" >
@ -295,50 +191,29 @@
backgroundColor : '#6A7DE9!important' ,
} "
>
< el -table -column label = "" align = "center" prop = "name" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "" align = "center" prop = "name" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "次日" align = "center" prop = "description" >
< template # default = "scope" >
< el -input
v - model = "scope.row.params1"
placeholder = "请输入"
style = "width: 70px"
>
< / e l - i n p u t
> < span > % < / span >
< el -input v-model ="scope.row.params1" placeholder="请输入" style="width: 70px" > < / el -input >
< span > % < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "3日" align = "center" prop = "description" >
< template # default = "scope" >
< el -input
v - model = "scope.row.params2"
placeholder = "请输入"
style = "width: 70px"
>
< / e l - i n p u t
> < span > % < / span >
< el -input v-model ="scope.row.params2" placeholder="请输入" style="width: 70px" > < / el -input >
< span > % < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "7日" align = "center" prop = "description" >
< template # default = "scope" >
< el -input
v - model = "scope.row.params3"
placeholder = "请输入"
style = "width: 70px"
>
< / e l - i n p u t
> < span > % < / span >
< el -input v-model ="scope.row.params3" placeholder="请输入" style="width: 70px" > < / el -input >
< span > % < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "14日" align = "center" prop = "amount" >
< template # default = "scope" >
< el -input
v - model = "scope.row.params4"
placeholder = "请输入"
style = "width: 70px"
>
< / e l - i n p u t
> < span > % < / span >
< el -input v-model ="scope.row.params4" placeholder="请输入" style="width: 70px" > < / el -input >
< span > % < / span >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e >
@ -351,43 +226,26 @@
< img src = "@/assets/images/步骤.png" alt = "" / >
< span > 第三步 , 留存率可视化分析 < / span >
< / div >
< span style = "line-height: 25px; font-size: 14px" >
以2021 / 8 / 1 注册的新增的用户数据为例 , 绘制之后14日的留存率折线图 :
< / span >
< span style = "line-height: 25px; font-size: 14px" > 以2021 / 8 / 1 注册的新增的用户数据为例 , 绘制之后14日的留存率折线图 : < / span >
< div class = "draw" @click ="draw" > 绘 制 < / div >
< div style = "margin-top: 10px; display: flex" >
< div id = "echarts" style = "width: 400px; height: 300px" > < / div >
< div style = "margin-left: 50px" >
< p > 通过图表分析 , 新增用户在哪天之后趋向于平稳 < / p >
< el -select
v - model = "dayValue"
placeholder = "请选择"
style = "width: 120px"
size = "default"
@ change = "handleChangeDay"
>
< el -option
v - for = "item in dayOptions"
: key = "item.value"
: label = "item.label"
: value = "item.value"
/ >
< el -select v-model ="dayValue" placeholder="请选择" style="width: 120px" size="default" @change="handleChangeDay" >
< el -option v -for = " item in dayOptions " :key ="item.value" :label ="item.label" :value ="item.value" / >
< / e l - s e l e c t >
< div class = "analysis" >
< div class = "conclusion" > 分析结论 : < / div >
< span >
1 、 7 日留存率 , 只有27 % , 流失率达到了73 % , 相对比较低 , 需要提供用户粘性 ; < br / >
2 、 平缓之后 , 能够留存下来的客户 , 是公司的忠诚用户 ; < br / >
1 、 7 日留存率 , 只有27 % , 流失率达到了73 % , 相对比较低 , 需要提供用户粘性 ;
< br / >
2 、 平缓之后 , 能够留存下来的客户 , 是公司的忠诚用户 ;
< br / >
3 、 14 日的留存率 , 每天一直下降 , 需要找出原因 。
< / span >
< / div >
< div
class = "submit"
@ click = "step3Submit"
style = "margin-top: 20px; margin-left: 0px"
>
提交
< / div >
< div class = "submit" @click ="step3Submit" style = "margin-top: 20px; margin-left: 0px" > 提交 < / div >
< / div >
< / div >
< / div >
@ -398,15 +256,24 @@
< span > 第四步 , 平均留存分析 < / span >
< / div >
< span style = "line-height: 25px; font-size: 14px" >
留存分析的适用场景 : < br / >
日留存率 : < br / >
快速判断产品是否迎合市场需求 , 比如新手对产品的UI设计 、 功能设置 、 新手引导等的体验是否满意 , 是否需做调整 。 < br / >
快速判断用户粘性 , 比如用户是否更易受促销活动的影响等等 。 < br / >
周留存率 : < br / >
判断用户忠诚度 , 用户此时对产品基本已有完整的体验 。 一整套流程体验下来 , 继续访问的用户可判断为潜在忠诚用户 。 < br / >
分析用户再次访问的原因 , 找出产品最能巩固用户的点 , 且参考此点以一贯之 , 拓展应用到更多的用户身上 , 促使更多的用户留下来 。 < br / >
月留存率 : < br / >
评估迭代与优化的效果 。 砍掉留存率低的产品功能 , 进行迭代优化 。 < br / >
留存分析的适用场景 :
< br / >
日留存率 :
< br / >
快速判断产品是否迎合市场需求 , 比如新手对产品的UI设计 、 功能设置 、 新手引导等的体验是否满意 , 是否需做调整 。
< br / >
快速判断用户粘性 , 比如用户是否更易受促销活动的影响等等 。
< br / >
周留存率 :
< br / >
判断用户忠诚度 , 用户此时对产品基本已有完整的体验 。 一整套流程体验下来 , 继续访问的用户可判断为潜在忠诚用户 。
< br / >
分析用户再次访问的原因 , 找出产品最能巩固用户的点 , 且参考此点以一贯之 , 拓展应用到更多的用户身上 , 促使更多的用户留下来 。
< br / >
月留存率 :
< br / >
评估迭代与优化的效果 。 砍掉留存率低的产品功能 , 进行迭代优化 。
< br / >
平均留存率的分析 , 需要结合公司不同时期 , 与行业平均水平进行对比 , 找出差距 , 分析相关原因 , 从而制定营销策略 。
< / span >
< div style = "margin-top: 10px; display: flex" >
@ -420,16 +287,11 @@
backgroundColor : '#6A7DE9!important' ,
} "
>
< el -table -column label = "" align = "center" prop = "name" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "次日" align = "center" prop = "data1" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "3日" align = "center" prop = "data2" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "7日" align = "center" prop = "data3" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "14日" align = "center" prop = "data4" >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "" align = "center" prop = "name" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "次日" align = "center" prop = "data1" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "3日" align = "center" prop = "data2" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "7日" align = "center" prop = "data3" > < / e l - t a b l e - c o l u m n >
< el -table -column label = "14日" align = "center" prop = "data4" > < / e l - t a b l e - c o l u m n >
< / e l - t a b l e >
< / div >
< / div >
@ -439,22 +301,20 @@
< img src = "@/assets/images/步骤.png" alt = "" / >
< span > 第五步 , 留存分析应用场景 < / span >
< / div >
< span style = "line-height: 25px; font-size: 14px" >
日常工作中 , 留存分析常用于下述场景 :
< / span >
< span style = "line-height: 25px; font-size: 14px" > 日常工作中 , 留存分析常用于下述场景 : < / span >
< div style = "font-size: 14px; margin-top: 10px" >
1. 了解一个渠道的质量 < br / >
可以使用 「 日留存 」 来衡量各渠道用户的表现 , 并以此作为衡量渠道质量的标准之一 。 如对不同渠道来源的用户进行次日留存 、 7 日留存的对比 ( 不同行业可能选择不同周期 ) ,
以此衡量不同渠道的用户留存情况。 一般来说 , 留存情况较好可以反应这个渠道质量较好 。
1. 了解一个渠道的质量
< br / >
可以使用「 日留存 」 来衡量各渠道用户的表现 , 并以此作为衡量渠道质量的标准之一 。 如对不同渠道来源的用户进行次日留存 、 7 日留存的对比 ( 不同行业可能选择不同周期 ) , 以此衡量不同渠道的用户留存情况。 一般来说 , 留存情况较好可以反应这个渠道质量较好 。
< / div >
< div style = "font-size: 14px; margin-top: 10px" >
2. 判断运营手段 / 某项功能改动是否奏效 < br / >
当我们期待某个运营手段 / 某项功能可以期提升留存时 , 可以对通过分析该运营手段 / 功能 , 「 覆盖到的新用户 」 和 「 未覆盖到的新用户 」 的留存率 , 对两部分用户的留存进行对比 , 来验证手段 / 功能的有效性 。
以贴吧为例 , 该贴吧想检验 “ 看贴 ” 功能是否对新用户的留存是有提升效果 , 于是对同样来自A渠道的新用户 ( 一部分使用了看贴功能 , 一部分没有使用看贴功能 ) 进行留存对比 。 通过比较发现 , 使用过看贴功能的新用户 ,
三日留存率比未使用过该功能的新用户 , 多了10 % 以上 。 这说明 “ 看贴 ” 功能对新用户留存有着正向促进作用 。
2. 判断运营手段 / 某项功能改动是否奏效
< br / >
当我们期待某个运营手段 / 某项功能可以期提升留存时 , 可以对通过分析该运营手段 / 功能 , 「 覆盖到的新用户 」 和 「 未覆盖到的新用户 」 的留存率 , 对两部分用户的留存进行对比 , 来验证手段 / 功能的有效性 。 以贴吧为例 , 该贴吧想检验 “ 看贴 ” 功能是否对新用户的留存是有提升效果 , 于是对同样来自A渠道的新用户 ( 一部分使用了看贴功能 , 一部分没有使用看贴功能 ) 进行留存对比 。 通过比较发现 , 使用过看贴功能的新用户 , 三日留存率比未使用过该功能的新用户 , 多了10 % 以上 。 这说明 “ 看贴 ” 功能对新用户留存有着正向促进作用 。
< / div >
< div style = "font-size: 14px; margin-top: 10px" >
3. 衡量一个产品是否健康 < br / >
3. 衡量一个产品是否健康
< br / >
可以使用 「 周留存 」 、 「 月留存 」 等指标观察用户在平台上的粘性 , 衡量产品的健康情况 。
< / div >
< / div >
@ -1364,21 +1224,7 @@ const dayOptions = ref([
label : "14日" ,
} ,
] ) ;
const step1RightAnswer = ref ( [
"4" ,
"5" ,
"6" ,
"7" ,
"9" ,
"14" ,
"18" ,
"19" ,
"30" ,
"41" ,
"57" ,
"72" ,
"79" ,
] ) ;
const step1RightAnswer = ref ( [ "4" , "5" , "6" , "7" , "9" , "14" , "18" , "19" , "30" , "41" , "57" , "72" , "79" ] ) ;
onMounted ( ( ) => {
getData ( ) ;
} ) ;
@ -1463,7 +1309,7 @@ const handleChangeDay = (e) => {
} ;
const draw = ( ) => {
var chartDom = document . getElementById ( "echarts" ) ;
var myChart = echarts . init ( chartDom , "dark" );
var myChart = echarts . init ( chartDom );
var option ;
option = {
@ -1478,22 +1324,7 @@ const draw = () => {
} ,
xAxis : {
type : "category" ,
data : [
"1" ,
"2" ,
"3" ,
"4" ,
"5" ,
"6" ,
"7" ,
"8" ,
"9" ,
"10" ,
"11" ,
"12" ,
"13" ,
"14" ,
] ,
data : [ "1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "10" , "11" , "12" , "13" , "14" ] ,
} ,
yAxis : {
type : "value" ,
@ -1543,12 +1374,7 @@ const step1Submit = () => {
} ;
const step2Submit = ( ) => {
step2Error . value = 0 ;
if (
! step2Data . value [ 0 ] . params1 ||
! step2Data . value [ 0 ] . params2 ||
! step2Data . value [ 0 ] . params3 ||
! step2Data . value [ 0 ] . params4
) {
if ( ! step2Data . value [ 0 ] . params1 || ! step2Data . value [ 0 ] . params2 || ! step2Data . value [ 0 ] . params3 || ! step2Data . value [ 0 ] . params4 ) {
proxy . $modal . msgError ( "请先完成所有填空" ) ;
return ;
}
@ -1701,11 +1527,7 @@ const getData = () => {
. catch ( ( error ) => { } ) ;
} ;
const submitData = ( ) => {
if (
! step1AnswerFlag . value ||
! step2AnswerFlag . value ||
! step3AnswerFlag . value
) {
if ( ! step1AnswerFlag . value || ! step2AnswerFlag . value || ! step3AnswerFlag . value ) {
proxy . $modal . msgError ( "请先完成所有步骤!" ) ;
return ;
}
@ -1754,7 +1576,8 @@ defineExpose({
< style scoped lang = "scss" >
. content {
width : 100 % ;
background : rgba ( 0 , 29 , 64 , 0.5 ) ;
/ / b a c k g r o u n d : r g b a ( 0 , 2 9 , 6 4 , 0 . 5 ) ;
background : # fff ;
border : 1 px solid # 0452 c6 ;
padding : 10 px ;
/ / o p a c i t y : 0 . 5 ;
@ -1779,6 +1602,7 @@ defineExpose({
}
}
. caseBack {
color : # 000 ;
. title {
font - weight : bold ;
margin - top : 10 px ;
@ -1893,7 +1717,10 @@ defineExpose({
. analysis {
width : 577 px ;
height : 117 px ;
background : # 005 b55 ;
/ / b a c k g r o u n d : # 0 0 5 b 5 5 ;
background : # f1f6fa ;
border : 1 px solid # 5 b87ee ;
color : # 305 FCB ;
border - radius : 10 px ;
margin - top : 20 px ;
font - size : 14 px ;
@ -1917,9 +1744,17 @@ defineExpose({
cursor : pointer ;
}
}
/ / : : v - d e e p . e l - t a b l e t r {
/ / b a c k g r o u n d - c o l o r : # 0 0 2 6 5 2 ! i m p o r t a n t ;
/ / c o l o r : # f f f ;
/ / }
: : v - deep . el - table tr {
background - color : # 002652 ! important ;
color : # fff ;
background - color : # fff ! important ;
color : # 000 ;
}
/* 将悬停背景色改为红色 */
: : v - deep . el - table -- enable - row - hover . el - table _ _body tr : hover > td {
background - color : # f5f7fa ! important ;
}
: : v - deep . el - table td {
padding - top : 3 px ;