diff --git a/src/api/portraitModel.js b/src/api/portraitModel.js
index 185454c..cab690b 100644
--- a/src/api/portraitModel.js
+++ b/src/api/portraitModel.js
@@ -13,6 +13,7 @@ export function downloadDataByRFM(data) {
url: "/api/downDataByUserPortrait/analysisByRfmDown",
method: "get",
params: data,
+ responseType: "blob",
});
}
//数据下载-ABC分析
@@ -25,9 +26,19 @@ export function downloadDataByABC(data) {
}
//数据下载-波士顿矩阵分析
export function downloadDataByBoston(data) {
- return request({
- url: "/api/downDataByUserPortrait/bostonMatrixAnalysisData",
- method: "get",
- params: data,
- });
- }
+ return request({
+ url: "/api/downDataByUserPortrait/bostonMatrixAnalysisData",
+ method: "get",
+ responseType: "blob",
+ params: data,
+ });
+}
+//数据下载-帕累托/ABC分析
+//筛选出统计样本
+export function filterOutStatisSample(data) {
+ return request({
+ url: "/api/userBehaviorByRFM/filterOutStatisSample",
+ method: "post",
+ data: data,
+ });
+}
diff --git a/src/assets/images/分析@2x.png b/src/assets/images/分析@2x.png
new file mode 100644
index 0000000..5c023b0
Binary files /dev/null and b/src/assets/images/分析@2x.png differ
diff --git a/src/assets/images/绘制@2x.png b/src/assets/images/绘制@2x.png
new file mode 100644
index 0000000..5735c2a
Binary files /dev/null and b/src/assets/images/绘制@2x.png differ
diff --git a/src/utils/index.js b/src/utils/index.js
index 9679e75..44b5a05 100644
--- a/src/utils/index.js
+++ b/src/utils/index.js
@@ -387,4 +387,22 @@ export function camelCase(str) {
export function isNumberStr(str) {
return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str)
}
+//文件下载
+export function downBlobFile(fileName, fileBlob) {
+ const link = document.createElement('a')
+ try {
+ // let blob = new Blob([res.data],{type: 'application/vnd.ms-excel'}); //如果后台返回的不是blob对象类型,先定义成blob对象格式,type格式根据返回文件不同修改
+ const blob = fileBlob
+ const _fileName = fileName // 拆解获取文件名,如果后端没返回文件格式,则需要自己拼接文件后缀
+ link.style.display = 'none'
+ // 兼容浏览器
+ const url = window.URL || window.webkitURL || window.moxURL
+ link.href = url.createObjectURL(blob) // 如果没设置axios请求reponseType为‘blob’的话,则参数应为new Blob(文件流),否则报错
+ link.download = _fileName // 下载的文件名称
+ link.click()
+ window.URL.revokeObjectURL(url) // #URL.revokeObjectURL()方法会释放一个通过URL.createObjectURL()创建的对象URL. 当你要已经用过了这个对象URL,然后要让浏览器知道这个URL已经不再需要指向对应的文件的时候,就需要调用这个方法.
+ } catch (error) {
+ console.error(error.message)
+ }
+}
diff --git a/src/views/portraitModel/components/AARRRAnalysis.vue b/src/views/portraitModel/components/AARRRAnalysis.vue
new file mode 100644
index 0000000..34aad1c
--- /dev/null
+++ b/src/views/portraitModel/components/AARRRAnalysis.vue
@@ -0,0 +1,1092 @@
+
+
+
+

+
任务知识导入
+
+
+
+
+
+

+
案例背景:
+
+
+ 某买菜app想通过 AARRR模型分析自己的增长优势和弱势,获取更大的市场。
+
+
+ AARRR模型的实质是一个用户生命周期模型,关注用户获取(Acquisition)
+ 、激活(Activation)、留存(Retention) 、收入(Revenue) 和自传播(Refer)
+ 这五个方面,描述了用户从了解一个产品或服务到成为忠实用户的整个过程,对应于产品生命周期中的五个阶段。
+
+
+
+
+
+

+
第一步,获客分析
+
+
+ 任何产品的运营,第一步都是获取新用户,新用户一般来源于不同的渠道,因此我们首先需要做的就是渠道分析。做了渠道分析,我们才能知道,哪个渠道效果好,花费少,以后可以在性价比高的渠道投放。通常情况下渠道分析有两个维度:获客数量和获客质量
+
+
+
+
+
推广渠道对比(平均一次浏览时间)
+
+
+
+
+
+
+
+
+
图表分析
+
+
1、推广渠道中,获客数量最多的是:
+
+
+
+
+
+
+
+
+
2、哪种渠道的获客质量最高:
+
+
+
+
+
+
+
+
提交
+
+
+
+
+
+
+

+
第二步,激活分析
+
+
+ 有了用户之后就需要提高活跃度,用户光注册没啥用,需要经常登录、使用app才行。据有效数据表明,当新用户进入产品之后的次日活跃开始计算,80%以上的新用户都不会被再次激活。而对于买菜app来说,只有产生过订单的用户才能算作被激活。
+ 对各月份的用户新增情况进行分析,折线图如下图:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %
+
+
+
+
+
+
+
+
+
+

+
第三步,留存分析
+
+
+ 用户激活之后,不留存的话最终也都将流失,徒劳一场。对于买菜app来说,用户激活之后,如果不能留下来的话,那此前的工作基本都是无用的。我们可以分析一周留存率、双周留存率和月留存率,发现用户留存率仍有较大提升空间,可以分析流失原因,进一步提高产品体验,挽留已有客户。
+
+
+
+
+ 生成留存率图表
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
图表分析
+
+
1、两周平均留存率是多少:
+
+
+
+
+
+
+
+
2、从哪个时间段开始留存下来的客户,是公司的忠诚用户:
+
+
+
+
+
+
+
提交
+
+
+
+
+
+
+

+
第四步,收入分析
+
+
+ 获取收入,对产品来说是最重要的一点,当用户激活后,需要考虑的就是如何最大化获取收入,实现盈利。买菜软件的盈利与很多指标有关,我们暂且以提高用户的购买活跃度作为提高收入的的一个主要方式。我们将用户分为三个大类:低活跃用户,普通用户,会员用户。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
图表分析
+
+
+ 1、各类用户占比:(计算结果保留一位小数)
+
+
+
+
+
2、需要针对哪类用户制定营销手段来提高他们的活跃度:
+
+
+
+
+
+
+
提交
+
+
+
+
+
+
+

+
第五步,自传播分析
+
+
+ 当产品有了一定规模的用户之后,就需要考虑激发用户间的自发传播。自传播的数据指标是K因子(推荐系数):
+ K = (平均每个用户向他的朋友们发出的邀请的数量)*
+ (接收到邀请的人转化为新用户的转化率)
+ K值的高低,直接体现自传播结果水平,当K值大于1时,将激发自传播巨大的力量,K值越大,力量越强。而若K值小于1,那么传播水平会逐步减弱,直至消失。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
图表分析
+
+
+
+
该买菜app的K值为:(计算结果保留两位小数)
+
+
+
+
+
+ 结论:拥有了自传播的力量。可以进一步通过“邀请获红包”等运营活动进一步提高
+ K 值,加快传播速度
+
+
提交
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/portraitModel/components/abcAnalysis.vue b/src/views/portraitModel/components/abcAnalysis.vue
index 8d57875..fe56305 100644
--- a/src/views/portraitModel/components/abcAnalysis.vue
+++ b/src/views/portraitModel/components/abcAnalysis.vue
@@ -45,7 +45,7 @@
-
下载数据
+ 下载数据
@@ -348,6 +348,8 @@