总第103篇

前言

最近在做一个用户评分模型的项目,这个模型的目的就是用来判断用户的价值。希望通过各种指标来给用户综合打分,每个用户最后会得到一个分值,分值越高,说明用户的价值越高。这是一个总的目标,一个用户可以创造的价值由两部分决定:创造价值的能力和创造价值的意愿,前者是能不能的问题、后者是愿不愿意的问题。定了两个主线以后再次进行目标拆解,根据业务经验分别找到那些能够判断用户创造价值的能力和意愿的指标,然后给不同的指标赋予不同的权重/分值,最后将各指标的权重/分值相加就是用户最后的总得分。

上面的这个过程有两个关键步骤,一个是选择合适的指标,另一个是给不同的指标赋予不同的权重,关于指标的选取,这个根据业务经验直接拍脑袋就可以,但是这个不同指标的权重问题,可能直接拍脑袋就不是太好了,当然了,也不是不可以。不过,做数据是一个严谨的工作(咳咳咳),还是希望能够找到一套理论来代替拍脑袋,所以就在网上找啊找,终于找到了今天的主角,就是AHP。

AHP介绍

先来看看比较官方的解释:

AHP(Analytic Hierarchy Process-解析阶层的过程)又叫层次分析法,是一种定性与定量相结合的分析方法,是一种将决策者对复杂系统的决策思维过程模型化、数量化的过程。

是不是有点看不太明白,我来说几句大白话让你理解理解。让我们与前言里面的内容对应一下,AHP其实就是一种把复杂问题通过定性(人为去判断各指标之间的重要性)与定量(再通过计算判断矩阵求出各指标权重)的方法进行拆解成若干个小问题以及小指标的问题,并能够计算出各个小问题以及小指标对整个大目标的影响程度。

来看张图,你就更清楚了,这张图正好可以表达我在前言里面说到的东西。我们的最终目标就是要确定每个用户的一个用户价值,那么我们可以把这个目标进行拆解,首次拆解成购买忠诚度和消费能力这两个小问题,进而再对这两个小问题进行拆解,分别得到下面的各个指标,这其实就是一个定性的过程(问题拆解,指标拆解都是需要我们依据业务经验,人为去指定),至于各问题和各指标的权重计算就是一个定量过程,其实AHP主要是做定量这一部分。

AHP流程

知道了AHP是什么以后,我们来具体看看AHP的一个具体流程。

  • 明确问题

  • 问题及指标拆解

  • 建立指标两两判断矩阵

  • 层次单排序

  • 层次总排序

1.明确问题

就是首先你要确定你要解决什么问题,我们这里就是要构建用户价值模型,希望通过这个模型看出每个用户的一个价值,然后依据价值不同给与不同的运营策略。

2.问题及指标拆解

将搭建用户价值模型这个总目标拆解成用户购买忠诚度以及用户消费能力两部分,然后再对这两部分进行指标拆解,就是上面图表中看到的各指标。

3.构造判断矩阵

所谓的判断矩阵就是将任意两指标进行对比得出一个重要性结果,然后将这个结果以矩阵的形式进行呈现,其中重要程度差别等级如下:

标度 含义
1 表示两个指标相比,具有同样的重要性
3 表示两个指标相比,前者比后者稍重要
5 表示两个指标相比,前者比后者明显重要
7 表示两个指标相比,前者比后者极其重要
9 表示两个指标相比,前者比后者强烈重要
2,4,6,8 表示上述两指标判断结果的中间值,比如2是介于1和3之间的

数值越大,表示前者比后者越重要;指标A和指标B判断结果与指标B与指标A和指标B判断结果互为倒数,即当指标A比指标B的重要程度是3的时候,那么指标B比指标A的重要程度就是3的倒数,即1/3。

不知道你有没有注意到,其实上面的这种方法也有一定的主观判断(拍脑袋),比如两指标之间的稍微重要,明显重要,极其重要也是需要你人为去指定的,你可能会疑问,既然都是拍脑袋,那还要这个干啥,直接拍脑袋不久得了,还搞这么复杂干嘛,哈哈哈,关于好处接下来会讲到。

判断矩阵A构造出来了,我们就可以开始计算各指标对目标问题的影响程度(即各指标的权重值)。

3.1各指标权重计算步骤:

  • 将矩阵A的每一列向量归一化

  • 对归一化后的矩阵按行求和,得到一列值

  • 对上述求和的一列值再次进行归一化得到矩阵w

  • 计算最大特征根

注意:这里的归一化只是把每一列的值的和当作1,然后计算每一个值在1中的占比。

(因为公众号对公式支持太差了,所以只能使用截图了)

