ABC模型计算好成本数据后,我们需要应用成本数据,在之前,我们有提到过项目的目标。
一:利润分析,在没有ABC成本之前,我相信要分析产品的利润,流向的利润,客户的利润是做不到的,哪现在我们来分析下这几个维度的利润。
1:产品利润分析:
select to_char(a.rec_dt, 'YYYYMM') month_code,
a.prod_code,
a.prod_name,
sum(a.amt) income_amt,
sum(b.amt) cost_amt
from abc_bsl_waybill a
left join (select a.waybill_no, sum(a.to_amt) amt
from abc_fct_ao_dist a
where a.month_code = '201905'
group by a.waybill_no) b
on a.waybill_no = b.waybill_no
where a.rec_dt >= date '2019-05-01'
and a.rec_dt < date '2019-06-01'
group by to_char(a.rec_dt, 'YYYYMM'), a.prod_code, a.prod_name;
通过上面数据发现,我们的电商产品并不赚钱。
2:流向利润分析:
select to_char(a.rec_dt, 'YYYYMM') month_code,
a.rec_city || '-' || a.send_city city_flow,
sum(a.amt) income_amt,
sum(b.amt) cost_amt,
sum(a.amt) - sum(b.amt) proj_amt
from abc_bsl_waybill a
left join (select a.waybill_no, sum(a.to_amt) amt
from abc_fct_ao_dist a
where a.month_code = '201905'
group by a.waybill_no) b
on a.waybill_no = b.waybill_no
where a.rec_dt >= date '2019-05-01'
and a.rec_dt < date '2019-06-01'
group by to_char(a.rec_dt, 'YYYYMM'), a.rec_city || '-' || a.send_city;
流向的利润还算可以,都在赚钱。
3:客户利润分析
select to_char(a.rec_dt, 'YYYYMM') month_code,
a.cust_code,
c.cust_name,
sum(a.amt) income_amt,
sum(b.amt) cost_amt,
sum(a.amt) - sum(b.amt) proj_amt
from abc_bsl_waybill a
left join (select a.waybill_no, sum(a.to_amt) amt
from abc_fct_ao_dist a
where a.month_code = '201905'
group by a.waybill_no) b
on a.waybill_no = b.waybill_no
left join abc_rel_cust c
on a.cust_code = c.cust_code
where a.rec_dt >= date '2019-05-01'
and a.rec_dt < date '2019-06-01'
group by to_char(a.rec_dt, 'YYYYMM'), a.cust_code, c.cust_name;
我们的客户也很给力,都在赚钱。
二:成本结构分析,虽然我们从利润分析上看,公司非常能赚钱,基本做一票赚一票,哪我们也不能高兴太早,要有危机意识,老板说了,下个月必须成本减少3%,此时我们应该怎么减呢,哪我们先来看看成本结构,我们的成本是哪些资源项,他们的占比多少。
select to_char(a.rec_dt, 'YYYYMM') month_code,
sum(a.amt) income_amt,
sum(b.dive_amt) dive_amt,
sum(b.car_amt) car_amt,
sum(b.mgr_amt) mgr_amt,
sum(b.pep_amt) pep_amt
from abc_bsl_waybill a
left join (select a.waybill_no,
sum(case
when a.fm_reso_code = 'ZY0201' then
a.to_amt
else
0
end) dive_amt,
sum(case
when a.fm_reso_code = 'ZY0301' then
a.to_amt
else
0
end) car_amt,
sum(case
when a.fm_reso_code in ('ZY0401', 'ZY0402') then
a.to_amt
else
0
end) metr_amt,
sum(case
when a.fm_reso_code = 'ZY0101' and
a.fm_func_code = '1040' then
a.to_amt
else
0
end) mgr_amt,
sum(case
when a.fm_reso_code = 'ZY0101' and
a.fm_func_code <> '1040' then
a.to_amt
else
0
end) pep_amt
from abc_fct_ao_dist a
where a.month_code = '201905'
group by a.waybill_no) b
on a.waybill_no = b.waybill_no
where a.rec_dt >= date '2019-05-01'
and a.rec_dt < date '2019-06-01'
group by to_char(a.rec_dt, 'YYYYMM');
什么情况,我们的管理成本占收入比这么高,看来管理层人员太多了,要精简部门人员了。
三:作业环节成本分析,我们从作业环节来看成本情况,分析哪些作业占用成本比率比较高,哪些作业流程还可以优化。
select a.month_code,
b.fm_acti_type_code,
b.fm_acti_type_name,
a.income_amt,
b.amt
from (select to_char(a.rec_dt, 'YYYYMM') month_code, sum(a.amt) income_amt
from abc_bsl_waybill a
where a.rec_dt >= date '2019-05-01'
and a.rec_dt < date '2019-06-01'
group by to_char(a.rec_dt, 'YYYYMM')) a
left join (select a.fm_acti_type_code,
a.fm_acti_type_name,
sum(a.to_amt) amt
from abc_fct_ao_dist a
where a.month_code = '201905'
group by a.fm_acti_type_code, a.fm_acti_type_name) b
on 1 = 1;
什么情况,公司这么多问题,从环节流程又看出了问题,公司管理成本占比这么高,比营运成本都高出这么多,下个月必须要精简管理层了,还有我们的干支线闲置这么多,整体装载率这么低下,我们的车辆高度系统这么差劲吗,就哪么点货的时候为什么不调度小货车来运输吗。
以上只是成本应用分析的一个小应用面,更多的还可以应用在我们的定价报价系统,内总结算系统,公司管理考核制定等等。
更多技术文章请关注公众号BLT328(长按后点识别图中二维码):