如何使用Power BI计算新客户数量?

每个企业的经营活动都是围绕着客户而开展的,在服务好老客户的同时,不断开拓新客户是每个企业的经营目标之一。

开拓新客户必然要付出一定的费用支出,费用支出除以新客户数,就是新客成本,新客成本的高低也决定了企业的盈利水平。

客户拓展费用支出相对容易衡量,而新客户的数量如何计算呢?

表面上感觉计算起来并不难,但如何从数万笔的订单数据中,快速计算任意一个时间段有多少新客户?使用传统的Excel函数并不是那么容易计算的。

本文就来尝试在PowerBI中,使用度量值来快速计算出新客户数量,以及更进一步,计算出新客户的购买金额。


示例数据模型中有一个订单表和一个日期表,通过订单日期建立关系,先建立两个简单的度量值如下:

客户数 = DISTINCTCOUNT('订单'[客户姓名])

销售金额 = SUM('订单'[销售额])

然后直接写出新客户数量的度量值:

新客户数 =

VAR FirstOrderDate=

ADDCOLUMNS (

ALL ('订单'[客户姓名]),

"首次购买日期",

CALCULATE(

MIN('订单'[订单日期]),

ALLEXCEPT('订单','订单'[客户姓名])

)

)//计算每一个客户的首次购买日期

VAR NewCustomers=

FILTER (

FirstOrderDate,

CONTAINS(

VALUES ('日期表'[日期]),

'日期表'[日期], [首次购买日期]

)

)//返回新客户列表

RETURN

COUNTROWS(NewCustomers)

看起来很长,其实主要就是两个VAR定义的虚拟表,第一个虚拟表FirstOrderDate返回的是所有客户名称以及每一个客户首次购买日期。

这其中只有一个函数之前的文章中没有使用过:ALLEXCEPT,关于该函数的含义和用法可以参考这个函数卡片:

(知识星球中每日函数卡片)

VAR定义的第二个虚拟表NewCustomers,返回的是任意时间段内,新客户的列表

然后使用COUNTROWS(NewCustomers)就计算出了新客户的数量,总客户数减去新客户数量就是老客户数量。

从上表数据中可以看到,第一个月全部是新客户(这里假设是从1月开始经营),到4月开拓的新客户达到峰值,虽然总体客户数量一直在增长,但新客户开拓速度明显下降,后期主要靠老客户的重复购买。

更进一步地,使用度量值来计算新客户的销售金额。

新客户购买金额 =

VAR FirstOrderDate=

ADDCOLUMNS (

ALL ('订单'[客户姓名]),

"首次购买日期",

CALCULATE(

MIN('订单'[订单日期]),

ALLEXCEPT('订单','订单'[客户姓名])

)

)//计算每一个客户的首次购买日期

VAR NewCustomers=

FILTER (

FirstOrderDate,

CONTAINS(

VALUES ('日期表'[日期]),

'日期表'[日期], [首次购买日期]

)

)//返回新客户列表

RETURN

CALCULATE([销售金额],NewCustomers)

这段代码和计算新客户数量的DAX,只有最后一行不一样,计算新客户数量时,使用COUNTROWS返回新客户列表的行数,而这里使用CALCULATE([销售金额],NewCustomers)来计算新客户的销售额。

所以,无论是计算新客户数量还是求新客户的销售额,重点就是如何获得新客户的列表。

同样,总销售金额减去新客户的购买金额,就是老客户的重复购买金额。

上表中外部上下文是每月,实际上,可以选择任意时间段,比如想看看国庆促销期间增加的新客户,只要选择10月1日到10月7日这个期间,上面度量值会立即计算出这7天里增加的新客户和新客户的购买金额。

/前文回顾/

01 如何快速理解一个复杂的DAX?

02 如何用Power BI分析产品关联度?

03 学会了这个思路,你也可以轻松进行周分析!

来知识星球,快速提升PowerBI技能。

(0)

相关推荐

  • 我在生鲜配送行业中遇到的问题一

    生鲜配送业务流程:客户订单-订单汇总-采购-分拣-装车-发货单打印-配送验收-对帐. 第一环节"客户订单"问题: 大白菜,客户下单50斤,但实际只需要你送货40斤.这时,我们的录单 ...

  • 我在生鲜配送行业遇到的问题二

    生鲜配送业务流程:客户订单-订单汇总-采购-分拣-装车-发货单打印-配送验收-对帐. 第一环节"客户订单"问题: 每天给客户配送出去的货物都需要把送货单打印出来随货物一起交到客户的 ...

  • PP-DAX:如何实现模糊匹配的动态计算?

    这是群里朋友提的一个问题:用CALCULATE函数写动态度量值的时候,是否可以计算包含某个文本的内容? 当然,Power Pivot里是不支持使用*号作为通配符的.所以,需要换个方法,比如,以前我们讲 ...

  • 如何用Power BI计算在职员工数量?

    经常碰到的一类问题是,如何根据起止日期来计算某个时间点的数量,比如: 已知合同的生效日期和到期日期,特定日期的有效合同有多少? 已知店铺的开业日期和注销日期,截至目前正在运营的店铺有多少? 已知员工的 ...

  • Power BI的新筛选器,有两个亮点!

    之所以叫新筛选器,是因为PowerBI中一直都有筛选器,之前还介绍过(学会使用PowerBI报表中的筛选器),由于之前的功能在右下角的暗区里,使用起来不是很方便,所以微软在前一段的更新中,改进了筛选器 ...

  • 如何使用Power BI进行流失客户分析?

    为了提升销量,在不断吸引新客户的同时,还要防止老客户离你而去,但每一个顾客不可能永远是你的客户,不可避免的都会经历新客户.活跃客户.流失客户的过程,这个过程也称为客户生命周期. 对客户生命周期管理至关 ...

  • 收藏 | Power BI计算列和度量值,一文帮你搞清楚

    对于初学者,总是会把度量值和计算列搞混,我也经常碰到这样的问题,有些星友用文章中的代码总是报错,发给我一看,才知道TA把本来是度量值的DAX用在了计算列上,或者相反. 即使是已经学习了很长时间的人,对 ...

  • 如何使用Power BI进行回流客户分析?

    如何使用Power BI计算新客户数量? 如何使用Power BI进行流失客户分析? 还有一种情形是,客户超过一定的时间没有购买行为,已定义为流失客户或者睡眠客户,但最近又发生业务的的,也称为回流客户 ...

  • 利用Power BI计算组,动态切换各种范围的数据标签

    上篇文章介绍了利用计算组动态显示最高点和最低点数据标签的案例,其实还可以进一步展开,利用切片器来动态的展示不同范围的数据标签. 比如设计动态的切换,可以显示全部的数据标签,也可以只显示最高最低点的数据 ...

  • 体验 Power BI 新的建模视图

    PowerBI 3月的更新,正式发布了建模视图,而之前只是预览功能.新的建模视图到底有什么用,下面带你认识一下它的主要功能. 认识建模视图 打开PowerBI Desktop,左侧边缘的最下面就是建模 ...

  • 手把手教你学会Power BI排名的计算

    这篇文章来自星友"特别提醒"的分享,作为一个刚学PowerBI不久的同学,尝试着用PowerBI分析一个常见的排名问题,并将操作步骤一步步呈现了出来,值得初学者借鉴哦. 手把手教你 ...

  • Power BI 数据分析应用:客户购买频次分布

    商业数据分析通常都可以简化为对数据进行筛选.分组.汇总的过程,本文通过一个实例来看看PowerBI是如何快速完成整个过程的. 假设数据为一个订单明细表,含有下单日期.客户名称.产品名称等数据,业务需求 ...