上述步骤中归一化后得到的矩阵w就是各个指标的权重情况,这个权重是根据我们主观上构造的判断矩阵的出来的,但是这个权重是否准确,还是有待确定的,为什么要去确定呢,因为判断矩阵很有可能得出的相互矛盾的结论,比如说A指标重要性大于B指标,B指标重要性大于C指标,但是A指标重要性又小于C指标重要性,这种互相矛盾的结论。AHP就可以避免这种矛盾的发生。这里需要引入AHP中的另一个概念一致性检验,用来判断矩阵是否一致。

3.2一致性检验的步骤如下:

  • 根据判断矩阵计算最大特征根

  • 计算一致性指标CI

  • 根据n的值(指标的数量)找出随机一致性指标RI

  • 计算一致性比率CR=CI/RI,当CR<0.1时,不一致性程度在容许范围内,即各指标的重要性程度不存在上述互相矛盾的情况,可以使用。

如果一致性比率符合使用条件,则可以直接使用计算出的各指标的权重值,如果不符合,则需要重新构造判断矩阵。

4.层次单排序

就是对单一层次计算权重情况,比如用户价值模型总目标的下一层就是用户忠诚程度和用户消费能力的权重情况。用户忠诚程度:用户消费能力=0.67:0.33。而用户忠诚程度和用户消费能力的下一层就是各个更加细致的指标。

5.层次总排序

层次总排序就是将各个层次的权重值相乘,最后就得到了各个指标的权重情况,就是层次总排序。

AHP实例

还是以前面说到用户价值模型为例,走一遍完整的流程。这里我们计算用户忠诚度的AHP,因为只有三个指标及以上才会出现那种互相矛盾的情况,两个指标是不会出现的,两个指标的话直接人为指定权重占比就可以。具体计算过程,大家可以参考上面的截图。

1.构造判断矩阵

1.1构造第一层次的判断矩阵

最近购买间隔 购买频率 购买商品种类
最近购买间隔 1 1/6 1/2
购买频率 6 1 3
购买商品种类 2 1/3 1

1.2计算各指标权重

将判断矩阵的每一列进行归一化得出下方的矩阵:

1/9 1/9 1/9
6/9 6/9 6/9
2/9 2/9 2/9

对归一化后的矩阵的每一行进行求和运算:

3/9
18/9
6/9

将上述求和的得到的矩阵再次进行归一化得到矩阵w:

0.11
0.67
0.22

该矩阵就表示了各指标的权重情况,最近购买间隔占比占比为0.11,购买频率占比0.64,购买商品种类占比0.24。

计算最大特征根:
在计算最大特征根我们需要先计算Aw值,Aw计算是将判断矩阵A与归一化得到的矩阵w相乘(公众号不支持公式,很烦),最后得到Aw值:

0.33
1.98
0.66

再进行计算最大特征根:1/3*(0.33/0.11+1.98/0.67+0.66/0.22)=3

1.3一致性检验

计算一致性指标CI:(3-3)/(3-1)=0
根据指标数量n选择指标RI:这里n=3,所以RI=0.58

计算一致性比率CR=CI/RI=0<0.1符合,所以用户忠诚度的各指标权重值w矩阵可用。

1.4层次单排序

因为总目标只拆解成了两个小问题,所以这里直接人为指定权重即可(用户忠诚度:用户消费能力=0.67:0.33),不需要进行一致性检验。

用户忠诚度拆解的指标有三个,需要进行一致性检验,且经过检验后符合CR<0.1的条件,所以用户忠诚度指标中各指标权重为:最近购买间隔占比占比为0.11,购买频率占比0.64,购买商品种类占比0.24。

用户消费能力拆解的指标也只有两个,直接人为指定权重即可。

1.5层次总排序

最后将各层次的权重相乘就是每个指标的权重占比。

指标 计算 最后权值
最近购买间隔 0.67*0.11 0.07
购买频率 0.67*0.67 0.45
购买商品种类 0.67*0.22 0.15
平均每次消费额 0.33*0.67 0.22
单次最高消费额 0.33*0.33 0.11

最后的层次以及权值分层图:

1.6进行评分

最后将每个指标缩小到0-10的范围(不一定缩小到0-10,但是必须把每个指标缩小到相同大小范围内),然后乘各指标所占权重,最后相加,就是每个用户的总价值得分。

用户 最近购买间隔 购买频率 商品种类 平均每次消费额 单词最高消费额 价值得分
用户A 3 5 2 5 9 4.85
用户B 2 1 2 3 5 3.50

