hadoop学习---基于hive的航空公司客户价值的LRFCM模型案例

案例需求:

RFM模型的复习

       在客户分类中,RFM模型是一个经典的分类模型,模型利用通用交易环节中最核心的三个维度——最近消费(Recency)、消费频率(Frequency)、消费金额(Monetary)细分客户群体,从而分析不同群体的客户价值。在某些商业形态中,客户与企业产生连接的核心指标会因产品特性而改变。如互联网产品中,以上三项指标可以相应地变为下图中的三项:最近一次登录、登录频率、在线时长

商用航空行业LRFCM模型的推广:

我们说RFM模型由R(最近消费时间间隔)、F(消费频次)和M(消费总额)三个指标构成,通过该模型识别出高价值客户。但该模型并不完全适合所有行业,如航空行业,直接使用M指标并不能反映客户的真实价值,因为“长途低等舱”可能没有“短途高等舱”价值高。考虑到商用航空行业与一般商业形态的不同,决定在RFM模型的基础上,增加2个指标用于客户分群与价值分析,得到航空行业的LRFMC模型:

L:客户关系长度。客户加入会员的日期至观测窗口结束日期的间隔。(反映可能的活跃时长)

R:最近一次乘机时间。最近一次乘机日期至观测窗口结束日期的间隔。(反映当前的活跃状态)

F:乘机频率。客户在观测窗口期内乘坐飞机的次数。(反映客户的忠诚度)

M:飞行总里程。客户在观测窗口期内的飞行总里程。(反映客户对乘机的依赖性)

C:平均折扣率。客户在观测窗口期内的平均折扣率。(舱位等级对应的折扣系数,侧面反映客户价值高低)

-------------------------------------本次练习基于数据源提取上述五个指标分析航空客户商业价值。

数据源:数据源

数据指标说明:

 Hive操作:

 构建数据库表:

reate database air_data_base;
use air_data_base;
create table air_data_table(member_no string,ffp_date string,first_flight_date string,gender string,ffp_tier int,work_city string,work_province string,work_country string,age int,load_time string,flight_count int,bp_sum bigint,ep_sum_yr_1 int,ep_sum_yr_2 bigint,sum_yr_1 bigint,sum_yr_2 bigint,seg_km_sum bigint,weighted_seg_km double,last_flight_date string,avg_flight_count double,avg_bp_sum double,begin_to_first int,last_to_end int,avg_interval float,max_interval int,add_points_sum_yr_1 bigint,add_points_sum_yr_2 bigint,exchange_count int,avg_discount float,p1y_flight_count int,l1y_flight_count int,p1y_bp_sum bigint,1y_bp_sum bigint,ep_sum bigint,add_point_sum bigint,eli_add_point_sum bigint,l1y_eli_add_points bigint,points_sum bigint,l1y_points_sum float,ration_l1y_flight_count float,ration_p1y_flight_count float,ration_p1y_bps float,ration_l1y_bps float,point_notflight int)row format delimited fields terminated by ',';

 将数据源上传到Linux本地文件夹中,再从本地上传到hive数据库中:

load data local inpath '/home/hadoop/air_data.csv' overwrite into table air_data_table;
select * from air_data_table limit 20;

统计观测窗口的票价收入(SUM_YR_1)、观测窗口的总飞行公里数(SEG_KM_SUM)、
平均折扣率(AVG_DISCOUNT)三个字段的空值记录,并将结果保存到名为sum_seg_avg_null的表中:

create table sum_seg_avg_null as select * from
(select count(*) as sum_yr_1_null_count from air_data_table where sum_yr_1 is null) sum_yr_1,
(select count(*) as seg_km_sum_null from air_data_table where seg_km_sum is null) seg_km_sum,
(select count(*) as avg_discount_null from air_data_table where avg_discount is null) avg_discount;

统计观测窗口的SUM_YR_1(票价收入)、SEG_KM_SUM(总飞行公里数)、AVG_DISCOUNT(平均折扣率)三列的最小值sum_seg_avg_min表中:

create table sum_seg_avg_min as select
min(sum_yr_1) as sum_yr_1,
min(seg_km_sum) as seg_km_sum,
min(avg_discount) as avg_discount
from air_data_table;

 数据清洗:

过滤掉票价为空的记录、平均折扣率为0.0的记录、票价为0、平均折扣率不为0、总飞行公里数大于0的记录。

create table sas_not_0 as
select * from air_data_table
where sum_yr_1 is not null andavg_discount <> 0    andseg_km_sum > 0;

提取有用数据项:

