数仓 DW层 用户固定漏斗分析主题

【Spark数仓项目】需求七:漏斗模型分析 将数组中元素按照:拼接成一个字符串 [1001_display:1002_addCart:1003_order:1004_pay]将一个设备的多个行为存储到数组中,并且排序 [1001_display,1002_addCart,1003_order,1004_pay]这段查询会将同一个设备的事件按照时间顺序拼接成一个字符串,并使用冒号作为分隔符,用于后续的分析和处理。2.然后在外层通过正则表达式匹配拼接后的字符串中的事件序列,然后根据不同的事件序列返回相应的步骤数。– 经过每个步骤的人数。 阅读详情

数仓 DW层 用户固定漏斗分析主题

1. 背景

  1. 在app业务和流程设计中,页面和页面之间,流程和流程之间的每个环节并不是100%流转下去的。例如大家使用购物App,从商品详情页到下单页面,到支付页面,中间可能随时因为各种原因跳出。这时候就涉及到漏斗分析,也就是分析这些环节之间的转换率。
  2. 在当今快节奏开发,推崇敏捷开发时代,不管是什么app,都不会一开始就做成尽善尽美,反而只会有核心功能,然后接入比较完整的数据分析和观察工具后,每个迭代周期根据线上数据分析和用户反馈进行迭代优化。这样就可以使用2周一个迭代的快速开发优化出最终想要的app。
  3. 只不过使用上述方式,有一个很重要的前提,就是需要有一个技术团队可以支撑这么快速的迭代,同时有足够的数据采集和分析工具可以提供相对完善完整的线上数据分析用来支撑决策。
  4. 本文涉及的漏斗分析,用在关键环节和页面分析时是有很大作用的。
  5. 大家都知道解决问题的前提是发现问题,而漏洞分析就是用来发现问题的。如果商品详情页到下单页面的转换率太低,漏斗分析就可以看出来。
    PS:
    业内经典案例有如将支付按钮变大,支付按钮红色加深等方式让下单率提升50%甚至更高的案例。就是因为发现流程的页面漏斗数据异常,进而做优化而得来的。

2. 案例

  1. 模拟

– 漏斗模型的定义:LD_X
step1: pageView,pageid=‘786’
step2: search, keyword 包含 ‘智能手机’
step3: addCart, pname 包含 ‘手机’
step4: submit

  1. 数据样例

– 目标表的数据样例:
2020-10-07,LD_X,step1,g02
2020-10-07,LD_X,step4,g01

  1. 计算
WITH tmp AS
(
SELECT
guid,
concat_ws(',',sort_array(collect_list(concat_ws('_',cast(ts as string),eventid)))) as  event_lst
FROM dwd.app_action_detail
WHERE  dt='2020-10-07'
       AND (
            (eventid = 'pageView' and properties['pageid']='786')
         or (eventid = 'search' and instr(properties['keyword'],'智能手机')>0)
         or (eventid = 'addCart' and instr(properties['pname'],'手机')>0)
         or (eventid = 'submit')
      )
GROUP BY guid
)

INSERT INTO TABLE dws.app_ld_user_compstep PARTITION (dt='2020-10-07')
SELECT   
'2020-10-07' as cacl_dt,
'LD_X'       as ld_name,
guid,
case 
  when regexp_extract(event_lst,'.*?(pageView).*?(search).*?(addCart).*?(submit).*?',4)='submit' then 4 
  when regexp_extract(event_lst,'.*?(pageView).*?(search).*?(addCart).*?',3)='addCart' then 3 
  when regexp_extract(event_lst,'.*?(pageView).*?(search).*?',2)='search' then 2 
  when regexp_extract(event_lst,'.*?(pageView).*?',1)='pageView' then 1  
  else null 
end as compstep  
FROM tmp
;
  1. 思路分析
  • 如果行为数据中,需要拿到一系列页面浏览数据的漏斗,则数据展示出来必定是根据时间排序,用户依次进行了页面p1,p2,p3,p4的浏览
  • 则在这个过程中,可以直接提取出关键信息,将用户的页面浏览id提取出来,使用concat_ws拼接为字符串,再转为数组,再拼接起来,这样一来就可以得到一个很长的字符串,然后使用正则表达式去匹配,就饿可以得到一系列页面浏览数据。

