数据分析及数据分析的工作流程

2023-05-16

1. 什么是数据分析


    数据分析是根据业务问题,对数据进行收集,清洗,处理和建模的过程,用于识别有助于业务的信息,获取关键业务结论并辅助决策

界定业务问题(以宜家为例) 


WHAT 

通过顾客购买产品所产生的营业收入和利润数据,随时了解企业的经营状况 
问题:

  • 我们这个月的收入和利润如何?
  • 每个顾客在我店里大概都会花多少钱?
  • 家具类产品里面是沙发卖的好还是桌子好? 

WHY 

通过数据挖掘,发现与 17年相比,18年的用户花费在高价产品(2000+)的比例少了很多 
问题转变为:

  • 为什么顾客购买的平均单价在下降? 
  • 我们在这里对数据进行了深挖,可以看到,和 18年相比, 19年的用户花费在高价产品(2000+)的比例少了很多, 
  • 背后的原因可能涉及到经济,市场和其他等因素,但对宜家来说,直接的原因就是用户没有花钱在价格高的产品上。 


HOW 
 
采取“精准营销”模式,识别高价值顾客,实施针对性的营销方案,发放专属优惠券促进顾客购买。 .此时,问题拆分为: 
1.定义高价值顾客,并从数据中识别高价值顾客的具体特征; 
2.选择那些在收到优惠券之后使用的顾客,将优惠券推送至会员卡,并跟踪分析后续的使用和购买情况。

定义好问题和分析计划的步骤

界定业务问题与分析计划 


Step 1识别关键环节,将 What 转变为 Why 

  • 与关键的业务人员一同参与,识别能用数据驱动业务发展的关键环节。 

  • 业务人员从自身角度出发往往是带着 WHAT问题而来, 

  • 我们需要用数据引导他们走向 WHY/HOW的问题层。 

Step 2选择分析计划 

  • 根据业务目标找到所有可能解决的技术方法与所需数据,选择分析计划。
  • 不同的分析方法在所需的数据准备工作上会有较大差别,实施时间长度也会有所不同,
  • 因此要在这里罗列出各个方案的细节目标与数据需求。 

Step 3明确衡量分析项目成功的标准 
最终哪些数据的变化,能够体现数据分析实现的价值?

数据收集与评估

在收集过程中,我们需要注意的是各数据源的格式以及相关关系,而在评估过程中,主要是数据的完整性,及时性、准确性和一致性

评估整体数据状况

在数据收集过程前---评估各个数据源的完整性和及时性

数据收集 


设想自己要的分析数据集的形态是怎样的 
收取:结合分析问题,确定 “分析单位”,数据围绕 “分析单位”
收集 
拼接:最重要的是注意到表和表之间的关联关系 o一对一 o一对多 o多对多(尽量避免) 
聚合:基于以往工作经验或行业通用的分析框架,对数据进
行聚合,可固化在 SQL代码中形成标签化工具。


在分析数据集后


评估汇总数据的准确性和一致性

经过SQL语言的抽样和聚合处理注意分析数据和原始数据的差异

 
关键的数据——(进行)简单的统计

查询如:用户年龄的最大最小值
订单金额的最大值最小值和分布快速排除在收集数据中
因为SQL语句所产生的问题


数据清洗

数据清洗涉及数据缺失,异常和其他问题的处理 

数据缺失

  • 缺失的信息来自于哪个数据表?在原表中它们也是缺失的吗?
  • 如果在原表也缺失,那么是否是有收集信息的疏漏?

从业务角度上,性别或者收入这类较为敏感的信息,很有可能是因为在注册时就拒绝填写而产生
如果业务团队反馈数据当时是收集过的,那么说明底层数据的录入有问题

  • 缺失信息的比例是多少? 

在排除了系统和流程问题之后,才会考虑技术处理的方法

当缺失比例超过90%→可以进行删除
当缺失比例较低→→可以采用均值,中位数或者回归方式填充

数据异常

o数据有明显违背常识的错误 o数据的离群值 
o特殊数字来标注“缺失值”

数据整理 
.对数据进行统一的格式化和命名规则处理 .对某些信息进行重新编码以满足后续分析需求

数据探索与可视化


