MySQL建立RFM模型
1.数据来源
charge_record表数据
提取代码如下:
# coding=utf-8
import pymysql
# 原数据库链接
db1 = pymysql.connect(
host='***',
port=3306, user='***',
passwd='***',
db='***',
charset='utf8')
cursor1 = db1.cursor()
# 定义查询语句
len1 = cursor1.execute('SELECT uid,amount,update_time FROM charge_record WHERE buss_type=0 AND charge_status=2 AND charge_prod_id IS NOT NULL')
# 迁移数据库链接
db2 = pymysql.connect(
host='127.0.0.1',
port=3306, user='root',
passwd='123456',
db='test',
charset='utf8')
cursor2 = db2.cursor()
# 批量插入语句
sql = 'INSERT INTO charge_record(uid,amount,update_time) VALUE(%s, %s,%s)'
# 导入全部数据
data2 = cursor1.fetchall()
cursor2.executemany(sql, data2)
# 提交到数据库
db2.commit()
# 关闭数据库连接
db1.close()
db2.close()
2.RFM值计算(基于MySQL)
-- 计算RFM的值
-- R值的计算
-- R值(近度)= (当前时间-最后一次消费时间)
SELECT uid,max(update_time) 最后一次消费时间,datediff("2020-05-15",max(update_time)) R值 FROM charge_record GROUP BY uid;
-- F值的计算
-- F值(频度)=(客户购买的频次)
SELECT uid,count(distinct(update_time)) F值 FROM charge_record GROUP BY uid;
-- M值的计算
-- M值(额度) = (一段时间的总额或平均额)
SELECT uid,count(distinct(update_time)) F值,sum(amount) 总额,round(sum(amount)/count(distinct(update_time)),2) M值 FROM charge_record GROUP BY uid;
-- 汇总计算
SELECT uid,datediff("2020-05-15",max(update_time)) R值,
count(distinct(update_time)) F值,round(sum(amount)/count(distinct(update_time)),2) M值
FROM charge_record GROUP BY uid;

MySQL建立RFM模型的更多相关文章
- 案例(一) 利用机器算法RFM模型做用户价值分析
一.案例背景 在产品迭代过程中,通常需要根据用户的属性进行归类,也就是通过分析数据,对用户进行归类,以便于在推送及转化过程中获得更大的收益. 本案例是基于某互联网公司的实际用户购票数据为研究对象, ...
- RFM模型
python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...
- RFM模型——构建数据库营销的商业战役!(转)
RFM模型:R(Recency)表示客户最近一次购买的时间有多远,F(Frequency)表示客户在最近一段时间内购买的次数,M (Monetary)表示客户在最近一段时间内购买的金额.一般原始数据为 ...
- 使用ML.NET实现基于RFM模型的客户价值分析
RFM模型 在众多的客户价值分析模型中,RFM模型是被广泛应用的,尤其在零售和企业服务领域堪称经典的分类手段.它的核心定义从基本的交易数据中来,借助恰当的聚类算法,反映出对客户较为直观的分类指示,对于 ...
- vue+nodejs+express+mysql 建立一个在线网盘程序
vue+nodejs+express+mysql 建立一个在线网盘程序 目录 vue+nodejs+express+mysql 建立一个在线网盘程序 第一章 开发环境准备 1.1 开发所用工具简介 1 ...
- RFM模型的变形LRFMC模型与K-means算法的有机结合
应用场景: 可以应用在不同行业的客户分类管理上,比如航空公司,传统的RFM模型不再适用,通过RFM模型的变形LRFMC模型实现客户价值分析:基于消费者数据的精细化营销 应用价值: LRFMC模型构建之 ...
- mysql数据库导出模型到powerdesigner,PDM图形窗口中显示数据列的中文注释
1,mysql数据库导出模型到powerdesigner 2,CRL+Shift+X 3,复制以下内容,执行 '******************************************** ...
- paip.提升性能--- mysql 建立索引 删除索引 很慢的解决.
paip.提升性能--- mysql 建立索引 删除索引 很慢的解决. 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blo ...
- mysql建立数据库的方法
mysql建立数据库的方法 方法一:使用create mysql> create database roudy; Query OK, 1 row affected (0.00 sec) mysq ...
- 数据挖掘应用案例:RFM模型分析与客户细分(转)
正好刚帮某电信行业完成一个数据挖掘工作,其中的RFM模型还是有一定代表性,就再把数据挖掘RFM模型的建模思路细节与大家分享一下吧!手机充值业务是一项主要电信业务形式,客户的充值行为记录正好满足RFM模 ...
随机推荐
- nginx平台初探-4
模块开发高级篇(30%) 变量(80%) 综述 在Nginx中同一个请求需要在模块之间数据的传递或者说在配置文件里面使用模块动态的数据一般来说都是使用变量,比如在HTTP模块中导出了host/ ...
- java多线程---总结(2)
ThreadPoolExecutor 官方API解释线程池的好处: (1)通过重用线程池中的线程,来减少每个线程创建和销毁的性能开销. (2)对线程进行一些维护和管理,比如定时开始,周期执行,并发数控 ...
- AVX512
最近接触到SIMD编码,就不可避免的查到了AVX指令集,两者有什么关系呢,了解一下? 问:AVX是什么? 答:是一套指令集 下面具体看: AVX 以下内容主要转载自:AVX指令集是什么?它的应用又有哪 ...
- ctfshow--web12 glob和show_source命令执行
查看源代码有提示 以为是cmd命令解过输入linux命令愣是没反应后来输入phpinfo()才有回显 原来是被误导了. 一开始想的是直接写入一句话木马 点击查看代码 @eval($_POST['att ...
- react给当前元素添加一个类以及key的作用
给当前元素添加一个类是通过className来处理的: 引入css;直接from XXXX import React, { Component } from "react"; // ...
- C# Winform 实现静态变量属性的值变了,触发事件,类似WPF的双向绑定
在C# WinForms中,虽然没有像WPF那样内置的双向绑定机制,但你可以通过事件和属性封装来实现类似的功能.具体来说,你可以在静态属性的set访问器中触发一个自定义事件,然后在需要的地方订阅这个事 ...
- 埋点-App层丢失率
一.建表语句 create table dws_bhv_habo_measure_lostrate_mb_di( version_flag bigint comment '版本标签 2:web丢失 3 ...
- 如何正确配置 .gitignore 以忽略特定文件夹下的文件(除指定子文件夹外)
在使用 Git 进行版本控制时,.gitignore 文件是一个非常有用的工具,可以帮助我们忽略不需要跟踪的文件或文件夹.然而,有时我们需要忽略某个文件夹下的所有内容,但保留其中的某个子文件夹.本文将 ...
- Redis 持久化原理分析和使用建议
作者:来自 vivo 互联网存储团队- Qiu Xu 本文主要介绍了 Redis 提供的三大持久化机制,即 AOF 日志.RDB 快照以及混合持久化机制. 一.Redis 为什么需要进行持久化 Re ...
- datax从mysql迁移数据到OceanBase
datax部署 下载datax datax下载地址 安装datax tar -zxvf datax.tar.gz 使用datax 使用配置文件 { "job": { "s ...