create table flfasl as select ffp_date,load_time,flight_count,avg_discount,seg_km_sum,last_to_end from sas_not_0;
select * from flfasl limit 10;

 

--L的构造:会员入会时间距离观测窗口结束的月数 = 观测窗口的结束时间 - 入会时间 [单位:月]
--R的构造:客户最近一次乘坐公司飞机距观测窗口结束的月数 = 最后一次乘机时间至观测窗口末端时长[单位:月]
-F的构造:客户再观测窗口内乘坐公司飞机的次数 = 观测窗口的飞行次数[单位:次]
--M的构造:客户再观测时间内在公司累计的飞行里程 = 观测窗口总飞行公里数[单位:公里]
--C的构造:客户在观测时间内乘坐舱位所对应的折扣系数的平均值 = 平均折扣率 [单位:无]
create table lrfmc as
selectround((unix_timestamp(load_time,'yyyy/MM/dd')-unix_timestamp(ffp_date,'yyyy/MM/dd'))/(30*24*60*60),2) as l,round(last_to_end/30,2) as r,flight_count as f,seg_km_sum as m,round(avg_discount,2) as c
from flfasl;

 数据标准化:

create table standard_lrfmc asselect (lrfmc.l-minlrfmc.l)/(maxlrfmc.l-minlrfmc.l) as l,(lrfmc.r-minlrfmc.r)/(maxlrfmc.r-minlrfmc.r) as r,(lrfmc.f-minlrfmc.f)/(maxlrfmc.f-minlrfmc.f) as f,(lrfmc.m-minlrfmc.m)/(maxlrfmc.m-minlrfmc.m) as m,(lrfmc.c-minlrfmc.c)/(maxlrfmc.c-minlrfmc.c) as cfrom lrfmc,(select max(l) as l,max(r) as r,max(f) as f,max(m) as m,max(c) as c from lrfmc) as maxlrfmc,(select min(l) as l,min(r) as r,min(f) as f,min(m) as m,min(c) as c from lrfmc) as minlrfmc;

数据挖掘:(客户分类)未完待续…… 

参考资料:

26个数据分析案例——第二站:基于Hive的民航客户价值分析

航空公司客户价值分析模型LRFCM

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/317613.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++list的模拟实现

文章目录 一、观察源码二、模拟实现1. 节点结构体2. list类3. 迭代器的定义与实现&#xff08;1&#xff09; 前置--后置--模拟实现&#xff08;2&#xff09; *和->重载模拟实现&#xff08;3&#xff09; 和!重载实现 4. list成员函数模拟实现。&#xff08;1&#xff09;…

Unity Audio Filter 入门

概述&#xff1a; 如果你在你项目中需要一些特殊的声音效果&#xff0c;那这部分声音过滤器的部分一定不要错过喔&#xff0c;让我们来学习这部分的内容吧&#xff01; 这部分理论性比较强&#xff0c;认真看我的注解哈&#xff0c;我尽量解释的易懂一点。 Audio Chorus Filter…

翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习六

合集 ChatGPT 通过图形化的方式来理解 Transformer 架构 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习一翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习二翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深…