在本节中,我们将开始研究我们变量的统计特性,以及不同变量之间的关系。探索性数据分析的主要目标如下: 
1.找数据现象的规律 
2.提出初步的业务洞见 
3.为解决问题提供关键变量在这个阶段中数据可视化将发挥巨大的作用
热力图
用横轴和纵轴列出所有想要分析的变量,两两交叉就可以看到他们的相关关系。特别适合用于直接对数据量较大的、相对原始的数据进行分析。
箱线图
如果一个数据集中包含了一个分类变量和一个或者多个连续变量,那么你可能会想知道连续变量会如何随着分类变量水平的变化而变化,而箱形图就可以提供这种方法。

桑基图
桑基图是一种特定类型的流程图,最初是用来分析电厂生产的能量是流向何处的。业务决策者可以非常直观的看到业务情况,以及是否有需要处理的异常。

地图
地图是一种在地图分区上使用视觉符号(通常是颜色、阴影或者不同疏密的晕线)来表示一个范围值的分布情况的地图。
数据可视化 



寻找数据现象的规律,提出初步的业务洞见,为解决问题提供关键变量
衍生变量 
基于业务需求,在最初的数据架构表之外,产生的变量称为衍生变量 
多维度的衍生变量使得我们后续的分析模型更加准确,如何找到这些变量也依赖于我们对业务的理解
数据探索 
通过数据可视化,实现单变量分布情况分析 .通过数据可视化(热力图、箱线图),获取不同变量之间的相关关系强弱

数据分析模型

是将数据中的洞见转变成商业决策的关键步骤,也是我们所有数据分析工作中最终产生价值的环节。所谓分析模型,就是对数据分析中各种规律的抽象总结。
前情提要:宜家的 2个商业问题 
1.定义高价值顾客,并从数据中识别高价值顾客的具体特征。

2.选择那些在收到优惠券之后使用的顾客,将优惠券推送至会员卡,并跟踪分析后续的使用和购买情况。

1.三个主要的变量:顾客注册时长,会员是否关注微信公众号,以及最近一次购买金额
聚类分析模型用户画像
分类预测模型用户购买行为预测


关键词
聚类分析模型 
.将各个顾客之间距离最近的个体合成一个小群体,直到每个个体都存在于一个小群体,然后我们用类似的方法将小群体合成大群体。 

  • o城市新居住者:购买店面发生改变,送货地址发生改变,购买产品为生活日用类为主,注册手机号与所购买城市不同。 
  • o新婚家庭:顾客为男性为主,购买产品为家具类为主,双人床和衣柜等高价格家具关注度高于其他人群。
  • o初为父母:顾客户女性为主,初次购买儿童 /婴幼儿产品类型。

分类预测模型 
.对每类顾客有个 0到 1的打分,分数越高,使用优惠券的可能性就越高。

选择从高到低依次选择顾客发优惠券,定向营销。

案例

WHAT


每个顾客在宜家大概都会花多少钱? 

  • 分析数据的收集

o设想自己要的分析数据集的形态是怎样的,是分析顾客的购买金额,顾客是“分析单位 ”

o数据的收集应该围绕顾客的信息而来,一行数据对应一个独立用户(遇到数据量极大的分析问题,需要考虑是否对数据进行抽样)

  • 评估整体数据状况 

o评估各个数据源的完整和及时:宜家的会员是在 2-3千万量级,那么统计会员表中 ID的个数应该就在这个范围,否则就应该核查原始表数据是否完整; 
o评估汇总数据的准确性和一致性:简单的核对一下如用户年龄的最大最小值,订单金额的最大值最小值和分布等,确保数据不会因 SQL语句产生问题 

  • 数据清洗和整理

o数据异常的三种情况:

o数据有明显违背常识的错误,如客户 1002的累积销售收入为负五千;

o数据的离群值,如客户 1006收入为一千万,远高于其他收入在几万到几十万水平的用户; 
o特殊数字来标注 “缺失值 ”。 
o前两种处理方式:先检查同一客户原表是否是同样的数值,再检查
此数据是如何收集而来,最后才是如何从技术角度评估是否是离群,通过相关统计指标和诸如设定上下限的方法来处理离群值(后面课程具体讲解)。 
o第三种处理方式:有完善的数据字典查询这个字段的实际情况,如果没有就去和相关团队沟通证实此类问题。

o数据整理