实战—用户价值模型搭建相关推荐

  1. 全国大学生数据统计与分析竞赛2021年【本科组】-B题:战胜市场: 应用基于熵权平衡的 CatBoost 二分类模型和改进 RFM 用户价值模型

    目录 摘要 1 引言 1.1 问题描述 1.2 我们的思考 1.3 本文主要工作与创新点 2 模型假设

  2. 神策用户标签系统,深入业务构建用户价值体系

    用户画像的精准勾勒,能够帮助企业与消费者产生共情,设身处地地思考用户需求.一套科学的标签体系,能够赋予用户画像以生气,并在用户获取成本飙涨的市场环境下,以最低的成本最大限度地挖掘客户生命周期的价值.随 ...

  3. 什么样的用户标签系统,可以深入业务构建用户价值体系?

    用户画像的精准勾勒,能够帮助企业与消费者产生共情,设身处地地思考用户需求.一套科学的标签体系,能够赋予用户画像以生气,并在用户获取成本飙涨的市场环境下,以最低的成本最大限度地挖掘客户生命周期的价值.随 ...

  4. 深度解析|互金用户增长模型背后,最底层的逻辑框架

    一.当我们在讨论用户行为时,我们在说什么 1.1 从基础出发,回归初始定义 很多日常脱口而出的词,其实我们并没有思考过它真实的含义.大多数争论和错误决策的起点,也在于定义的不清晰和不一致. 互金运营是 ...

  5. 实战16:RFM实战:基于使用RFM+R模型量化用户价值进行金融产品精准营销

    任务描述:本教程对LendingClub平台贷款数据进行分析并搭建用户画像,学习后可帮助学员在银行,消费金融,现金贷等场景中,实现金融场景下用户画像系统的搭建.多层级标签体系的设计.其中主要由画像体系 ...

  6. 数据分析方法-RFM用户价值分层模型

    这是一个从交易数据反推用户价值的方法 RFM各项定义与影响现象 定义 R(recency):最近一次消费 F(frequency):一定时间内,消费频率 M(monetary):一定时间内,消费金额 ...

  7. kaggle实战—泰坦尼克(五、模型搭建-模型评估)

    kaggle实战-泰坦尼克(一.数据分析) kaggle实战-泰坦尼克(二.数据清洗及特征处理) kaggle实战-泰坦尼克(三.数据重构) kaggle实战-泰坦尼克(四.数据可视化) kaggle ...

  8. Flask项目实战——10—(前台板块页面搭建、文本编辑页面搭建、发布帖子信息前验证权限、帖子模型搭建、发布帖子功能、帖子信息渲染到前后台页面)

    1.前台板块页面搭建 视图文件查询数据传输到前台界面:前台蓝图文件:apps/front/views.py 注意数据的收集方法和数据传输的类型. # -*- encoding: utf-8 -*- & ...

  9. rfm模型python_数据分析实战——用RFM模型分析客户价值

    数据分析实战--用RFM模型分析客户价值 阿雷边学边教python数据分析第4期--数据可视化 一.介绍什么是RFM模型和作用 1.什么是RFM模型 RFM模型是衡量客户价值的一种工具,该模型通过客户 ...

最新文章

  1. iOS开发业界毒瘤 Hook
  2. 积少成多 Flash(ActionScript 3.0 Flex 3.0) 系列文章索引
  3. 固态硬盘是什么接口_SATA接口和M.2接口的固态硬盘哪个好?SATA接口和M.2接口的区别...
  4. 你需要来自trustedinstaller的权限才能删除_前后端分离后的权限控制设计方案
  5. Cpp 对象模型探索 / 多重继承下基类指针释放子类对象的原理说明(虚析构函数的作用)
  6. vga焊接线顺序_焊接工艺问答,不做焊接也要收藏起来
  7. Java面试题:IO流的标准处理异常的代码
  8. link标签中的integrity和crossorigin字段---web前端工作笔记015
  9. elementui 表头错位解决方法
  10. UE4蓝图教程(1)
  11. java jsp中文乱码怎么解决_分享JSP中文乱码解决方法
  12. 无法打开计算机的组策略,本地组策略编辑器打不开?Win7本地组策略编辑器无法打开的解决方法...
  13. 想做个磁力链搜索引擎 3
  14. java poi excel 图表_【JAVA】POI生成EXCEL图表(柱状图、折线等)
  15. ros学习——gmapping建图
  16. 原生js 给动态添加的元素添加(事件监听器)
  17. 【NISP一级】2.2 身份鉴别与访问控制
  18. Redisson的看门狗watchDog机制是怎么实现的?
  19. pandas数据处理基础之标准化与标签数值化
  20. 《大数据》第七章 聚类 K-means算法 BFR算法 CURE算法

热门文章

  1. 人工智能芯片设计pdf_在芯片设计中引入人工智能
  2. Mybatis报错: Invalid bound statement (not found)...
  3. pascal行人voc_利用Pascal VOC目标检测数据深度学习进行目标检测
  4. Binlog参考资料
  5. 横向排列两个多个div盒子的方法(CSS浮动清除float-clear/inline)/办法
  6. 百度地图API的第一次接触——标注和信息窗的使用
  7. 删除指定天数之前的日期文件夹
  8. Orion Network Performance Monitor 软件在网络管理中的应用
  9. 表达式的计算结果必须为节点集 调试
  10. flask上下文管理机制