这个处理思路最关键的思路就是将列数据转行,用到了concat和collect as,最终将数据转为了一个长字符串

注意行转列和列转行是sql中常见做法,主要是为了将数据转换。

企业数仓AI工程化实践:基于Claude Code的SQL生成与审查 在数据仓库开发领域,SQL生成与性能优化是提升开发效率与保障数据质量的核心环节。其原理在于将复杂的业务逻辑转化为高效、规范的查询语言,这直接关系到数据处理任务的执行性能与资源成本。传统模式下,工程师需手动编写并反复调试SQL,过程繁琐且易出错。随着大语言模型技术的发展,AI辅助编程为这一过程带来了革新。通过构建工程化的AI助手集成框架,能够将模型能力稳定、可控地应用于ETL开发、SQL审查、数据质量规则生成等具体场景,实现从自然语言描述到可执行代码的自动化转换与优化。这不仅大幅提升了开发效率,降低了技术门槛 阅读详情

相关推荐

数仓分层——ODS、DW、ADS

ODS(Operational Data Store,运营数据存储)是数据仓库体系结构中的一个重要组成部分,通常作为数据仓库架构中的第一个层次或者与原始数据层紧密相关。ODS 层主要用于存储和处理来自业务应用系统的实时、操作性数据,提供给业务用户和决策者进行日常的操作性查询和分析。数据来源: ODS 层的数据主要来自于组织内部的业务应用系统,如企业资源计划(ERP)、客户关系管理(CRM)、销售、采购、库存管理系统等。这些系统产生的数据通常是实时、操作性的,包含了组织的日常业务活动的详细信息。数据存储。

麦当当的博客 1万+

详解数据仓库和数据集市:ODS、DW、DWD、DWM、DWS、ADS

还是不太明白 ods 和 dwd 层的区别,有了 ods 层后感觉 dwd 没有什么用了。

xylf1988的专栏 9495

数据仓库--数据分层(ETL、ODS、DW、APP、DIM)

数据仓库各层说明: 一、数据加载层:ETL(Extract-Transform-Load) 二、数据运营层:ODS(Operational Data Store) 三、数据仓库层:DW(Data Warehouse) 1. 数据明细层:DWD(Data Warehouse Detail) 2. 数据中间层:DWM(Data WareHouse Middle) 3. 数据服务层:DWS(Data WareHouse Service) 四、数据应用层:A

hello_java_lcl的博客 5万+

数据仓库介绍(DW)

数据仓库介绍

weixin_65244004的博客 4006

数据仓库之【商品订单数据数仓】07:需求4:漏斗分析

数据仓库之【商品订单数据数仓】07:需求4:漏斗分析

weixin_40612128的博客 888

运营数据分析模型—漏斗分析

漏斗分析可以很好的量化我们各个环节的用户流转和转化的情况漏斗分析的关键是提取出用户路径。

6万+

数据仓库分层

数据分层的设计,在某种程度上也需要通过数据命名来体现,本文的核心在于讲解数据分层的思想和方法,后面会有单独的文章来分享该如何根据数据分层来设计数据表的命名规范。另外,公众号不便于文章的后续更新和修改,因此公众号会发文章的第一版,然后小的改动会在github上进行。因此,单独建了一个github的repo,大家感兴趣也可以点“阅读原文”进入github地址。

weixin_42292594的博客 4983

Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)

Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)算法背景介绍Hessian 矩阵与泰勒多项式关于求t导数与中心点、亚像素点高斯函数作用文献 算法背景介绍 在线结构光视觉传感器中,由线激光器发射出的线结构光,在本质上为一个连续且具有一定厚度的空间光平面,而在目标表面上所形成的具有一定宽度的光条特征,即为该光平面与目标表面相交而成的交线。在该空间光平面的厚度方向上,光强近似服从高斯分布,因而在摄像机采集到的光条图像中,在沿着光条宽度的方向或光条的法线方向上,其灰度也会呈现出类似

jiangxing11的博客 1万+

大数据基础知识科普--数据分层(ETL、ODS、DW、DWD、DWM、DWS、DIM)

