Tableau 实战案例:企业经营分析看板 您所在的位置:网站首页 经营分析月报 Tableau 实战案例:企业经营分析看板

Tableau 实战案例:企业经营分析看板

2024-07-14 20:35| 来源: 网络整理| 查看: 265

1. 案例背景 1.1 背景介绍

某在线职业教育公司,目前开设有大数据、软件开发、设计、Python四大学院,主打数据分析、 大数据开发、大前端、java工程师、UI设计、PS、Python数据挖掘等课程,覆盖当今互联网企业多个主流热门岗位的职业培训。

该公司是通过 “站内 + 站外广告投放” 的形式获取对课程有需求的潜在学员线索,然后统一由销售顾问团队跟进线索,逐步引导线索学员对体验课进行试听,实现第一步转化,之后再对有大课需求的试听学员做进一步的转化,让其购买平台内的综合大课,成为平台正式学员。

随着该公司业务规模不断壮大,CEO每天都需要看各部门(市场部、教学部、运营部、产品部、研发部……)几十甚至上百张报表才能掌握公司的日常经营情况,占用了他大量时间,而且数据分析人员每天都需要拉数据、做报表,效率非常低,为了解决公司这个问题,数据分析团队搭建了一套BI智能分析的看板,通过该看板能实时掌握公司整体以及各部门的经营现状,能够随时发现、定位问题并及时采取策略进行调整。

三个核心环节:获客 + 试听 + 大课转化

相关技术应用:数据分析思维和方法论 + MySQL + Tableau

目标成果展示:

其中:

板块 1:本月业绩目标达成情况。例如这里本月以 100.42% 的业绩超额达成目标。 板块 2:课程业绩排名。反映了哪些课程对公司的业绩贡献比较大。

板块 3:课程分类。通过月环比增长率和每月目标达成率这两个指标将课程分为 4 个象限:右上角表示当月达成率超过 100% 并且月环比为正增长,说明位于该象限的都是优质课程;左上角表示当月达成率低于 100%(没有达成既定目标)但是月环比为正增长,说明下个月这些课程需要更加努力完成既定目标;左下角表示相比上月呈现环比下降趋势,并且也没有达成目标,说明这些课程质量较低,需要进行课程改革;右下角表示课业绩程已经达到目标,但是月环比为负增长,说明我们对其目标定的有点低,下个月可以将目标适当调高。

板块 4:看板的 核心 内容:成单量对应大课转化环节;新增试听用户对应试听环节;新增用户数对应获客环节。

板块 5:本月业绩走势。反映了每天的业绩波动情况,如果出现波动剧烈的情况,我们就可以及时采取相应的干预措施。 板块 6:付费用户地域分布。可以看出客户主要分布在哪些地区。 板块 7:新增用户渠道来源。反映各渠道对于新增用户的贡献占比,例如这里百度、微信公众号和头条是对线索贡献最大的三个渠道。 板块 8:各渠道试听率。我们不仅关心各渠道获得的线索量,同时也关系这些线索的质量,而质量则是通过这些线索的后续行为反映,例如后续试听率和转化率。 板块 9:各环节转化情况。转化漏斗:新增 $\Longrightarrow$ 试听 $\Longrightarrow$ 付费。

注意:这里不仅是 CEO 需要每天关注该看板,其他部门同样需要关注该看板的数据。例如:业务部门需要重点关注板块 1(业绩目标达成情况)和板块 5(本月业绩走势);教研部门则需要重点关注板块 2(课程业绩排名)和板块 3(课程分类);市场运营部门需要重点关注板块 7、8、9(新增用户渠道来源、各渠道试听率、各环节转化情况);产品部门则需要重点关注板块 4和板块 6(新增用户情况)。

1.2 主要工作流程

工作流程主要分为 5 个步骤:

