Jaccard相似度在竞品分析中的应用
上个月对一个小项目的效果进行改进,时间紧,只有不到一周的时间,所以思考了一下就用了最简单的方法来做,效果针对上一版提升了5%左右,跟大家分享一下(项目场景用的类似的场景)
项目场景:分析一个产品的竞品,譬如app的竞品、网站的竞品等等
项目分析:简单来说就是竞品分析,竞品分析有很多比较成熟的方法,但是我认为,竞品分析其实和推荐有着很大的相关性。譬如我要分析一个技术网站的竞品有哪些,通俗点说,就是看一个用户经常访问哪些网站、不同类的用户访问网站的偏好是什么、在同类技术网站里与之定位想进,用户人群相似的网站有哪些等等。抽象来看,即可得出两个关键词:用户和物品(或者说物品和竞品)。这个关键词是不是很熟悉?在推荐里我们经常会遇到item和user之间的相似度,那么竞品分析其实也可以同类化于相似度的计算问题。
具体做法:提到相似度计算,会想到很多方法,常见的欧几里得距离,余弦计算,皮尔逊距离等等,对于不同的距离计算,有不同的适用条件,之前总结过一个关于相似度计算的文章,只不过觉得不是很完善,所以一直没有发出来。这次做竞品分析的时候突然想起了Jaccard相似度。那么Jaccard相似度是什么呢?简单说下公式:
给定两个集合A和B,A和B的Jaccard相似度 = |A与B的交集元素个数| / |A与B的并集元素个数|
那么这样一个公式是来应用到竞品分析中的呢?我们假设一个场景:
喜欢博客园的用户也喜欢浏览知乎、CSDN、Github等,喜欢知乎的用户也喜欢浏览Github、InfoQ、V2EX、SegmentDefault、博客园等,假设我们根据浏览次数来进行排序,得到两个集合,那么我们可以简化为博客园和知乎的竞品分别为:
博客园=[知乎、CSDN、Github]
知乎=[Github、InfoQ、V2EX、SegmentDefault、博客园]
此时,第一版计算结果:博客园与知乎的Jaccard相似度为= 1 / 7=0.14
这是最简单的Jaccard相似度计算,然而我们发现,逛博客园的经常逛知乎,且知乎权重很高,但是他们俩的相似度却很低,只有0.14,看起来好像并不符合常理,于是,我做了点修改,将需要计算的竞品本身也加入集合,即:
博客园=[博客园、知乎、CSDN、Github]
知乎=[知乎、Github、InfoQ、V2EX、SegmentDefault、博客园]
这样我们再来计算,得到第二版计算结果:博客园与知乎的Jaccard相似度 = 3 / 7 = 0.42
为什么我们要将竞品本身考虑进去呢?其实很简单,以博客园为例,我们的目的是找到博客园的竞品,分析出经常浏览博客园的用户还会经常浏览哪些同类技术网站,那么博客园的用户肯定是经常浏览博客园的,这点显而易见,一个物品本身也是自身的竞品。将要分析的竞品本身加入集合后就可避免我们第一次计算时出现的不符合常识的结果。
但是,还得思考一个问题,博客园对知乎的Jaccard相似度与知乎对博客园的Jaccard相似度应该是一样的吗?按照前两次计算,我们认为是一样的,因为只是考虑的交集的个数,并没有考虑集合中元素所处的位置因素。然而实际上,集合中的元素位置其实是有先后之分的,按降序排列,即竞品相关度是越来越低的。此时未考虑元素的位置因素似乎也有悖尝试。举个例子:一个经常看博客园的用户,也会经常看知乎,那么一个经常看知乎的用户是否也代表也会经常看博客园呢?这个结论与我们给出的条件是相悖的:一个经常看知乎的用户,相比于博客园,更偏好于Github。所以我们得到结论:两个竞品A和B,A对B的重要性不一定等于B对A的重要性。
所以,我们对此进行进一步改进
博客园=[博客园、知乎、CSDN、Github] ====》博客园 = [1.0,0.6,0.3,0.1]
知乎=[知乎、Github、InfoQ、V2EX、SegmentDefault、博客园] ====》知乎 = [1.0,0.55,0.15,0.14,0.11,0.05]
(注:竞品本身加入集合我设定权重为1,其他竞品元素总分为1)
此时,计算得到第三版计算结果:
博客园对知乎的Jaccard相似度 = ( 两者交集的权重得分和/ 两者权重总和 ) * 知乎在博客园集合中所占的权重 = ( 1+0.6+0.1+1+0.55+0.05 / (2+2) )* 0.6 = ( 3.3 /4 )* 0.6 = 0.495
知乎对博客园的Jaccard相似度 = ( 两者交集的权重得分和/ 两者权重总和 ) * 博客园在知乎集合中所占的权重 =( 1+0.6+0.1+1+0.55+0.05 / (2+2) )* 0.05 = ( 3.3 /4 )*0.05 = 0.04
由此可得,博客园与知乎的竞品相似度是不相同的,也符合常理
总结:一开始我想到了很多方法来做,但是时间紧,又要有效果提升,所以尝试对最简单的计算公式做改进达到提升效果的目的,针对每一次计算的结果,结合常识,再来进行一步步改进,最后取得了不错的效果。其实最后的方案还可以做一些改进,如:如何设定权重,如何设定计算公式、是否可以用线性模型拟合、以及最后乘以的权重如果影响太大,是够可以改成根据位置进行指数衰减等等,都可以去尝试,有兴趣的也可以去试一试。如果大家有更好的方法,也可以一起讨论一下:)
Jaccard相似度在竞品分析中的应用的更多相关文章
- 关于Jaccard相似度在竞品分析中的一点思考
上个月对一个小项目的效果进行改进,时间紧,只有不到一周的时间,所以思考了一下就用了最简单的方法来做,跟大家分享一下(项目场景用的类似的场景) 项目场景:分析一个产品的竞品,譬如app的竞品.网站的竞品 ...
- 记账类APP竞品分析-挖财与随手记
注:本文更新中. 一.概览 1. 产品名称及版本 l 挖财11.2.0.0 免费版(2016/9/6发布) l 随手记10.2.8免费版(2016/8/22发布) 2. 设备信息 设备型号:i ...
- TODO 竞品分析方法——关于导航评测的一些笔记
参考:移动App性能评测与优化 chapter4讲了地图怎么测,虽然不测地图,但是里面有关竞品分析的部分写得非常好,很多解决方案真的很精彩.记录一下. 我之前的竞品分析测试,通常是很简单的竞品数据层面 ...
- 公有云厂商DDoS防护产品竞品分析——内含CC的一些简单分析,貌似多是基于规则,CC策略细粒度ip/url//ua/refer
公有云厂商DDoS防护产品竞品分析 from:http://www.freebuf.com/articles/network/132239.html 行文初衷 由于工作关系,最近接触了很多云上用户,对 ...
- 同城速递 & 同城跑腿 & 竞品分析
同城速递 & 同城跑腿 & 竞品分析 toC / toB 闪送 https://www.ishansong.com/ https://www.tianyancha.com/compan ...
- 竞品分析」项目协作管理平台-Teambition和CORNERSTONE--深度体验
一.分析目的 通过分析2B产品中的团队协作管理软件的对比分析,用于为公司团队协作软件的选型做产考. 二.竞品归属市场概况 2.1.目标用户群及需求 主要面向企业用户,用于解决企业不同地域以及不同职能部 ...
- 天天果园,中粮我买网等生鲜APP竞品分析
奈何对生鲜行业的品类,价格,供应链不熟悉,想先从APP开始来了解生鲜行业和各个生鲜企业,若有不足之处,还望海量,也请帮忙指正. 选取了以下竞品:天天果园,易果生鲜,一米鲜,中粮我买网,爱鲜蜂,每日优鲜 ...
- 【竞品分析】Android音乐播放器的竞品分析
迄今为止最长的一篇博客,各位看官笑纳~~ 本次分析基于Android平台,选取了几款我体验过的播放器进行比较分析.主要分为两类,一类是大而全的,功能全面,可满足用户管理歌曲.导入导出歌单等多方面需求, ...
- AI体验类产品竞品分析
1.业界状态 人工智能(Artificial Intelligence),简称AI.上个世纪50年代就有一批年轻的科学家提出了这一概念,经历过50多年的长足发展,信息化建设的脚步不断加快,机器人战胜人 ...
随机推荐
- 在 Vim 中优雅地查找和替换(转)
总有人问我 Vim 中能不能查找,当然能!而且是超级强的查找! 这篇文章来详细介绍 Vim 中查找相关的设置和使用方法. 包括查找与替换.查找光标所在词.高亮前景/背景色.切换高亮状态.大小写敏感查找 ...
- 解决fastJson无序问题
对外提供接口,第三方传过来的参数没问题.可是用fastJson 转换的出现 参数顺序不一致,导致 验签失败 解决fastJosn 转换无序问题 https://github.com/alibaba/f ...
- sublime设置sublimeREPL-python-run current file 快捷键
弄了3个小时的快捷键,一直不能成功使用,百度上一堆一样的方法,最后FQ才找到能用的方法,真是服了. 方法: ①首选项->快捷键设置 填写如下内容: [ {"keys": [& ...
- 自然语言处理(四)统计机器翻译SMT
1.统计机器翻译三要素 1.翻译模型 2.语言模型 3.排序模型 2.翻译流程 1.双语数据预处理 2.词对齐 3.构造短语翻译表 4.对短语翻译表进行概率估计 5.解码,beam search 6. ...
- 「深度剖析」程序员因为奇葩需求暴打pm,然后被双双开除
想必大家都听说了,这两天关于中国平安一个产品经理因奇葩需求和程序员爆发肢体冲突的事件在朋友圈被刷屏,更有现场打架视频在技术群里疯传. 在这里先带大家简单文字回顾下事情经过,N次打架视频和截图就不给大家 ...
- Expedition---POJ - 2431
A group of cows grabbed a truck and ventured on an expedition deep into the jungle. Being rather poo ...
- Web发展史
Web 万维网常称为WWW(World Wide Web)发展至今仅30年,英国计算机科学家,蒂姆 伯纳斯 李爵士 提出了 World Wide Web的设计方案,1990年李爵士完成了Web 所有的 ...
- 前端知识之HTML内容
web服务实质 浏览器发送请求 -->HTTP协议-->服务端接收请求 --> 服务端返回响应 --> 服务端把HTML文件内容发给浏览器 --> 浏览器渲染页面 imp ...
- 亿级SQL Server运维的最佳实践PPT分享
这次分享是我在微软的一次分享,关于SQL Server运维最佳实践的部分,由于受众来自不同背景,因此我让分享在一个更加抽象的角度进行,PPT分享如下: 点击这里进行下载
- Dubbo 分布式事务一致性实现
我觉得事务的管理不应该属于Dubbo框架, Dubbo只需实现可被事务管理即可, 像JDBC和JMS都是可被事务管理的分布式资源, Dubbo只要实现相同的可被事务管理的行为,比如可以回滚, 其它事务 ...