fd65ae16
“wangming”
feat: inventory a...
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
|
# 储扣数据分析维度梳理
## 一、数据源说明
### 主表:`lq_kd_deductinfo`(开单扣减信息表)
- **核心字段**:
- `F_Amount`:储扣金额
- `F_DeductType`:扣减类型("储值卡"、"品项")
- `F_BillingId`:关联开单ID
- `F_BillingTime`:开单时间
- `F_ItemId`:品项ID
- `F_ItemName`:品项名称
- `F_ItemCategory`:品项分类
- `F_ProjectNumber`:项目数量
- `F_UnitPrice`:单价
### 关联表:`lq_kd_kdjlb`(开单记录表)
- **关联字段**:`F_BillingId = lq_kd_kdjlb.F_Id`
- **可获取字段**:
- `djmd`:门店ID
- `kdhy`:开单会员ID
- `kdrq`:开单日期
- `zdyj`:整单业绩
- `sfyj`:实付业绩
- `qk`:欠款
- `ckfs`:储扣方式
- `fkfs`:付款方式
- `khly`:客户来源
- `sfskdd`:是否首开订单
- `jsj`:金三角
- `gjlx`:顾客类型
- `F_ActivityId`:营销活动ID
### 关联表:`lq_xmzl`(品项资料表)
- **关联字段**:`F_ItemId = lq_xmzl.F_Id`
- **可获取字段**:
- `qt1`:品项一级分类
- `qt2`:品项二级分类(生美/医美/科美/产品等)
- `pxmc`:品项名称
### 关联表:`lq_khxx`(会员信息表)
- **关联路径**:`lq_kd_kdjlb.kdhy = lq_khxx.F_Id`
- **可获取字段**:
- 会员基本信息(姓名、手机号、注册时间等)
- 会员等级、标签等
---
## 二、基础统计维度
### 1. **时间维度**
- **月度统计**:按月份汇总储扣金额和次数
- **周度统计**:按周汇总
- **日度统计**:按日期汇总
- **时段统计**:按小时统计(分析储扣发生的高峰时段)
- **趋势分析**:近12个月/近6个月趋势
### 2. **门店维度**
- **单门店统计**:指定门店的储扣情况
- **多门店对比**:门店间储扣金额/次数对比
- **门店排名**:按储扣金额/次数排序
- **门店分类**:按门店类型(新店/老店、旗舰店等)统计
### 3. **金额维度**
- **总储扣金额**:`SUM(F_Amount)`
- **平均储扣金额**:`AVG(F_Amount)`
- **单笔储扣金额分布**:按金额区间分组(0-1000、1000-5000、5000+等)
- **储扣金额占比**:储扣金额 / 整单业绩(zdyj)或 / 实付业绩(sfyj)
### 4. **次数维度**
- **储扣总次数**:`COUNT(*)`(明细次数)
- **有储扣的开单数**:`COUNT(DISTINCT F_BillingId)`(开单次数)
- **平均每单储扣次数**:明细次数 / 开单次数
- **储扣渗透率**:有储扣的开单数 / 总开单数
---
## 三、业务分析维度
### 5. **储扣类型维度**
- **按扣减类型分组**:
- 储值卡类型:`F_DeductType = '储值卡'`
- 品项类型:`F_DeductType = '品项'`
- **各类型金额占比**:分析哪种储扣方式更常用
### 6. **品项维度**
- **按品项分类统计**(通过 `lq_xmzl.qt2`):
- 生美储扣金额/次数
- 医美储扣金额/次数
- 科美储扣金额/次数
- 产品储扣金额/次数
- **Top N 品项**:按储扣金额排序,找出最常用的储扣品项
- **品项储扣占比**:各分类储扣金额占总储扣金额的比例
### 7. **会员维度**
- **储扣会员数**:`COUNT(DISTINCT kdhy)`(去重会员数)
- **人均储扣金额**:总储扣金额 / 储扣会员数
- **会员储扣频次**:按会员分组,统计每个会员的储扣次数
- **新客/老客储扣**:结合 `sfskdd` 字段分析首开订单的储扣情况
- **会员等级分析**:按会员等级统计储扣情况
### 8. **开单维度**
- **储扣与整单业绩关系**:
- 储扣金额 / 整单业绩(zdyj)
- 储扣金额 / 实付业绩(sfyj)
- **储扣与欠款关系**:
- 有储扣的开单中,欠款金额分布
- 储扣是否影响欠款(高储扣是否对应低欠款)
- **首开/升单储扣对比**:首开订单 vs 升单订单的储扣情况
### 9. **支付方式维度**
- **按储扣方式分组**(`ckfs`字段):
- 不同储扣方式的金额/次数统计
- **按付款方式分组**(`fkfs`字段):
- 分析储扣与付款方式的关系
### 10. **客户来源维度**
- **按客户来源统计**(`khly`字段):
- 不同来源客户的储扣金额/次数
- 分析哪些来源的客户更倾向于使用储扣
### 11. **营销活动维度**
- **按活动分组**(`F_ActivityId`字段):
- 不同营销活动下的储扣情况
- 分析活动对储扣的影响
### 12. **金三角维度**
- **按金三角分组**(`jsj`字段):
- 不同金三角战队的储扣情况
- 分析金三角对储扣的影响
### 13. **顾客类型维度**
- **按顾客类型分组**(`gjlx`字段):
- 不同顾客类型的储扣情况
---
## 四、高级分析维度
### 14. **储扣效率分析**
- **储扣渗透率**:有储扣的开单数 / 总开单数
- **储扣金额占比**:储扣金额 / 整单业绩
- **储扣替代率**:储扣金额 / (储扣金额 + 实付业绩)
### 15. **异常分析**
- **高储扣低实付订单**:储扣金额高但实付金额低的订单
- **储扣金额异常**:单笔储扣金额过大或过小的订单
- **储扣次数异常**:单笔开单中储扣次数过多的订单
### 16. **关联分析**
- **储扣与消耗关系**:储扣后是否及时消耗
- **储扣与复购关系**:使用储扣的会员复购率
- **储扣与退卡关系**:有储扣的订单退卡率
### 17. **对比分析**
- **门店间对比**:不同门店的储扣情况对比
- **时间对比**:同比/环比分析
- **分类对比**:不同品项分类的储扣对比
---
## 五、门店驾驶舱建议的储扣分析指标
### 基础指标(必须)
1. **储扣总金额**:`SUM(deduct.F_Amount)`
2. **储扣次数**:`COUNT(DISTINCT deduct.F_BillingId)`(推荐:按开单计数)
3. **储扣明细次数**:`COUNT(deduct.F_Id)`(可选:明细次数)
### 分析指标(建议)
4. **储扣渗透率**:有储扣的开单数 / 总开单数
5. **储扣金额占比**:储扣金额 / 整单业绩
6. **平均储扣金额**:储扣总金额 / 储扣次数
7. **储扣会员数**:`COUNT(DISTINCT billing.kdhy)`
### 分类指标(可选)
8. **按品项分类统计**:
- 生美储扣金额
- 医美储扣金额
- 科美储扣金额
- 产品储扣金额
9. **按储扣类型统计**:
- 储值卡类型金额
- 品项类型金额
---
## 六、SQL查询示例
### 基础统计(门店+月份)
```sql
SELECT
billing.djmd as StoreId,
COUNT(DISTINCT deduct.F_BillingId) as DeductCount,
COUNT(deduct.F_Id) as DeductDetailCount,
COALESCE(SUM(deduct.F_Amount), 0) as DeductAmount,
COUNT(DISTINCT billing.kdhy) as DeductMemberCount,
AVG(deduct.F_Amount) as AvgDeductAmount
FROM lq_kd_deductinfo deduct
INNER JOIN lq_kd_kdjlb billing ON deduct.F_BillingId = billing.F_Id
WHERE deduct.F_IsEffective = 1
AND billing.F_IsEffective = 1
AND billing.djmd = '{StoreId}'
AND COALESCE(deduct.F_BillingTime, billing.kdrq) >= '{startDate}'
AND COALESCE(deduct.F_BillingTime, billing.kdrq) <= '{endDateTime}'
GROUP BY billing.djmd
```
### 按品项分类统计
```sql
SELECT
COALESCE(item.qt2, '其他') as Category,
COUNT(DISTINCT deduct.F_BillingId) as DeductCount,
COALESCE(SUM(deduct.F_Amount), 0) as DeductAmount
FROM lq_kd_deductinfo deduct
INNER JOIN lq_kd_kdjlb billing ON deduct.F_BillingId = billing.F_Id
LEFT JOIN lq_xmzl item ON deduct.F_ItemId = item.F_Id AND item.F_IsEffective = 1
WHERE deduct.F_IsEffective = 1
AND billing.F_IsEffective = 1
AND billing.djmd = '{StoreId}'
AND COALESCE(deduct.F_BillingTime, billing.kdrq) >= '{startDate}'
AND COALESCE(deduct.F_BillingTime, billing.kdrq) <= '{endDateTime}'
GROUP BY COALESCE(item.qt2, '其他')
```
### 按储扣类型统计
```sql
SELECT
COALESCE(deduct.F_DeductType, '未知') as DeductType,
COUNT(DISTINCT deduct.F_BillingId) as DeductCount,
COALESCE(SUM(deduct.F_Amount), 0) as DeductAmount
FROM lq_kd_deductinfo deduct
INNER JOIN lq_kd_kdjlb billing ON deduct.F_BillingId = billing.F_Id
WHERE deduct.F_IsEffective = 1
AND billing.F_IsEffective = 1
AND billing.djmd = '{StoreId}'
AND COALESCE(deduct.F_BillingTime, billing.kdrq) >= '{startDate}'
AND COALESCE(deduct.F_BillingTime, billing.kdrq) <= '{endDateTime}'
GROUP BY COALESCE(deduct.F_DeductType, '未知')
```
---
## 七、建议实现优先级
### 第一阶段(核心指标)
1. ✅ 储扣总金额
2. ✅ 储扣次数(按开单计数)
3. ✅ 储扣渗透率
### 第二阶段(分析指标)
4. ✅ 储扣金额占比
5. ✅ 平均储扣金额
6. ✅ 储扣会员数
### 第三阶段(分类分析)
7. ✅ 按品项分类统计(生美/医美/科美/产品)
8. ✅ 按储扣类型统计(储值卡/品项)
### 第四阶段(高级分析)
9. 储扣趋势分析(近12个月)
10. 储扣时段分析
11. 储扣异常分析
---
## 八、注意事项
1. **时间字段**:优先使用 `deduct.F_BillingTime`,如果为空则使用 `billing.kdrq`
2. **有效性过滤**:必须同时过滤 `deduct.F_IsEffective = 1` 和 `billing.F_IsEffective = 1`
3. **门店过滤**:使用 `billing.djmd` 字段
4. **金额处理**:使用 `COALESCE(deduct.F_Amount, 0)` 处理空值
5. **当月处理**:如果是当月,`endDateTime` 应该使用 `DateTime.Now`,与门店驾驶舱其他指标保持一致
|