基于Springboot+Vue的Java项目-火车票订票系统开发实战(附演示视频+源码+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &am…

html--剑雨

<!doctype html> <html> <head> <meta charset"utf-8"> <title>css3剑雨-jq22.com</title> <script src"http://www.jq22.com/jquery/jquery-1.10.2.js"></script> <style> .sword:before, .sword:…

Docker基础学习(5.Docker镜像命令)

⭐ 作者简介&#xff1a;码上言 ⭐ 代表教程&#xff1a;Spring Boot vue-element 开发个人博客项目实战教程 ⭐专栏内容&#xff1a;个人博客系统 ⭐我的文档网站&#xff1a;http://xyhwh-nav.cn/ ⭐微信公众号&#xff1a;码上言 文章目录 Docker run流程镜像是什么&a…

云计算技术概述_1.云计算相关概念

1.关于IBM“蓝云&#xff08;Blue Cloud&#xff09;”计划 IBM 推出的“蓝云&#xff08;Blue Cloud&#xff09;”计划为客户带来即可使用的云计算(Cloud Computing)。它包括一系列的云计算产品&#xff0c;使计算不仅仅局限在本地机器或远程Server Farms&#…

树莓派点亮LED灯

简介 使用GPIO Zero library 的 Python库实现点亮LED灯。接线 树莓派引脚参考图如下&#xff1a; LED正极 接GPIO17 LED负极 接GND 权限 将你的用户加到gpio组中&#xff0c; 否则无法控制GPIO sudo usermod -a -G gpio 代码 from gpiozero import LED from time impor…

MouseBoost PRO for Mac激活版:强大的 鼠标增强软件

在追求高效工作的今天&#xff0c;MouseBoost PRO for Mac成为了许多Mac用户的得力助手。这款功能强大的鼠标增强软件&#xff0c;以其独特的智能化功能和丰富的实用工具&#xff0c;让您的电脑操作更加便捷、高效。 MouseBoost PRO for Macv3.4.0中文激活版下载 MouseBoost PR…

【Mac】Photoshop 2024 for mac最新安装教程

软件介绍 Photoshop 2024是Adobe公司推出的一款图像处理软件&#xff0c;它支持Windows和Mac OS系统。Adobe Photoshop是业界领先的图像编辑和处理软件之一&#xff0c;广泛用于设计、摄影、数字绘画等领域。 Photoshop 2024的功能包括&#xff1a; 1.图像编辑&#xff1a;提…

图片壁纸社区app前后端开源小程序源码

图片壁纸社区APP前后端开源小程序源码&#xff0c;修改了开源版的前端样式&#xff0c;变成图片社区&#xff0c;也可以用来作为壁纸。 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/89122506 更多资源下载&#xff1a;关注我。

【Unity】修改模型透明度

在 Unity 中修改模型透明度主要有两种方法&#xff1a;通过材质和通过着色器。以下是两种方法的步骤和解释&#xff1a; 方法 1&#xff1a;通过材质 在 Unity 编辑器中&#xff0c;选择你想要修改透明度的模型。在 Inspector 窗口中&#xff0c;找到模型的 Renderer 组件&am…

简约大气的全屏背景壁纸导航网源码(免费)

简约大气的全屏背景壁纸导航网模板 效果图部分代码领取源码下期更新预报 效果图 部分代码 <!DOCTYPE html> <html lang"zh-CN"> <!--版权归孤独 --> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible…

【b站前端-小鑫】Vue Router(路由)快速掌握(入门到精通5节课)

课程地址&#xff1a;【Vue Router(路由)快速掌握&#xff08;入门到精通5节课&#xff09;】 https://www.bilibili.com/video/BV1aP4y1W7Uz/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 1 Vue Router 1.1 Vue Router的安装 1.2 创建路由…

提高 RAG 效果示例配置

提高 RAG 效果示例配置 最近在调整一个学习赛&#xff0c;针对所有问题&#xff0c;为了尽可能的获得答案&#xff0c;尝试了各种配置。 20240501时点&#xff0c;下面配置暂时能够获得测试的所有十几个问题的答案。后续测试再更新更优化的配置。 未完待续&#xff01;

在UI界面中播放视频_unity基础开发教程

在UI界面中播放视频_unity基础开发教程 前言操作步骤结语 前言 之前我写过一篇在场景中播放视频的文章&#xff0c;但是在开发中有时候也会在UI的界面中播放视频&#xff0c;这期我们做一下在UI的界面中播放视频。 操作步骤 首先在场景中创建一个Raw Image&#xff0c;UI->…

手撕spring框架(3)

手撕spring框架&#xff08;3&#xff09; 相关系列 手撕spring框架&#xff08;1&#xff09; 手撕spring框架&#xff08;2&#xff09; InitializingBean 接口详解 什么是 InitializingBean 接口&#xff1f; InitializingBean 接口是 Spring 框架中的一个接口&#xff0c…

与Apollo共创生态:探索自动驾驶的未来蓝图

目录 引言Apollo开放平台Apollo开放平台企业生态计划Apollo X 企业自动驾驶解决方案&#xff1a;加速企业场景应用落地Apollo开放平台携手伙伴共创生态生态共创会员权益 个人心得与展望技术的多元化应用数据驱动的智能化安全与可靠性的重视 结语 引言 就在2024年4月19日&#x…

Golang | Leetcode Golang题解之第60题排列序列

题目&#xff1a; 题解&#xff1a; func getPermutation(n int, k int) string {factorial : make([]int, n)factorial[0] 1for i : 1; i < n; i {factorial[i] factorial[i - 1] * i}k--ans : ""valid : make([]int, n 1)for i : 0; i < len(valid); i {…

C++系列-输入输出

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” C输入和输出 我们都知道C语言的输出是用printf函数来实现的&#xff0c;那么C呢&#xff0c;它的实现逻辑是什么呢&#xff0c;让我们一起来看一下&#xff0c; #include<i…