零、数据加载层:ETL(Extract-Transform-Load) 一、数据运营层:ODS(Operational Data Store) 二、数据仓库层:DW(Data Warehouse) 1. 数据明细层:DWD(Data Warehouse Detail) 2. 数据中间层:DWM(Data WareHouse Middle) 3. 数据服务层:DWS(Data WareHouse Servce) 三、数据应用层:APP(Application) 四、维表层:(Dimension)

程序人生 4万+

Android音频学习(十四)——加载音频设备

loadHwModule 是 Android 音频系统的核心初始化函数,负责加载音频硬件抽象层(HAL)的模块实现。它建立 AudioPolicyService 与底层硬件的桥梁,将配置文件(audio_policy_config.xml)中的标签<module>定义转化为可操作的硬件对象,加载的是音频硬件模块(HAL实现),每个模块对应一种音频设备类型,以动态库的形式存在,负责与底层音频硬件交互。

miemie2014的博客 1732

【RT-DETR有效改进】利用ASF-YOLO改进特征融合层(附代码 + 详细教程)

本文给大家带来的改进机制是ASF-YOLO(发布于2023.12月份的最新机制),其是特别设计用于细胞实例分割。这个模型通过结合空间和尺度特征,提高了在处理细胞图像时的准确性和速度。在实验中,ASF-YOLO在2018年数据科学竞赛数据集上取得了卓越的分割准确性和速度,达到了0.91的box mAP(平均精度),0.887的mask mAP,以及47.3FPS的推理速度,效果非常的好,这个结构本来是用于分割的,我将其移植到了目标检测的模型上,所以其可以适用于分割和目标检测。

Snu77的博客 2294

数据仓库分层解析(详细)

数据仓库分层是一种组织和管理数据仓库的结构化方法,它将数据仓库划分为不同的层次或级别,每个层次具有特定的功能和目的。这种分层方法有助于管理数据仓库中的数据流程、数据处理和数据访问,并提供一种清晰的结构来支持数据管理和分析需求

super_mochi1 1万+

大数据分析案例-基于随机森林算法构建二手房价格预测模型

通过应用随机森林算法,我们希望建立一个能够有效预测二手房价格的模型。这个模型可以基于各种因素,如区域位置、房屋属性、市场供需等,来预测未来某一时间点的房价。通过提高预测准确性,我们可以更好地把握房地产市场动态,为决策提供更有价值的参考。揭示影响二手房价格的因素及其影响方式:通过分析随机森林算法生成的模型,我们可以进一步了解哪些因素对二手房价格有重要影响,以及这些因素如何影响房价。这有助于我们深入理解房地产市场的运行规律,为制定更为有效的市场策略提供依据。

m0_64336780的博客 1万+

互联网高可用相关技术

异地多活场景下的数据同步 1 什么是单元化 如果仅仅从"单元化”这个词汇的角度来说,我们可以理解为将数据划分到多个单元进行存储。"单元"是一个抽象的概念,通常与数据中心(IDC)概念相关,一个单元可以包含多个IDC,也可以只包含一个IDC。本文假设一个单元只对应一个IDC。 2 如何实现数据同步 需要同步的组件有很多,例如数据库,缓存等,这里以多个Mysql集群之间的数据同步为例进行讲解,实际上缓存的同步思路也是类似。 2.1 基础知识 为了了解如何对不同mysql的数据相互进行同步,..

liao0801_123的博客 728

web渗透--9--识别web应用框架

1、概述 Web框架指纹识别是信息收集过程中的一个重要任务。获悉目标框架的类型必然为测试人员带来极大的优势,如果该框架在之前就被测试过。测试人员不仅可以获得未修补版本中存在的漏洞,还可以了解此框架中特有的错误配置以及已知的文件结构。从而使指纹识别过程显得格外重要。

武天旭的博客 5100

Vue3 - 详解实现网站接入微信扫码登录功能,微信授权生成登录二维码用户用手机扫描二维码登陆,微信扫描二维码登录详细流程及示例代码,支持弹框式、浏览器单独新开页显示,最新vue集成微信扫码授权登录!

