结合BI多维度异常分析(日期-> 商家/渠道->日期(商家/渠道))

技术手段: BI工具(finereport )、python、sql
数据更新 : 每日零点更新数据。(独立开发)
商业智能分析平台 | Python/FineReport/SQLAlchemy

项目描述

业务价值 :解决原有系统无法快速定位佣金异常的问题,建立「日期→商家→渠道→计划」四级下钻体系,使问题定位时效从1小时缩短至15分钟。重点监控头部媒体数据趋势,通过异常预警机制推动业务及时沟通。

标题技术实现 :

  1. 动态检测引擎:
    采用滚动窗口(14天)±2.5σ动态阈值算法并结合佣金同比波动率来判断异常。通过Python(SQLAlchemy)整合3个异构数据源,构建bi_duomaicps分析库
    增加同比波动率辅助判断(当前值/去年同期值-1)。
  2. 智能可视化:
    使用FineReport开发交互看板:
    ▶ 日期层:双轴趋势图(当月/环比/同比)+ 红点标记异常日期(K=2.5)
    ▶ 商家层:柱线组合图(绝对波动+波动率),自动筛选波动率>0.3 & 绝对波动>3000的异常商家
    ▶ 计划层:多系列折线图展示异常计划佣金流向,支持近14天趋势回溯
  3. 数据架构:
    设计anomalies_date等5张核心分析表,建立每日零点自动更新机制.
    项目 意义:可以根据数据重点关注到头部媒体的趋势,以确认是否需要单独沟通媒体增量/控量/获取媒体反馈。不仅起到了明显的提效作用,还能帮助及时风控,从折线图可以及时发现异常增量趋势、数据异常趋势,及时沟通媒体后,减少风险/损失。
    一、 从日期维度分析异常
    ● 首页展示的是当月 佣金数据 ,同时对比 上月和上年同期的佣金趋势,同时下面明细表展示MOM和YOY的情况,方便业务人员导出数据。
    ● 通过数据分析异常突增或突减的日期来红点显示,并在表格上突出显示。
    ● 下钻功能: 点击当前佣金分类可下钻到 该异常日期下的渠道/商家波动情况,方便业务追踪溯源。

数据源: 所有数据通过python 的sqlalchemy链接三个数据源 ,并且纵向合并到建立在115.238.100.75下的bi_duomaicps库。

异常判断逻辑:

● 动态阈值:阈值 = 滚动窗口均值 ± K*滚动标准差

窗口周期(如14天),K=2~3

● 同比波动率辅助判断(当前值/去年同期值-1)

异常日期表(anomalies_date):记录异常日期、佣金、滚动均值、滚动标准差、上限、下限、引用日期、偏离程度。

二、商家/渠道 总体分析

通过点击上图异常日期下的跳转到具体商家和渠道下的情况;

可筛选项: 波动率 、 绝对波动和异常日期。

○ 波动率:( 当前值-历史均值)/历史均值

○ 绝对波动: abs(当前值-历史均值)

○ 且/或 (用户可 只筛选满足波动率或者绝对波动情况条件的商家/渠道,或同时满足两个条件的商家/渠道),默认展示波动率>0.3,绝对波动幅度> 3000的商家,仅展示异常明显的商家/渠道。

展示上:使用finereportBI工具, 图为柱形/折现图 , 柱子高度为商家/渠道的绝对波动 , 折线对应商家/渠道的波动率,通过柱形和折线结合分析商家/渠道的波动情况,下方附带明细表格方便业务人员导出。

下钻功能: 点击对应商家/渠道 的柱子可跳转到商家/渠道 下的计划情况。

数据源: 115.238.100.75下的bi_duomaicps库。

异常日期下 所有商家和渠道情况

表: analysis_result_business

表:analysis_result_client

三、 商家/渠道下 计划的 分析

察觉到异常商家/渠道之后,点击下钻到该商家/渠道下的计划情况,先分析该商家/渠道 最近2周的趋势,确定异常日期前后的趋势,然后点击'计划'按钮,折线图增加计划分类。之后筛选出异常计划。

展示上:

● 图形:该商家/渠道 近2周的佣金趋势变化情况,该商家/渠道 近2周的计划(异常计划)佣金趋势变化情况。
所有计划佣金占比图。

● 表格: 商家/渠道明细表,方便也业务导出分析。

继续向 该渠道下计划分析,点击 只看异常的计划。

了解到该异常计划后,业务人员能够快速定位 到该计划 异常情况,并且及时做出反馈。

表: bi_duomaicps.analysis_result_client_ads


相关推荐
CodeCraft Studio3 小时前
PDF处理控件Aspose.PDF教程:使用 Python 将 PDF 转换为 Base64
开发语言·python·pdf·base64·aspose·aspose.pdf
睡觉的时候不会困3 小时前
Redis 主从复制详解:原理、配置与主从切换实战
数据库·redis·bootstrap
困鲲鲲4 小时前
Python中内置装饰器
python
摩羯座-185690305945 小时前
Python数据可视化基础:使用Matplotlib绘制图表
大数据·python·信息可视化·matplotlib
程序员的世界你不懂5 小时前
【Flask】测试平台开发,新增说明书编写和展示功能 第二十三篇
java·前端·数据库
自学也学好编程5 小时前
【数据库】Redis详解:内存数据库与缓存之王
数据库·redis
爱隐身的官人5 小时前
cfshow-web入门-php特性
python·php·ctf
gb42152876 小时前
java中将租户ID包装为JSQLParser的StringValue表达式对象,JSQLParser指的是?
java·开发语言·python
JAVA不会写6 小时前
在Mybatis plus中如何使用自定义Sql
数据库·sql
IT 小阿姨(数据库)6 小时前
PgSQL监控死元组和自动清理状态的SQL语句执行报错ERROR: division by zero原因分析和解决方法
linux·运维·数据库·sql·postgresql·centos