o对数据进行统一的格式化和命名规则处理:宜家数据中用户城市字段,将“上海”和“上海市 ”两种取值进行统一; 
o对某些信息进行重新编码以满足后续分析需求:宜家数据中用户购买的时间和日期,编码成 “工作日,下午,2-4点”,以判断工作日下午和在周末进店的客户差异 


Why 


为什么顾客购买的平均单价在下降? 
通过数据挖掘,可以看到 “和 17年相比,18年的用户花费在高价产品(2000+)的比例少了很多 ”。

  • 确定变量:累计购买总额
  • 最小值,最大值,平均值,方差以及四分位数的取值 

数据可视化与探索

  • o用直方图,横轴表示不同销售收入的分组,纵轴表示对应的用户的数量
  • o单变量数据分类:将顾客按照销售额从高到低排列,将十万个顾客每 1万个分成 1组
  • o热力图,横轴和纵轴列出所有想要分析变量,两两交叉看相关关系
  • o箱线图,将优惠券的使用分成两组,对应的变量是用户注册会员距今的时间,看关系强弱 

How


怎么让顾客在宜家里多花钱?
采取“精准营销”模式,识别高价值顾客,实施针对性的营销方案,发放专属优惠券促进顾客购买。 
.数据分析与模型

o聚类分析:将小群体合成大群体,确定宜家高价值客户的三类人群

o分类预测模型:对每个顾客有个 0到 1的打分,分数越高,使用优惠券的可能性就越高,所以选择从高到低依次选择顾客发优惠券,推进营销

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据分析及数据分析的工作流程 的相关文章

  • day4数组之 删除排序数组中的重复项

    26删除排序数组中的重复项 给定一个排序数组 xff0c 你需要在 原地 删除重复出现的元素 xff0c 使得每个元素只出现一次 xff0c 返回移除后数组的新长度 不要使用额外的数组空间 xff0c 你必须在 原地 修改输入数组 并在使用
  • 爬虫之BeautifulSoup4库详解

    BeautifulSoup4库 和 lxml 一样 xff0c Beautiful Soup 也是一个HTML XML的解析器 xff0c 主要的功能也是如何解析和提取 HTML XML 数据 lxml 只会局部遍历 xff0c 而Beau
  • 在 VirtualBox 中安装 Debian 虚拟机

    在 VirtualBox 中安装 Debian 虚拟机 手把手一步一步带你在VirtualBox中安装Debian虚拟机 xff1b 打开VirtualBox软件点击新建 xff1a 配置信息 xff08 示例 xff09 xff1a 名称
  • 爬虫中国天气网数据并可视化

    中国天气网爬虫数据可视化 爬虫功能网页分析 以华北地区为例分析网页源代码 1 以谷歌浏览器为例分析2 提取特征标签3 分析源代码利用requests库获取目标网页源代码利用BeautifulSoup库提取天气信息港澳台地区代码分析分析数据数
  • day5刷题之 删除排序数组中的重复项 II

    80 删除排序数组中的重复项 II 难度中等361 给定一个增序排列数组 nums xff0c 你需要在 原地 删除重复出现的元素 xff0c 使得每个元素最多出现两次 xff0c 返回移除后数组的新长度 不要使用额外的数组空间 xff0c
  • day7刷题之二分搜索2

    33 搜索旋转排序数组 难度中等1187收藏分享切换为英文接收动态反馈 升序排列的整数数组 nums 在预先未知的某个点上进行了旋转 xff08 例如 xff0c 0 1 2 4 5 6 7 经旋转后可能变为 4 5 6 7 0 1 2 x
  • day6刷题之二分搜索1

    二分查找代码 class Solution public int searchInsert int nums int target int left 61 0 right 61 nums length 1 注意循环条件 while left
  • 正则表达式补充篇

    1 re match和re search match 和search 的区别 xff1a match xff08 xff09 函数只检测RE是不是在string的开始位置匹配 xff0c search 会扫描整个string查找匹配matc
  • 爬虫实战之爬取古诗文网站 (详细)

    爬取古诗文网站 重点是练习正则表达式的使用 链接变化 url base 61 39 https www gushiwen cn default aspx 39 for i in range 1 2 print 39 正在爬取第 页 xff1
  • 利用Python爬取糗事百科段子信息

    有个博客很详细https blog csdn net weixin 42488570 article details 80794087 要求 xff1a 用户ID xff0c 用户等级 xff0c 用户性别 xff0c 发表段子文字信息 x
  • 爬虫之数据存储(json,csv,mysql)等

    JSON支持数据格式 xff1a 对象 xff08 字典 xff09 使用花括号 数组 xff08 列表 xff09 使用方括号 整形 浮点型 布尔类型还有null类型 字符串类型 xff08 字符串必须要用双引号 xff0c 不能用单引号
  • MongoDB的安装及配置服务及使用

    安装配置 https blog csdn net heshushun article details 77776706 1 先在安装目录data文件下创建一个新文件夹log xff08 用来存放日志文件 xff09 2 在Mongodb安装
  • python多线程学习

    Python3 线程中常用的两个模块为 xff1a thread xff08 已经废弃 xff09 threading 推荐使用 线程模块 Python3 通过两个标准库 thread 和 threading 提供对线程的支持 thread
  • 爬虫实战之多线程下载表情包

    一般下载 import requests from lxml import etree import os import re from urllib request import urlretrieve headers 61 39 Use
  • 卷积padding,kernel_initializer

    TensorFlow和 keras layers convolutional Conv1D和tf layers Conv1D函数 keras layers convolutional Conv1D filters kernel size s
  • python刷题之链表常见操作

    链表常用操作 也可以把列表当做队列用 xff0c 只是在队列里第一加入的元素 xff0c 第一个取出来 xff1b 但是拿列表用作这样的目的效率不高 在列表的最后添加或者弹出元素速度快 xff0c 然而在列表里插入或者从头部弹出速度却不快
  • 刷题之链表

    链表相关 19 删除链表的倒数第 N 个结点 难度中等1261收藏分享切换为英文接收动态反馈 给你一个链表 xff0c 删除链表的倒数第 n 个结点 xff0c 并且返回链表的头结点 进阶 xff1a 你能尝试使用一趟扫描实现吗 xff1f
  • 高级爬虫: 使用 Selenium 浏览器

    安装Selenium和chromedriver xff1a 因为 Selenium 需要操控你的浏览器 所以安装起来比传统的 Python 模块要多几步 先在 terminal 或者 cmd 用 pip 安装 selenium python
  • python刷题之栈和队列

    20 有效的括号 难度简单2228 给定一个只包括 39 39 xff0c 39 39 xff0c 39 39 xff0c 39 39 xff0c 39 39 xff0c 39 39 的字符串 s xff0c 判断字符串是否有效 有效字符串