vue3,nuxt3,PC网站,网页,微信扫码登录,微信登陆,vue3微信扫码登录,获取个人信息,扫码登录后如何获取用户手机号,微信扫码授权登录,vue3详细实现微信扫一扫登陆,pc网页微信登录,vue3集成微信扫码登录,详细流程和示例源码,第三方扫码登录,vue3微信扫码登录怎么新开一页,跳页显示二维码,内嵌登录二维码,iframe,iframe新页面弹出,弹出一个小窗口显示登录二维码,登录报错,微信扫码没反应,解决手机点登录报错没反应,官方文档,手机扫描微信二维码登录网站,最好用的插件,vue-wxlo

🏆 前端领域优质创作者 1万+

数据仓库理论

仅记录维度建模 维度建模 维度建模划分为事实表、维度表两种类型。 事实表: 在ER模型中抽象出了有实体、关系、属性三种类别,在现实世界中,每一个操作型事件,基本都是发生在实体之间的,伴随着这种操作事件的发生,会产生可度量的值,而这个过程就产生了一个事实表,存储了每一个可度量的事件。 事实表还可以被分为三种 (1)事务型事实表 以每个事务或事件为单位,例如一个销售订单记录,一笔支付记录等,作为事实表里的一行数据。一旦事务被提交,事实表数据被插入,数据就不再进行更改,其更新方式为增量更新。 (2)周期型快照事实

m0_46191714的博客 1212

漫画安全HIDS、EDR、NDR、XDR

漫画安全HIDS、EDR、NDR、XDR

墨痕诉清风的博客 3446

数据仓库体系

先举个例子:对于用户来说,一个用户有一个身份证号,一个户籍地址,多个手机号,多张银行卡,那么与用户粒度相同的粒度属性有身份证粒度,户籍地址粒度,比用户粒度更细的粒度有手机号粒度,银行卡粒度,存在一对一的关系就是相同粒度。在一堆的数据中怎么确认哪些是维度属性呢,如果该列是对具体值的描述,是一个文本或常量,某一约束和行标识的参与者,此时该属性往往是维度属性,数仓工具箱中告诉我们牢牢掌握事实表的粒度,就能将所有可能存在的维度区分开,并且要确保维度表中不能出现重复数据,应使维度主键唯一。

chuixue24的博客 377

cadence17.4和16.6同时安装无法使用的问题

经过对报错的问题分析,发现还是17.4的lic文件和16.6的不一样,16.6的版本总是无法找到自己对应的lic文件。卸载了,重新单独安装16.6,这里就是正确的。包括使用这些工具去修复这些问题,都无法接近。已经放弃了,使用哪个版本就安装 哪个版本。这个也无法解决问题。

D_Katter的博客 2324

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

详解数仓分层设计架构 ODS-DWD-DWS-ADS

这样对于不同层次的数据操作,创建不同层次的任务,可以放到不同层次的任务流中进行执行(大公司一个集群通常每天的定时任务有几千个等待执行,甚至上万个,所以划分不同层次的任务流,不同层次的任务放到对应的任务流中进行执行,会更加方便管理和维护)。每周的订单次数作为一行,粒度为每周。明细表用于存储ODS层原始表转换过来的明细数据,DWD 层的数据应该是一致的、准确的、干净的数据,即对源系统数据ODS层数据进行清洗(去除空值,脏数据,超过极限范围的数据,行式存储改为列存储,改压缩格式)、规范化、维度退化、脱敏等操作。

hellozhxy的博客 7164

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

数据仓库 (Data Warehouse,DW)

ODS: Operational DataStore,操作数据存储,一个面向主题的、集成的、可变的、当前的细节数据集合用于支持即时性、操作型、集成性的信息需求。数据仓库是面向主题设计的,设计目的是为了分析数据,一般存储的是历史数据,但在设计时有意引入几余,采用反范式的方式来设计。数据仓库是一个面向主题的、集成的、非易失的、 反应历史变化的、用来支持企业管理决策的数据集合。数据仓库的数据是随时间而变化的,会定期接收新的集成数据,从而反应出最新的数据变化。通过大量的预处理来提升应用系统的用户体验、分析效率。

weixin_41100967的博客 1607

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

大数据—电商数仓项目

