数据库TGI指数举例分析

发布时间:2021-12-08 09:39:40 作者:iii
来源:亿速云 阅读:317

本篇内容介绍了“数据库TGI指数举例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

引言

经常有一些专业的数据分析报告,会提到TGI指数,例如“基于某某TGI指数,我们发现某类用户更偏好XX”。对于不熟悉TGI定义的同学,看到类似的话一定是云山雾罩。这次,我们就来聊一聊什么是TGI指数以及怎么样结合案例数据实现简单的TGI偏好分析

对于TGI指数,百科是这样解释的——TGI指数,全称Target Group Index,可以反映目标群体在特定研究范围内强势或者弱势。

很好,这个解释官方中透漏着专业,专业中弥漫着晦涩,晦涩的让人似懂非懂。粗暴翻译下来,TGI指数是反应偏好的一种指标。这样还是不够清楚,我们结合公式理解一下。

TGI指数计算公式 = 目标群体中具有某一特征的群体所占比例 / 总体中具有相同特征的群体所占比例 * 标准数100

是不是更晕了?晕就对了!不晕我们还聊啥呢?

指标拆解

TGI计算公式中,有三个关键点需要进一步拆解:某一特征总体目标群体

随便举个栗子,假设我们要研究A公司脱发TGI指数:

于是乎,公式中分子目标群体中具有某一特征的群体所占比例可以理解为数据部脱发人数占数据部的比例,假设数据部有15个人,有9个人受脱发困扰,那数据部脱发人数占比就是9/15,等于60%。

而分母总体中具有相同特征的群体所占比例,等同于全公司受脱发困扰人数占公司总人数的比例,假设公司一共500人,有120人受脱发困扰,那这个比例是24%。

所以,数据部脱发TGI指数,可以用60% / 24% * 100 = 250,其他部门脱发TGI指数计算逻辑是一样的,用本部门脱发人数占比 / 公司脱发人数占比 * 100即可。

TGI指数大于100,代表着某类用户更具有相应的倾向或者偏好,数值越大则倾向和偏好越强;小于100,则说明该类用户相关倾向较弱(和平均相比);而等于100则表示在平均水平。

刚才的例子中,我们瞎掰的数据部脱发TGI指数是250,远远高于100,看来搞数据的脱发风险极高,数据才是真正的发际线推手数据库TGI指数举例分析
下面,我们通过一个案例来巩固概念理解,顺便熟练Pandas。

TGI实例分析

背景:我们最近要推出一款客单比较高的产品,打算在一些城市先试销,看看这个数据,哪些城市的人有高客单偏好,帮我筛选5个。

看看数据到底长什么样子:数据库TGI指数举例分析
数据库TGI指数举例分析
订单数据包括品牌名买家姓名付款时间订单状态地域等字段,一共28832条数据,没有空值。
客单比较高的定义 = 产品线和历史数据来看,单次购买大于50元就算高客单的客户了。

确认了高客单之后,我们的目标非常明确:按照高客单偏好给城市做个排序。这里的偏好,可以用TGI指数来衡量,我们再次复习下TGI三个核心点:

解题的关键在于,计算出不同城市,高客单人数及所占的比例

单个用户打标

第一步,我们先判断每个用户是否属于高客单的人群,所以先按用户昵称进行分组,看每位用户的平均支付金额。这里用平均,是因为有的客户多次购买,而每次下单金额也不一样,故平均之。
数据库TGI指数举例分析
接着,定义一个判断函数,如果单个用户平均支付金额大于50,就打上高客单的类别,否则为低客单,再用apply函数调用:

def if_high(x):if x>50:return '高客单'else:return '低客单'

数据库TGI指数举例分析
到这里基于高低客单的用户初步打标已经完成。

匹配城市

单个用户的金额和客单标签已经搞定,下一步就是补充每个用户的地域字段,一句pd.merge函数就能搞定。由于源数据是未去重的,我们得先按昵称去重,不然匹配的结果会有许多重复的数据:

df_dup = df.loc[df.duplicated('买家昵称')==False,:]df_merge = pd.merge(gp_user,df_dup,left_on='买家昵称',right_on='买家昵称',how='left')df_merge.head()

数据库TGI指数举例分析

高客单TGI指数计算

要计算每个城市高客单TGI指数,需要得到每个城市高客单、低客单的人数分别是多少。如果用EXCEL的数据透视表处理起来就很简单,直接把省份和城市拖拽到行的位置,客单类别拖到列的位置,值随便选一个字段,只要是统计就好。

不要慌,这一套操作,Python实现起来也灰常容易,pivot_table透视表函数一行就搞定:

df_merge = df_merge[['买家昵称','客单类别','省份','城市']]result = pd.pivot_table(df_merge,index=['省份','城市'],columns='客单类别',aggfunc='count')result.head()

数据库TGI指数举例分析

这样得到的结果包含了层次化索引,受篇幅限制就不展开讲,我们只要知道要索引得到“高客单”列,需要先索引买家昵称,再索引高客单

result['买家昵称']['高客单'].reset_index().head()

数据库TGI指数举例分析
这样,拿到了每个省市的高客单人数,然后再拿到低客单的人数,进行横向合并:

tgi = pd.merge(result['买家昵称']['高客单'].reset_index(),result['买家昵称']['低客单'].reset_index(),left_on=['省份','城市'],right_on=['省份','城市'],how='inner')tgi.head()

数据库TGI指数举例分析
我们再看看每个城市总人数以及高客单人数占比,来完成目标群体中具有某一特征的群体所占比例这个分子的计算:

tgi['总人数'] = tgi['高客单'] + tgi['低客单']tgi['高客单占比'] = tgi['高客单']/tgi['总人数']tgi.head()

数据库TGI指数举例分析
有些非常小众的城市,高客单或者低客单人数等于1甚至没有,而这些值尤其是空值会影响结果的计算,我们要提前检核数据:

数据库TGI指数举例分析
果然,高客单和低客单都有空值(可以理解为0),从而导致总人数也存在空值,而TGI指数对于空值来说意义不大,所以我们剔除掉存在空值的行:

tgi = tgi.dropna()

接着统计总人数中,高客单人群的比例,来对标公式中的分母总体中具有相同特征的群体所占比例
数据库TGI指数举例分析
最后一步,就是TGI指数的计算,顺便排个序:

tgi['高客单TGI指数'] = tgi['高客单占比']/ total_percentage *100tgi = tgi.sort_values('高客单TGI指数',ascending=False)tgi.head(10)

数据库TGI指数举例分析
发现了一个严重的问题:高客单TGI指数排名靠前的城市,总客户数几乎不超过10人,这样的高客单人口占比,完全没有说服力。 TGI指数能够显示偏好的强弱,但很容易让人忽略具体的样本量大小,这个是需要格外注意的。
怎么办呢?为了加强数据整体的信度,先对总人数进行筛选,用总人数的平均值作为阈值,只保留总人数大于平均值的城市:

tgi.loc[tgi['总人数'] > tgi['总人数'].mean(),:].head(10)

数据库TGI指数举例分析

“数据库TGI指数举例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. mysql举例分析
  2. 数据库触发器举例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

数据库

上一篇:MySQL数据库的主从配置有哪些问题

下一篇:云服务器不能远程登录-CredSSP的解决方案是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》