随机推荐

  • python实现堆的基本操作及堆相关练习

    堆 heap 又被为优先队列 priority queue 尽管名为优先队列 xff0c 但堆并不是队列 回忆一下 xff0c 在队列中 xff0c 我们可以进行的限定操作是dequeue和enqueue dequeue是按照进入队列的先后
  • python刷题之集合、哈希表常见操作及练习

    集合 集合是一个无序不重复元素的集 基本功能包括关系测试和消除重复元素 可以用大括号 创建集合 注意 xff1a 如果要创建一个空集合 xff0c 你必须用 set 而不是 xff1b 后者创建一个空的字典 xff0c 下一节我们会介绍这个
  • 用selenium爬取拉勾网职位信息及常见问题处理

    初步爬虫框架构造 下面采用selenium进行爬虫 xff0c 首先构造一下爬虫的框架 xff0c 将整个程序构造为一个类 xff0c 其中主要包括 xff1a 获取每个详细职位信息的链接 xff08 parse page url xff0
  • Scrapy爬虫快速入门

    Scrapy快速入门 Scrapy框架模块功能 xff1a Scrapy Engine xff08 引擎 xff09 xff1a Scrapy框架的核心部分 负责在Spider和ItemPipeline Downloader Schedul
  • 嵌入式系统USB CDROM虚拟光驱驱动程序开发

    带U盘功能的的USB接口设备已经越来越常见了 如果能够把产品说明书或者产品设备驱动程序做成一个USB CDROM xff0c 那该多方便 假设 xff1a 你已经有了USB mass storage驱动 你的任务是在此基础上增加一个USB
  • Redis集群原理详解

    一 Redis集群介绍 xff1a 1 为什么需要Redis集群 xff1f 在讲Redis集群架构之前 xff0c 我们先简单讲下Redis单实例的架构 xff0c 从最开始的一主N从 xff0c 到读写分离 xff0c 再到Sentin
  • python刷题之快慢指针与二分查找

    141 环形链表 难度简单986 给定一个链表 xff0c 判断链表中是否有环 如果链表中有某个节点 xff0c 可以通过连续跟踪 next 指针再次到达 xff0c 则链表中存在环 为了表示给定链表中的环 xff0c 我们使用整数 pos
  • LeetCode每日一题

    191 位1的个数 难度简单290 编写一个函数 xff0c 输入是一个无符号整数 xff08 以二进制串的形式 xff09 xff0c 返回其二进制表达式中数字位数为 39 1 39 的个数 xff08 也被称为汉明重量 xff09 提示
  • scrapy模拟豆瓣登录

    看的课程是21天搞定分布式爬虫 xff0c 应该是几年前的了 xff0c 课程当时还是验证码 xff0c 现在登录和之前都不一样了现在需要你拖动滑块完成拼图 之前的页面 现在验证码都变成拼图了 学学原理吧 首先创建scrapy项目 首先进入
  • 利用Scrapy框架爬取汽车之家图片(详细)

    爬取结果 爬取步骤 创建爬虫文件 进入cmd命令模式下 xff0c 进入想要存取爬虫代码的文件 xff0c 我这里是进入e盘下的E pystudy scraping文件夹内 C Users wei gt E E gt cd E pystud
  • Scrapy框架下载器和随机请求头

    下载器中间键可以为我们设置多个代理ip与请求头 xff0c 达到反反爬虫的目的 下面是scrapy为我们创建好的中间件的类 Process request self request spider 参数 request 发送请求的reques
  • scrapy爬取完整网页完整数据,简书(最新)

    需求 xff1a 简书网站整站爬虫 数据保存到mysql数据库中 将seleniume 43 chromedriver集成到scrapy 爬取结果如下 xff1a 安装Selenium和chromedriver xff1a https bl
  • 图和图的基本知识

    1 1 图的表示 1 2 图的特性 子图Subgraph 连通分量Connected Component 接通图Connected Graph 最短路径Shortest Path 图直径Diameter 1 3 图中心性 Centralit
  • BFS和DFS的python实现(要记住)

    BFS DFS python模板与实现 BFS模板 1 无需分层遍历 while queue 不空 xff1a cur 61 queue pop for 节点 in cur的所有相邻节点 xff1a if 该节点有效且未访问过 xff1a
  • BFS与 DFS题目练习(python)

    107 二叉树的层序遍历 II 难度中等423 给定一个二叉树 xff0c 返回其节点值自底向上的层序遍历 xff08 即按从叶子节点所在层到根节点所在的层 xff0c 逐层从左向右遍历 xff09 例如 xff1a 给定二叉树 3 9 2
  • LeetCode每日一题-合并两个有序数组

    88 合并两个有序数组 难度简单878 给你两个有序整数数组 nums1 和 nums2 xff0c 请你将 nums2 合并到 nums1 中 xff0c 使 nums1 成为一个有序数组 初始化 nums1 和 nums2 的元素数量分
  • debian 系统无声音

    系统识别了硬件 xff0c 加载了内核 可是就是没声音 在基础条件都满足的情况下 xff0c 尝试输入 xff1a sudo alsactl init 反正我是一输入声音就出来了 转载于 https my oschina net skyoo
  • 爬虫实战-爬取房天下网站全国所有城市的新房和二手房信息(最新)

    看到https www cnblogs com derek1184405959 p 9446544 html项目 xff1a 爬取房天下网站全国所有城市的新房和二手房信息和其他博客的代码 xff0c 因为网站的更新或者其他原因都不能正确爬取
  • pytorch 模型保存与加载 cpu转GPU

    model eval 的重要性 在2 中最后用到了model eval 是因为 只有在执行该命令后 34 dropout层 34 及 34 batch normalization层 34 才会进入 evalution 模态 而在 34 训练
  • 数据分析及数据分析的工作流程

    1 什么是数据分析 数据分析是根据业务问题 xff0c 对数据进行收集 xff0c 清洗 xff0c 处理和建模的过程 xff0c 用于识别有助于业务的信息 xff0c 获取关键业务结论并辅助决策 界定业务问题 xff08 以宜家为例 xf