SQL42 分析客户逾期情况
请根据以上数据分析各还款能力级别的客户逾期情况,按照还款能力级别统计有逾期行为客户占比。要求输出还款能力级别、逾期客户占比。
注:逾期客户占比要求按照百分数形式输出并四舍五入保留 1 位小数,最终结果按照占比降序排序。
select
t2.pay_ability,
concat(
round(
sum(
case
when overdue_days is not null then 1
else 0
end
) / count(t1.customer_id) * 100,
1
),
"%"
) as overdue_ratio
from
loan_tb t1
left join customer_tb t2 on t1.customer_id = t2.customer_id
group by
t2.pay_ability
order by
overdue_ratio desc
这个需求本质上是在分析不同还款能力等级客户的逾期风险差异,用来验证还款能力分层是否具备风险识别能力。
我会先明确统计口径:分析粒度是客户级,核心指标是各还款能力等级下的逾期客户占比,也就是发生过逾期行为的客户数占该等级总客户数的比例。
在计算上,通常会先关联客户表和借款表,识别每位客户的还款能力等级和是否发生逾期,再按等级统计总客户数和逾期客户数,计算逾期占比。若存在一人多笔借款,实际分析中要先统一到客户粒度,避免重复计算。
在分析层面,我不会只停留在结果本身,还会进一步看不同等级之间的风险差异、是否具有单调性、等级间差距是否足够明显,以及样本规模是否稳定。
从业务链路看,这个指标属于贷后还款表现分析,同时也是对贷前客户分层标签有效性的反向验证。
最终会基于结果形成业务结论,比如识别高风险等级客户、判断现有标签区分度是否足够,并进一步落到准入、额度、期限、贷后提醒和分层催收等风险策略优化上。
注:逾期客户占比要求按照百分数形式输出并四舍五入保留 1 位小数,最终结果按照占比降序排序。
select
t2.pay_ability,
concat(
round(
sum(
case
when overdue_days is not null then 1
else 0
end
) / count(t1.customer_id) * 100,
1
),
"%"
) as overdue_ratio
from
loan_tb t1
left join customer_tb t2 on t1.customer_id = t2.customer_id
group by
t2.pay_ability
order by
overdue_ratio desc
这个需求本质上是在分析不同还款能力等级客户的逾期风险差异,用来验证还款能力分层是否具备风险识别能力。
我会先明确统计口径:分析粒度是客户级,核心指标是各还款能力等级下的逾期客户占比,也就是发生过逾期行为的客户数占该等级总客户数的比例。
在计算上,通常会先关联客户表和借款表,识别每位客户的还款能力等级和是否发生逾期,再按等级统计总客户数和逾期客户数,计算逾期占比。若存在一人多笔借款,实际分析中要先统一到客户粒度,避免重复计算。
在分析层面,我不会只停留在结果本身,还会进一步看不同等级之间的风险差异、是否具有单调性、等级间差距是否足够明显,以及样本规模是否稳定。
从业务链路看,这个指标属于贷后还款表现分析,同时也是对贷前客户分层标签有效性的反向验证。
最终会基于结果形成业务结论,比如识别高风险等级客户、判断现有标签区分度是否足够,并进一步落到准入、额度、期限、贷后提醒和分层催收等风险策略优化上。
全部评论
相关推荐
04-14 00:23
中南林业科技大学 数据分析师 点赞 评论 收藏
分享
04-14 17:08
燕山大学 数据产品 点赞 评论 收藏
分享
