基石可视化数据分析平台设计实践

1

概述


在当下数字化转型的大环境中,数据成为企业发展重要基石,如何利用好数据进行分析也成为更多企业面临的首要问题。 随着信息技术发展,数据分析平台作为一种新型的企业管理工具,可以帮助企业实现数据收集、处理、分析和应用的全过程,为企业提供全面、准确、及时的数据和决策支持。
部门内部自研的数据可视化分析平台-基石,基于传统BI多类型数据源管理,在自助式生成数据展示页面的基础上,加强了数据增强分析能力。其中异动分析、转化分析、漏斗分析等大大提高了数据分析的效率,使分析师和运营人员专注于分析业务、市场行为,了解客户的核心需求、预测市场趋势,为企业提高业绩,获取竞争优势。

2

背景

58同城作为中国领先的生活服务平台,业务覆盖招聘、房产、汽车、本地生活服务等领域。每日产出亿级别数据,数据分析师对海量数据多维度展示和数据分析需求强烈。部门内部的可视化基石BI基于用户需求,提供数据自定义看板展示和增强分析能力,支持拖拽式操作和丰富的展示效果,帮助用户灵活搭建数据看板,从不同的角度对数据进行解读和挖掘,对数据进行全面的监控和分析,及时发现异常情况和风险点,提供预警和决策支持。


3

基石BI平台介绍

不同于传统BI工具,基石BI提供了完整的数据闭环,对数据进行抽取、整理、分析、报表输出等,通过数据对企业决策提供支持和帮助。


3.1 基石BI核心流程
  • 数据连接:用户将要查询的数据表接入到BI中。

  • 数据准备:将数据表进行查询整理,形成数据集,进行数据标注。

  • 数据看板设置看板对应数据集,拖拽插件进行布局,固化为数据看板。

  • 数据应用:配置应用信息,对外输出数据看板。

  • 增强分析:通过算法模型进行有效的数据分析,查询异动、转化分析数据。

3.2 层级结构示意图

