波斯顿矩阵
# 概述
波士顿矩阵(Boston Matrix),也称为市场增长率-相对市场份额矩阵,是一种用来帮助公司评估其业务单元或产品线的战略工具。这个矩阵使用两个轴来区分公司的不同业务单元或产品:
市场增长率(Market Growth Rate):这是纵轴的指标,通常表示为一个业务单元所在市场的年度增长率百分比。它反映了市场的吸引力以及未来的潜力。高市场增长率(通常是高于10%的增长率)表明这是一个快速增长的市场,可能充满了机会但也伴随着较高的风险;低市场增长率则意味着市场已经成熟或者接近饱和。
相对市场份额(Relative Market Share):这是横轴的指标,指的是公司某个业务单元的市场份额与该市场中最大竞争对手的市场份额的比例。它用来衡量公司在特定市场中的竞争力和强势地位。如果一个业务单元的相对市场份额大于1,这意味着它在市场上的份额超过了最大的竞争对手,被视为拥有较强的市场地位;相对市场份额小于1则表示反之。
通过结合这两个指标,波士顿矩阵将公司的业务单元划分为四种类型:问题型(Question Marks)、明星型(Stars)、现金牛型(Cash Cows)和瘦狗型(Dogs)。这些分类有助于公司决定如何分配资源,是投资、维持现状还是撤资等策略。
# 实现思路
测试数据-示例超市.xls (opens new window)
# 增加动态矩阵分割值
通过计算字段, 增加动态矩阵分割值, 计算字段中使用环境变量,后续可以在看板参数中绑定环境变量实现动态分割值
X轴分隔 = ${xSplit!0.1}
Y轴分隔 = ${ySplit!0.1}
2
# 汇总指标表达式
去年销售额 = {EXCLUDE DATEADD(`订单日期`, -1, 'year') : sum(`销售额`)}
销售额增长率 = CHGRATE(${去年销售额}, sum(`销售额`), 0)
X轴分隔值 = max(`X轴分隔`)
Y轴分隔值 = max(`Y轴分隔`)
2
3
4
# 图表设计
- 图表类型选择气泡图
- 列维放置订单日期字段,并设置日期格式化到年
- 行维放置商品子类别
- 第一个指标栏, 依次
X轴分隔值
,Y轴分隔值
,销售额
,销售额增长率
- 第一个指标栏最后一个指标默认为Y轴
- 销售额字段,值类型设置为列占比,转化为产品市场占有率, 并设置为X轴
- 第二个指标栏,放置销售额原值,映射为气泡大小
- 配置:时间线,开启时间线,并选择列维数量为1个,把列维上的年分用做时间线绘制
# 矩阵分区颜色配置
矩阵分区颜色和名称使用开发者模式,结合ECharts的区域标记 参考代码如下
const s0 = option.options[0].series[0];
const _1stMetrics = s0.data[0].value[4].metrics;
const xSplit = _1stMetrics[0].value;
const ySplit = _1stMetrics[1].value;
console.log(xSplit, ySplit);
const maxX = Number.MAX_VALUE;
const maxY = maxX;
const minX = -1000000;
const minY = minX;
s0.markArea = {
label: {
position: 'inside',
color: 'black',
fontSize: 14,
fontWeight: 'bold',
},
data: [
[{name: '瘦狗型', itemStyle: {color: 'rgba(203, 203, 203, 0.5)'}, coord: [minX, ySplit]}, {coord: [xSplit, minY]}],
[{name: '问题型', itemStyle: {color: 'rgba(199, 164, 204, 0.5)'}, coord: [minX, ySplit]}, {coord: [xSplit, maxY]}],
[{name: '现金牛', itemStyle: {color: 'rgba(234, 197, 183, 0.5)'}, coord: [xSplit, ySplit]}, {coord: [maxX, minY]}],
[{name: '明星型', itemStyle: {color: 'rgba(190, 201, 166, 0.5)'}, coord: [xSplit, maxY]}, {coord: [maxX, ySplit]}],
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 分析看板
- 增加区域销售地图,并设置图标联动到区域
- 添加波斯顿矩阵
- 增加两个范围查询看板参数,并绑定到环境变量xSplit,ySplit, 过滤类型改为 大于或者小于都可以,只为了让滑动条变为单值滑动 (也可以使用输入框交互)