一、课程简介随着技术的飞速发展,经过多年的数据积累,各互联网公司已保存了海量的原始数据和各种业务数据,所以数据仓库技术是各大公司目前都需要着重发展投入的技术领域。数据仓库是面向分析的集成化数据环境,为企业所有决策制定过程,提供系统数据支持的战略集合。通过对数据仓库中数据的分析,可以帮助企业改进业务流程、控制成本、提高产品质量等。二、课程内容本次精心打造的数仓项目的课程,从项目架构的搭建,到数据采集模块的设计、数仓架构的设计、实战需求实现、即席查询的实现,我们针对国内目前广泛使用的Apache原生框架和CDH版本框架进行了分别介绍,Apache原生框架介绍中涉及到的技术框架包括Flume、Kafka、Sqoop、MySql、HDFS、Hive、Tez、Spark、Presto、Druid等,CDH版本框架讲解包括CM的安装部署、Hadoop、Zookeeper、Hive、Flume、Kafka、Oozie、Impala、HUE、Kudu、Spark的安装配置,透彻了解不同版本框架的区别联系,将大数据全生态系统前沿技术一网打尽。在过程中对大数据生态体系进行了系统的讲解,对实际企业数仓项目中可能涉及到的技术点都进行了深入的讲解和探讨。同时穿插了大量数仓基础理论知识,让你在掌握实战经验的同时能够打下坚实的理论基础。三、课程目标本课程以国内电商巨头实际业务应用场景为依托,对电商数仓的常见实战指标以及难点实战指标进行了详尽讲解,具体指标包括:每日、周、月活跃设备明细,留存用户比例,沉默用户、回流用户、流失用户统计,最近连续3周活跃用户统计,最近7天内连续3天活跃用户统计,GMV成交总额分析,转化率及漏斗分析,品牌复购率分析、订单表拉链表的设计等,让学生拥有更直观全面的实战经验。通过对本课程的学习,对数仓项目可以建立起清晰明确的概念,系统全面的掌握各项数仓项目技术,轻松应对各种数仓难题。四、课程亮点本课程结合国内多家企业实际项目经验,特别加入了项目架构模块,从集群规模的确定到框架版本选型以及服务器选型,手把手教你从零开始搭建大数据集群。并且总结大量项目实战中会遇到的问题,针对各个技术框架,均有调优实战经验,具体包括:常用Linux运维命令、Hadoop集群调优、Flume组件选型及性能优化、Kafka集群规模确认及关键参数调优。通过这部分学习,助学生迅速成长,获取前沿技术经验,从容解决实战问题。

数据仓库(DW)的分层架构

1 数据仓库“分层”的优势 (1)把复杂的问题简单化;通过把复杂的问题分解成多层,每次只处理简单任务。 (2)减少重复开发;规范数据分层,通过的中间层数据,能够减少极大的重复计算 (3)隔离原始数据 2 四层分层各自的作用 1 数据操作层ODS(Operational Data Store) 数据源中的数据,经过抽取、洗净、传输,也就说传说中的ETL之后,装入本层 ODS表通常包括两类:一个用于存储当前需要加载的的数据,一个用于存储处理好的历史数据。历史数据一般保存3-6个月后需要清除,以节省

weixin_41655296的博客 2827

数仓建模主题--漏斗转化分析主题

漏斗分析的含义: 分析师定义一个业务路径,路径上各个步骤的完成人数会逐渐递减,呈漏斗状 漏斗分析的结果表设计: 中间汇总表: 主要作用: 记录每个漏斗模型的每个步骤上完成的人数,以便给分析师快速查询报表 计算逻辑: 主要思想:利用正则表达式来判断用户的行为事件序列的模式是否匹配漏斗模型定义中的要求 步骤: 1.先将用户的事件序列,按照漏斗模型定义的条件进行过滤,留下满足条件的事件 2.将同一个人的满足条件的事件ID收集到数据,按时间先后排序,拼接成字符串 3.将拼接好的字符串,

JinVijay的博客 809
上一篇: 数仓 DW层 用户留存分析主题
下一篇: SQL 面试题之行列转置
闻香识代码
博客等级 码龄12年 314粉丝 223原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值