3.3 基石BI设计标准
  • 工具化:转化思想,从以往已报表为核心在不同系统开发展示,或是采购其他厂商应用,转化为自研数据工具思维,使功能工具化标准化,提高效率,保证数据一致性和安全性。

  • 平台化:研发BI分析平台,简单快捷的进行可视化看板搭建,对外输出平台化产品,进而实现一处设置,多处使用。

  • 智能化:实现业务智能化,基于算法模型持续产出异动分析、转化分析等智能分析组件,提升平台竞争力,有效为企业决策提供数据支持。


    4

    基石BI平台实践

    为了满足业务需要多端可视化数据查询展示、数据推送、数据分析能力,设计架构如下图所示:

    平台架构是基于BI系统通用流程建立,服务主要包含网关接入服务、Oauth授权服务、数据预览展现服务、数据查询解析、结果聚合服务、数据查询引擎服务、增强分析服务。从业务角度看,平台按照业务需求,统一数据处理逻辑,强化展示分析,提高数据使用率,设计为4层模块:
    • 数据接入层:统一数据源,多类型数据源接入BI体系,支持定时同步,数据加工管理,让数据更好的展现。

    • 数据服务层:研发数据查询引擎,提供查询解析和结果聚合服务,能够处理数据复杂查询,提升效率。

    • 数据展现层:基于数据查询解析、数据预览服务,搭建用户需求分析看板,设置权限管理,使数据灵活展现。

    • 增强分析层:结合算法模型,更深层挖掘数据潜力,智能诊断,支持维度下钻、指标探查等,为企业运营提供多维度数据支持。

      以下分别介绍4层模块的详细设计:
      4.1 数据接入层
      统一数据生态,让数据更便捷准确接入BI平台数据体系,使数据充分得到挖掘利用
      • 统一数据源,通过权限设置,将数据有效管理。

      • 支持数据源实时校验,数据连接。


        4.2 数据服务层
        数据服务面临的困难: 指标计算、衍生计算复杂,且底层数据源引擎能力和查询sql都不一样(Mysql,ClickhouseSQL,Doris),导致开发成本很高,新增一种数据源类型就要开发对应数据查询能力。
        解决方案 研发数据查询引擎和数据解析聚合服务,提供语句分析,通过语法解析聚合,进行查询构建,对不同数据类型进行查询。

        4.3 数据展现层
        4.3.1 看板搭建: 通过拖拽内置组件,自定义页面布局,选择组件对应数据展示源,设置维度、指标等查询配置,基于数据解析、数据查询引擎服务,实时展示数据,自助式生成可视化需求看板。在满足功能基础上,做了三方面优化:
        • 页面组件优化:优化组件拖拽显示体验,做到低延迟高流畅;对组件进行二次开发,提升数据展示效果。

        • 交互效果优化:平台前后端调用交互优化,合理构建组件数据查询参数,提高平台解析数据效率;平台操作页面交互优化,让用户使用更便捷,提高操作易用性。

        • 字段条件优化:动态设置字段过滤器,添加多种格式设置,支持日期、数值、字典字段等自定义配置,更加灵活进行数据过滤。

        4.3.2 应用管理: 添加看板所需展示的应用信息,实现一处配置,多处展示需求。
        • 应用信息:对应用进行管理,配置每个应用唯一的授权Key,设置授权模式、授权域、令牌时效信息,安全稳定的与第三方业务应用进行对接。

        • 看板嵌入:将平台看板和应用进行绑定,实现一处配置,多处展示。提供对接服务,高效快捷的使看板嵌入其他业务应用。

        • 数据权限:通过设置 应用-看板-用户 数据权限关系,精确设置到每个组件不同人员查看的行权限,做到千人千面,灵活展示。


          4.3.3 数据展现:多形式,多维度数据展示,及时有效了解数据详情。
          • 邮件推送:平台提供截图服务,对定时发送的数据报告提供邮件推送能力。

          • 多端展现:在PC端配置完成后,能在移动端和H5端自动适配,动态适应看板展示场景。

          • 分析展现:提供下钻维度、智能分析等多种展现功能,提高数据使用率,充分挖掘数据深度。


          4.4 增强分析层
          除了传统数据源,看板等BI模块,在后端服务上新增加强分析,结合算法模型,对趋势数据监控异常点,智能诊断(Adtributor算法),进行维度下钻分析等。具体如下:
          4.4.1异动智能分析
          1) 指标监控方法与实施
          a.理论基础:
          • 统计方法:基准值指定为均值。均值的计算设定为,以近期(7天、30天)数据进行滚动均值计算。误差的范围选取,以 标准差或者3σ 为建议范围。

          • 阈值方法:基准值指定为环同比的上周期数据,允许分析师自定义波动阈值。根据自定义的阈值,进行数据波动范围可视化展示。

          • 建模方法:基准值通过ARMA时间序列预测&fb-prophet时序预测获取。异常判断将更智能,兼容性更好。

            b.实现逻辑:

            c.效果展示:

            2)异常归因方法与实施
            a.理论基础:
            • 基于Adtributor算法对异动点分析,算法的核心主要是:惊喜度SURPRISE,解释力EP。Adtributor对异常指标的所有维度和元素,根据当前的数值和参考的数值,计算EP值和S值

              S值 :

            • 根据惊喜度计算出,针对关键的指标,计算所有维度下的所有元素和参考值的差异,即计算每个元素的Sij(m),然后进行求和得到S值,然后找出哪些维度可能存在异常,根据S值进行降序排序,找出最意外的维度。

            • EP值:计算每个维度下每个元素在该分析的指标上的变化总数的占比,EP值是针对单个维度进行衡量每个元素的重要程度。

            • 简单来说,就是针对单个维度进行归因分析,根据S值找出最大的异常维度,根据EP值给出解释说明。

              b.实现逻辑:
              4.4.2 漏斗加强分析

              1)漏斗分析是衡量转化效果、进行转化分析的重要工具,是一种常见的流程式的数据分析方法。它能够帮助你清晰地了解转化情况,从多角度剖析对比,定位流失原因,提升转化表现。

              2)

              a.漏斗分类

              无序漏斗: 在漏斗的周期内,不限定漏斗多个步骤之间事件发生的顺序。
              【计算规则】: 假设一个漏斗中包含了 A、B、C 3个步骤,A步骤发生的时间可以在B步骤之前,也可以在B的后面。 用户的行为顺序为A、B、C的组合都算成功的漏斗转化。 即使漏斗步骤之间穿插一些其他事件步骤,依然视作该用户完成一次成功的漏斗转化。
              有序漏斗: 在漏斗的周期内,严格限定漏斗每个步骤之间的发生顺序。
              【计算规则】: 假设一个漏斗中包含了 A、B、C 3个步骤,A步骤发生的时间必须在B步骤之前,用户的行为顺序必须为A->B->C 。 和无序漏斗一样,漏斗步骤之间穿插一些其他事件步骤,依然视作该用户完成一次成功的漏斗转化。

              b.漏斗创建 

              • 选取漏斗类型 :有序漏斗和无序漏斗,平台默认选择有序。
              • 添加漏斗步骤 :漏斗步骤就是漏斗分析的核心部分,步骤间统计数据的对比,就是我们分析步骤间数据的转化和流失的关键指标。
              • 确定漏斗的时间区间和周期 : 一般来说,此类数据的数仓表是按照时间分区的。所以选择时间区间,本质就是选择要计算的数据范围。周期是指一个漏斗从第一步流转到最后一步的时间限制,即是用来界定怎样是一个完整的漏斗。

              3) 平台漏斗实现 

              基于 ClickHouse 的 windowFunnel 函数做有序漏斗分析,在所定义的滑动窗口内,依次检索事件链条。函数在这个事件连上触及的事件的最大数量。
              a.实现逻辑:

              b.效果展示:


              5

              总结

              基石BI在满足传统BI工具数据对接、数据查询的功能基础上,加强了看板展示和基于算法模型的数据分析能力,目前已经应用到集团投放月报分析推送、运营分析渠道效果展示等日常分析工作,很好的满足数据分析人员对数据挖掘和数据利用的需求。 不但提高工作效率 ,也更深层挖掘数据变化原因,提升数据使用价值,对数据进行全面的监控和分析,及时发现异常点和风险点,为制定决策和快速发展提供准确及时的数据保障。 未来平台会在实时数据效果分析、智能报告、智能预警监测方面不断优化更新,让数据更深层的服务于业务,创造更大价值。

              【作者简介】

              刘乃翔,后端研发工程师,58同城用户价值增长中心-增长数据研发部,主要负责数据平台、增长策略服务等后端架构设计和开发工作。


              【部门简介】

              58同城用户价值增长中心-增长数据研发部,主要负责用户增长相关数据仓库、数据平台建设,旨在数据赋能业务,为企业运营提供更高效的数据支持。


              本文分享自微信公众号 - 58技术(architects_58)。
              如有侵权,请联系 [email protected] 删除。
              本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

              微软开源基于 Rust 的 OpenHCL 字节跳动商业化团队模型训练被“投毒”,内部人士称未影响豆包大模型 华为正式发布原生鸿蒙系统 OpenJDK 新提案:将 JDK 大小减少约 25% Node.js 23 正式发布,不再支持 32 位 Windows 系统 Linux 大规模移除疑似俄开发者,开源药丸? QUIC 在高速网络下不够快 RustDesk 远程桌面 Web 客户端 V2 预览 前端开发框架 Svelte 5 发布,历史上最重要的版本 开源日报 | 北大实习生攻击字节AI训练集群;Bitwarden进一步脱离开源;新一代MoE架构;给手机装Linux;英伟达真正的护城河是什么?
              {{o.name}}
              {{m.name}}

              猜你喜欢

              转载自my.oschina.net/u/5359019/blog/10398401