当前位置: 首页 > 科技观察

Python数据分析必知:TGI索引

时间:2023-03-12 11:52:37 科技观察

这是Python数据分析实战第一例,详细讲解TGI索引,使用Python代码实现基本的TGI偏好分析。经常有一些专业的数据分析报告会提到TGI指数,比如“基于某个TGI指数,我们发现某类用户更喜欢XX”。对于不熟悉TGI定义的同学,看到类似的词肯定是一头雾水。这次我们就来说说什么是TGI指数,以及如何实现一个简单的基于案例数据的TGI偏好分析。内政未定。网上搜了一下,对于TGI指数,维基百科是这样解释的——TGI指数,全称TargetGroupIndex,可以反映目标群体在特定研究范围内的强弱。很好,这个解释揭示了官方中的专业性,专业性中弥漫着晦涩难懂,让人半懂半懂。粗略地翻译一下,TGI指数是响应偏好的指标。这个还是不够清楚,我们结合公式来理解吧。TGI指数计算公式=目标人群中具有某种特征的人群比例/人群中具有相同特征的人群比例*标准数字100是不是更晕了?晕是对的!不晕还能聊什么?01指标拆解在TGI计算公式中,需要进一步拆解三个关键点:某个特征、总体人群、目标人群。随便举个例子,假设我们要研究A公司的脱发TGI指数:某个特征就是我们要分析的某种行为或状态,这里是脱发(或被脱发困扰)的总体人群,这就是我们研究的所有对象,即A公司老板的目标群体是我们整体感兴趣的群体。假设我们关注的群体是数据部门,那么目标群体就是数据部门。因此,公式中的分子“目标人群中具有某种特征的人群比例”可以理解为“数据部门脱发人数与数据部门脱发人数的比值”,假设有15数据部门的人和9个人脱发,那么数据部门脱发的人的比例是9/15,等于60%。分母“具有相同特征的群体在人群中的比例”相当于“公司内受脱发困扰的人数占公司总人数的比例”。假设公司一共500人,有120人受脱发困扰,那么这个比例是24%,所以数据部门的脱发TGI指数可以是60%/24%*100=250,其他部门脱发TGI指数的计算逻辑是一样的,比例这个地区脱发的人数部门/公司脱发人数*100即可。TGI指数大于100,说明某类用户对应的倾向或偏好较多。值越大,倾向和偏好越强;小于100,表示该类用户的相关倾向较弱(与平均值相比);等于100是平均水平。刚才的例子,我们数据部的脱发TGI指数是250,远高于100,看来搞数据的脱发风险极高,而数据才是真正的脱发驱动因素。接下来我们用一个案例来巩固一下概念上的理解,顺便和潘师傅(Pandas)打一架。02TGI案例分析项目背景BOSS抛出一个订单明细,“小Z,我们最近要推出一款客单量比较高的产品,打算先在一些城市试一下,看看这个数据,哪些城市人单量高订单偏好,帮我选5。”小Z赶紧打开表格看看数据是什么样子的:订单数据包括品牌名称、买家名称、支付时间、订单状态、地区等字段。一共有28832条数据,没有空值。简单看了下源数据,小Z很快理清了数据需求:“领导,客户订单比较高的定义是什么?”“根据我们的产品线和历史数据,单次购买50元以上的就属于高客单。”customers."确定了高客单后,我们的目标就很明确了:根据高客单的偏好对城市进行排序。这里的偏好可以通过TGI指数来衡量。我们再回顾一下TGI的三个核心点:特点,高客单,也就是单次购买50元以上的目标客户群,也就是各个城市,这里我们可以把所有城市分别算出来,至于客户的高单偏好,就很直白了。解决问题的关键是计算高客单的数量及其在不同城市的占比,在标记单个用户的第一步,我们先判断每个用户是否属于高客单人群,因此我们分组usersbynickname先看每个用户的平均支付金额,这里取平均值是因为有些客户多次购买,每次下单的金额都不一样,所以取平均值。定义一个判断函数。如果单个用户的平均支付金额大于50,则标记为“高客单”类别,否则为低客单,然后使用apply函数调用:这里是用户根据高低客的初步标记命令已经完成Finish。匹配城市单个用户的金额和订单标签已经完成,接下来就是添加每个用户的region字段,一个pd.merge函数就可以完成。由于源数据还没有去重,所以我们要先通过昵称去重,否则匹配结果中会有很多重复数据:计算高客单TGI指数计算计算各城市的高客单TGI指数,需要获取每个城市客户订单高低分别有多少人。如果使用EXCEL的数据透视表,处理起来非常简单。只需将省市拖到行位置,将订单类别拖到列位置,数值选择一个字段即可,只要是统计即可。不要慌,这组操作用Python实现起来非常容易。pivot_table数据透视表功能可以一行完成:这样得到的结果包括一个层次索引。对于客户名单栏目,需要先索引“买家昵称”,再索引“高客户名单”:这样就得到了各省市的高客户订单数量,然后是数量得到lowcustomerorders的数量,横向合并:我们看每个城市的总人数和highcustomerorders的占比,完成“目标人群中具有某种特征的人群比例”的计算:一些非常小的城市,高客户订单数或低客户订单数等于1甚至没有,这些值,尤其是空值,会影响结果的计算。我们需要提前查一下数据:果然高客单和低客单都有空值(可以理解为0),导致总人数也有空值,而TGI指标对空值意义不大,所以我们剔除空值的行:然后统计高客单人群占总人数的比例,比较公式中的分母"Proportionofgroupswith种群中的相同特征”:最后一步就是TGI指数的计算,顺便整理一下:得出结果后,小Z兴奋地第一时间向老板汇报。回车前,我又看了一眼数据,发现一个严重的问题:高客单TGI指数最高的城市,总客数几乎不超过10个,这样的高客单人口比例,一点说服力都没有.力量。TGI指数可以体现偏好的强弱,但容易让人忽略具体的样本量,需要特别注意。该怎么办?为了加强数据的整体可靠性,小Z决定先筛选总人数,以总人数的平均值作为阈值,只保留总人数大于average:经过处理,小Z觉得数据合理多了。