分析老板需求:老板主要存在两方面需求:掌握公司经营情况;避免查看大量报表(会花费过多时间)。因此我们需要搭建一个经营分析看板。 确定看板指标:接下来,我们需要确定将哪些指标放进看板中。例如,新增用户、新增试听用户、成单量都是比较核心的数据指标。 提取并连接数据源:根据确定的看板指标,从 MySQL 数据库中提取数据,然后连接到 BI 软件 Tableau。 制作并设计看板:通过 Tableau 对数据指标进行可视化展示,并设计制作数据看板。 发布共享看板:将成果发布出来,共享给老板和各部门同事。 2. 分析老板需求

这里,我们采用常见的 5W2H 分析法 来对老板的需求进行分析:

3. 确定指标 3.1 梳理在线教育公司业务流

在分析完老板的需求之后,接下来我们就需要确定看板上展示哪些指标和内容。为此,我们首先需要梳理一下公司的业务流,根据业务流,我们才能具体确定在每个业务环节需要采用哪些主要的数据指标。

本案例中的在线教育公司的业务流:

在线教育业务模式包含三个主要环节:

获客:获取线索量。主要有两种方式: 站内广告:在自己的 App 产品内投放站内广告。 站外投放:百度搜索、微信公众号、头条、知乎、抖音等。

试听:对线索量进行追踪,引导他们去进行试听。

当客户看到我们的投放广告后,如果感兴趣就可以通过点击跳转到我们的产品落地页上,里面包含了详细的课程介绍。有些用户看完课程介绍后可能会非常感兴趣并且直接报名大课。另外一些用户可能想先体验一下小课,如果感觉不错可能就会直接报名大课。另外一些用户可能会反复试听一些不同类型的小课,然后可能会再报名大课。

转化:试听之后,我们还需要做进一步的付费转化。

在报名大课的用户群体当中,有些用户可能会觉得课程内容不错,然后推荐给其他潜在客户来报名大课,从而形成口碑。或者,可能后面有其他需求时,会选择复购其他大课。

在了解了业务模式之后,我们就可以更加清晰地确定看板数据指标了。

3.2 确定数据指标

4. 提取并连接数据源 4.1 数据源表结构和 ER 图

在提取数据之前,我们先到数据库中看一下数据源的情况:

这里我们主要用到了 3 张表:

dw_kpi:第一张是 KPI 表,包含 3 个字段:

course:课程名称(主键) college:课程所属学院 kpi:课程月度目标

其中,course 为主键,同时作为表 dw_order 中的外键在两表之间建立了一个连接关系。

dw_order:第二张是订单表,包含 7 个字段:

order_id:订单 ID(主键) user_id:用户 ID college:课程所属学院 course:课程名称 area:用户所在地区 pay_dt:订单支付日期 money:订单支付金额

dw_user:第三张是用户表,包含 5 个字段:

register_dt:用户注册日期(即用户新增的日期) channel:新增用户的渠道来源 new_user:当天新增用户数 listen_user:当天试听用户数 apply_user:当天报名用户数 4.2 搭建数据源 4.2.1 创建在线教育数据库

打开 Navicat,新建一个 MySQL 连接:

创建数据库 online_edu:

1 CREATE DATABASE online_edu; 4.2.2 业绩目标表 dw_kpi

创建业绩目标表 dw_kpi:

1 2 3 4 5 6 7 8 USE online_edu; DROP TABLE IF EXISTS dw_kpi; CREATE TABLE dw_kpi( course VARCHAR(10) PRIMARY KEY, college VARCHAR(10), kpi INT );

导入数据:

1 2 3 4 5 6 7 INSERT INTO dw_kpi VALUES ('Python数据挖掘','Python学院',500000); INSERT INTO dw_kpi VALUES ('大数据开发','大数据学院',9000000); INSERT INTO dw_kpi VALUES ('数据分析','大数据学院',9000000); INSERT INTO dw_kpi VALUES ('java工程师','软件开发学院',8000000); INSERT INTO dw_kpi VALUES ('大前端','软件开发学院',2000000); INSERT INTO dw_kpi VALUES ('PS','设计学院',800000); INSERT INTO dw_kpi VALUES ('UI设计','设计学院',800000);

预览数据:

1 SELECT * FROM dw_kpi LIMIT 10;

4.2.3 订单记录表 dw_order

创建订单记录表 dw_order:

1 2 3 4 5 6 7 8 9 10 11 12 13 USE online_edu; DROP TABLE IF EXISTS dw_order; CREATE TABLE dw_order( order_id VARCHAR(10) PRIMARY KEY, user_id VARCHAR(10), college VARCHAR(10), course VARCHAR(10), area VARCHAR(6), pay_dt DATE, money DOUBLE, CONSTRAINT emp_course FOREIGN KEY(course) REFERENCES dw_kpi(course) );

导入数据:

1 2 3 4 5 6 7 8 9 10 11 12 13 INSERT INTO dw_order VALUES ('D000001','u000001','软件开发学院','java工程师','沈阳','2020-09-01',2900); INSERT INTO dw_order VALUES ('D000002','u000002','大数据学院','大数据开发','合肥','2020-09-01',2900); INSERT INTO dw_order VALUES ('D000003','u000003','大数据学院','数据分析','合肥','2020-09-01',4200); INSERT INTO dw_order VALUES ('D000004','u000004','大数据学院','大数据开发','大连','2020-09-01',4400); INSERT INTO dw_order VALUES ('D000005','u000005','软件开发学院','java工程师','沈阳','2020-09-01',3400); INSERT INTO dw_order VALUES ('D000006','u000006','软件开发学院','java工程师','南昌','2020-09-01',3900); INSERT INTO dw_order VALUES ('D000007','u000007','软件开发学院','java工程师','沈阳','2020-09-01',3400); INSERT INTO dw_order VALUES ('D000008','u000008','软件开发学院','java工程师','西安','2020-09-01',3900); INSERT INTO dw_order VALUES ('D000009','u000009','设计学院','UI设计','合肥','2020-09-01',2700); INSERT INTO dw_order VALUES ('D000010','u000010','软件开发学院','java工程师','沈阳','2020-09-01',3400); INSERT INTO dw_order VALUES ('D000011','u000011','大数据学院','数据分析','合肥','2020-09-01',2500); INSERT INTO dw_order VALUES ('D000012','u000012','软件开发学院','java工程师','西安','2020-09-01',2900); ...

预览数据:

1 SELECT * FROM dw_order LIMIT 10;

4.2.4 用户表 dw_user

创建用户表 dw_user:

1 2 3 4 5 6 7 8 9 10 USE online_edu; DROP TABLE IF EXISTS dw_user; CREATE TABLE dw_user( register_dt DATE, channel VARCHAR(10), new_user INT, listen_user INT, apply_user INT );

导入数据:

1 2 3 4 5 6 7 8 9 10 11 12 13 INSERT INTO dw_user VALUES ('2020-10-01','百度',1615,985,30); INSERT INTO dw_user VALUES ('2020-10-01','微信公众号',1411,975,33); INSERT INTO dw_user VALUES ('2020-10-01','头条',1349,1055,40); INSERT INTO dw_user VALUES ('2020-10-01','知乎',971,809,33); INSERT INTO dw_user VALUES ('2020-10-01','合作渠道1',630,538,22); INSERT INTO dw_user VALUES ('2020-10-01','合作渠道2',466,407,17); INSERT INTO dw_user VALUES ('2020-10-01','抖音',400,253,7); INSERT INTO dw_user VALUES ('2020-10-01','快手',219,120,3); INSERT INTO dw_user VALUES ('2020-10-01','搜狗',84,42,1); INSERT INTO dw_user VALUES ('2020-10-02','百度',2033,1252,38); INSERT INTO dw_user VALUES ('2020-10-02','微信公众号',1688,1170,40); INSERT INTO dw_user VALUES ('2020-10-02','头条',1520,1169,45); ...

预览数据:

1 SELECT * FROM dw_user LIMIT 10;

4.3 将数据源连接到 Tableau 4.3.1 连接服务器

4.3.2 连接数据库 online_edu

4.3.3 SQL 测试

使用 Tableau 中的自定义 SQL 功能查询 9 月份的所有订单记录:

1 2 3 SELECT * FROM dw_order WHERE pay_dt >= '2020-09-01' AND pay_dt


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有