在医药行业中,促销活动是提升品牌销售的重要手段。常见的促销渠道包括面对面沟通、网络研讨会、行业大会、医学期刊和各类活动等。然而,超过一定程度后,某些促销渠道对销售的影响会减弱,因此需要找到最优值,即特定渠道对品牌销售最有效的点。在为一个客户工作时,发现手头只有销售和代表访问数据,需要利用这些数据构建一个促销响应模型。本文将分享构建促销响应模型的框架。
访问数据告诉销售代表对不同医疗专业人士(HCP)进行了多少次访问,包括销售代表ID、销售代表的地区、产品名称、城市、区域、邮政编码、访问次数和HCP ID。销售数据则告诉不同医疗机构(HCO)的销售数量,包括月度销售、HCO ID和产品名称。
通常,一个HCO会分配多个HCP。以阿波罗医院为例,医院有多个不同科室的医生,所有医生都有一个HCP ID,而阿波罗医院有一个HCO ID。因此,可以理解为多个HCP被分配到一个HCO。那么,如何比较销售和访问数据呢?访问数据在HCP层面,而销售数据在HCO层面。为了比较销售和访问数据,有两种选择:可以将与一个HCO相关的多个HCP合并,并将个别HCP的访问上报到HCO层面;可以将销售分配给与一个HCO相关的所有HCP。由于访问数据在HCP层面,因此建议仅在HCP层面构建响应模型。因此,将采用第二种方法。
1. 分析访问数据,寻找任何特别的月度模式。2. 分析销售数据,寻找任何特别的模式或季节性。3. 将销售分配给个别HCP。4. 在HCP层面合并访问和销售数据。5. 创建销售和访问的滞后特征。6. 创建响应模型方程。
假设有以下访问和销售数据,以及HCP和HCO的映射数据。将讨论这些要点的详细信息。
可以按月度聚合销售数据,以寻找任何模式或季节性。在进行任何建模之前,对数据进行探索性数据分析(EDA)总是好的。可以检查数据的移动平均值,以确认月度销售是否有任何异常。
还可以检查聚合的访问数据,以查看访问次数是增加还是减少。需要注意的一个重点是,只取了访问数据,但通常,这些访问数据被细分为其他多个组成部分,如面对面访问、远程访问、活动或团体访问。因此,如果将访问细分为不同的部分,复杂性将增加,因为将有多个维度来分析访问对销售的影响。
在初步的EDA之后,将使用映射表合并销售和访问数据,并将HCP映射到HCO。现在重要的问题是,如何将销售分配给HCO的多个HCP?最简单的方法是将相等的销售分配给所有HCP。但在任何医院,可能有一个HCP比其他HCP推动更多的销售,所以最终将较少的销售分配给那个HCP。
还有另一种方法,将根据他们收到的销售代表访问次数将销售分配给HCP。假设是,高收入驱动的HCP通常会收到更多的销售代表访问,这通常是销售代表遵循的。
HCP销售 = HCO销售 * HCP访问次数 / 对应HCO的总HCP访问次数
可以参照下面的表格,其中合并了销售和访问数据,并以HCP层面呈现数据,为每个HCP都有访问和销售。
现在将进入这个练习的重要部分,即为销售和访问创建滞后特征。为什么需要滞后特征?如果销售代表给任何HCP打电话,那么访问的即时效果将不会在本月显现,而是在未来。因此,创建滞后特征很重要,这样就可以关注历史访问对销售的影响。
将为访问和销售创建3个滞后参数,如下:
访问/销售滞后参数1 = 上个月的访问/销售
访问/销售滞后参数2 = 上个月之前的访问/销售
访问/销售滞后参数3 = 滞后参数2之前的访问/销售
一旦创建了滞后参数,就可以创建以下方程来构建响应模型。构建以下方程的完整Python代码将在本文的下一部分提供。
销售 = a0 + a1*销售1 + a2*销售2 + a3*销售3 + A*(1 – exp(-C*(访问 + c1*访问1 + c2*访问2 + c3*访问3)))
a0 基础(品牌资产)
A 渐近线
a1,a2 和 a3 销售的滞后系数
c1,c2 和 c3 访问的滞后系数
A 渐近线
C 可以变化的参数值,用于生成不同的模型输出并使其线性化