数仓设计与 ETL 规范
数仓设计 划分ETL阶段工作重心,便于管理 降低开发和维护成本 减少需求变化带来的冲击 便于数据问题追踪 数仓分层规范 层级 层级全拼 中文说明 层级描述 DIM dimension 维度层 该层为维度数据,维度是对具体分析对象的分析角度,维度要具备丰富的属性,历史信息的可追溯性,对通用的维表要保持一致性,避免维度二义性。 STG stage 接口层 用于存储源系统主动推送到数仓的数据,存放未经过处理的原始数据至数据仓库系统,结构上与源系统保持一致,考虑后续可能追溯数据,因此对这一层不建议做过多的数据清洗工作,原封不动接入源数据即可,是数据仓库的数据准备区。 ODS operation data store 源数据存储层 用于存储数仓主动抽取源系统的数据,存放未经过处理的原始数据至数据仓库系统,结构上与源系统保持一致,考虑后续可能追溯数据,因此对这一层不建议做过多的数据清洗工作,原封不动接入源数据即可,是数据仓库的数据准备区。 DWD data warehouse detail 明细粒度事实层 以业务过程作为建模驱动,基于每个具体的业务过程特点,构建最细粒度 ...
ECharts 生涯彩虹图
#container { height: 600px; padding: 10px; background: white; border-radius: 12px; } var data1 = [ { value: 7, name: '0' }, { value: 7, name: '1' }, { value: 7, name: '2' }, { value: 6, name: '3' }, { value: 6, name: '4' }, { value: 6, name: '5' }, { value: 6, name: '6' }, { value: 6, name: '7' }, { value: 6, name: '8' }, { value: 6, name: '9' }, { value: 5, name: '10' }, { value: 5, name: '11' }, { value: 5, name: '12' }, { value: 4, name ...
Butterfly 文章增加段落序号
前言又到了月末了,工作太忙,随便鸽一篇文章吧,一个简单 JS 实现的魔改,给文章增加段落序号,弃用原本 butterfly 自带的文章段落前缀符号,使用 JS 生成文章段落序号(与目录的段落序号保持一致)。 需开启目录段落序号的配置项,如果想不显示目录的段落序号,可以使用 CSS 隐藏。 12345678910# Post# --------------------------------------# toc (目錄)toc: post: true page: false number: true expand: false style_simple: false # for post 添加自定义 JS123456789101112function postAddToc () { let postContent = document.querySelector('#post>#article-container.post-content') let cardToc = document.getElementById('ca ...
Butterfly Twikoo 评论热评
前言本文教程主要针对 Hexo Butterfly 主题博客中的 Twikoo 评论,按本文逻辑或许可以获取其他类型的评论,本文不作探讨。 看了其他小伙伴的 评论热评教程,觉得有点复杂,于是自己想了一个方法来实现这个功能。 沿用其他模块中用到的 swiper 轮播 使用本地缓存保存 隐藏或显示 热评,刷新或切换页面时仍 隐藏或显示 热评 增加评论的城市和日期 页面提交评论后会立即更新热评数据 点击 头像 可访问网站 点击 热评 可跳转至评论区 点击 评论内容 可跳转至改评论 此功能需关闭评论的懒加载 _config.butterfly.yml => comments.lazyload: false,否则需等页面活动至评论区才会加载。 1234567891011comments: # Up to two comments system, the first will be shown as default # Choose: Disqus/Disqusjs/Livere/Gitalk/Valine/Waline/Utterances/Facebook Comments/Tw ...
Butterfly 推荐文章增加文章描述
前言本文用于 butterfly 魔改,博主没有测试是否适配于其他主题,以及自定义样式 CSS 可能需要一定的前端知识进行优化。 _config.butterfly.yml 配置文件可修改显示 文字描述(文章 description 属性)还是 文章内容(默认截取 500 字),以及推荐文章数量。 12345# Related Articlesrelated_post: enable: true limit: 6 # Number of posts displayed date_type: created # or created or updated 文章日期顯示創建日或者更新日 12345678# Display the article introduction on homepage# 1: description# 2: both (if the description exists, it will show description, or show the auto_excerpt)# 3: auto_excerpt (default)# false: do not ...
Butterfly 分类标签归档页增加文章索引
前言本文教程主要针对 Hexo Butterfly 主题博客,基于原版主题增加文章索引可能不够美观,只是分享思路,有兴趣和有基础的小伙伴可以对此二次魔改。 开发思路:参考 Hexo 页面变量 中的 page.current 获取当前页码,以及 Hexo 配置文件中 [Blogroot]\_config.yml 的 per_page 每页显示的文章量计算文章索引。 修改文章渲染函数打开 \themes\butterfly\layout\includes\mixins\article-sort.pug 文件。 butterfly4.2.2本站魔改基于原版主题,增加文章索引可能不够美观,只是分享思路。 修改以下代码 12345678910111213141516171819202122- mixin articleSort(posts)+ mixin articleSort(posts, current) .article-sort - var year - posts.each(function (article) { - let t ...
Butterffly 分类页和标签页隐藏侧栏
前言 2022-08-04 更新文章 butterfly4.3.0 版本已增加 tag 和 category 页面可隐藏 aside,但不能隐藏某个 标签 或 分类 的侧边栏。 本文教程主要针对 Hexo Butterfly 主题博客,当用户进入归档、分类、标签页面时,已经是有目的性地浏览文章,此时可以隐藏侧边栏,避免 归档、分类、标签 信息的重复显示,_config.butterfly.yml 配置文件已经有了 归档页 的设置项了,我们需要加上 分类页 和 标签页 的设置项,修改主题源码。 修改主题配置文件butterfly4.2.2butterfly4.3.0打开 _config.butterfly.yml 文件,找到 aside 配置项,添加 分类页 和 标签页 是否显示侧栏的设置项。 123456789101112 aside: enable: true hide: false button: true mobile: true # display on mobile position: right # left or right ar ...
ECharts 时间极坐标
#container { height: 640px; padding: 10px; background: white; border-radius: 12px; } var data = [ { 'name': '日期', 'data': [ 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Sun', 'Mon', 'Mon', ...
ECharts 日期旭日图
#container { height: 640px; padding: 10px; background: white; border-radius: 12px; } var data = [ { 'name': '月', 'data': [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, ...
ECharts 对比漏斗图
#container1, #container2 { height: 500px; padding: 10px; background: white; border-radius: 12px; } var data1 = [ { 'name': '指标', 'data': [ '展示', '点击', '咨询', '下单' ] }, { 'name': '天猫', 'data': [ 3532093380, 1462451270, 639296573, 318559381 ] } ] var data2 = [ { 'name': '指标', 'data': [ '展示', '点击', '咨询', '下单' ] }, { 'name': '天猫', 'data': [ ...
Butterfly 分类标签导航栏
前言本文用于 butterfly 魔改,博主没有测试是否适配于其他主题,以及自定义样式 CSS 可能需要一定的前端知识进行优化。 2022-08-15 适配多分类文章,优化代码 2022-08-16 当分类/标签较多时,导航栏会滚动至当前页面高亮标签。 2023-03-21 修复分类/标签翻页导致无法定位当前分类/标签的问题 效果预览分类导航栏 标签导航栏 新建 catalog_list.js[Blogroot]\themes\butterfly\scripts\helpers\ 目录下新建文件 catalog_list.js,type 参数表示生成 分类导航栏 categories 还是 标签导航栏 tags,其中 <sup>${item.length}</sup> 是使用上标显示文章数量,可参考Butterfly 标签云增加文章数上下标。 1234567891011hexo.extend.helper.register('catalog_list', function (type) { let ...
ECharts 水球图
#container { height: 600px; padding: 10px; background: white; border-radius: 12px; } var data = [ { name: '', data: [] } ] var config = { theme: 'LIGHT', // LIGHT | DARK colors: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc'] } var container = document.getElementById('container') var chart = echarts.getInstanceByDom(container) || echarts.init(container, null, { renderer: 'svg' }) var rowNum = data ...
ECharts 词云图
#container { height: 500px; padding: 10px; background: white; border-radius: 12px; } var data = [ { 'name': 'word', 'data': [ 'Macys', 'Amy Schumer', 'Jurassic World', 'Charter Communications', 'Chick Fil A', 'Planet Fitness', 'Pitch Perfect', 'Express', 'Home', 'Johnny Depp', 'Lena Dunham', 'Lewis Hamilton', 'KXAN', 'Mary Ellen Mark', 'Farrah Abraham', 'Rita Or ...
ECharts 流域图
#container { height: 500px; padding: 10px; background: white; border-radius: 12px; } var data = [ { 'name': 'category', 'data': [ '洁面', '面部精华', '卸妆', '防晒', '身体护理', '面膜', '眼霜', '化妆水爽肤水', '眼部精华', '身体护理', '化妆水爽肤水', '防晒', '洁面', '眼部精华', '面膜', '面部精华', '眼霜', '卸妆', '身体护理', '面膜', '面部精华', '卸妆', '洁面', '化妆水爽肤水', '眼霜', ...
ECharts 流程图
#container { height: 640px; padding: 10px; background: white; border-radius: 12px; } var data = [ { 'name': '需求预测', 'data': [ 4408124 ] }, { 'name': '生产计划', 'data': [ 4827844.65 ] }, { 'name': '质检入仓', 'data': [ 4697866 ] }, { 'name': '实际销售', 'data': [ 3955159 ] }, { 'name': '成品库存', 'data': [ 1244739 ] }, { 'name': '订单缺货', 'data': [ 1078888 ...
库存周转分析
概述模型概念库存管理一直是企业管理的重要组成部分,在企业生产经营活动中,库存管理的好坏将影响到企业的购、销活动等,通过对企业的库存数据进行分析,有利于及时发现库存管理中存在的问题并及时地采取某些应对策略,以减少企业库存的资金占用、管理成本等。 平均存货余额:通常是由物流设施中储备的材料、零部件、在制品和产成品构成。 销货成本:企业当期已售商品之成本,即为制造这些产品所直接投入的原材料、劳动力及分摊的制造费用。 库存周转率:企业在一定时期销货成本与平均存货余额的比率,用于反映库存周转快慢程度。周转率越高表明存货周转速度越快,从成本到商品销售到资金回流的周期越短,销售情况越好。 库存周转天数:企业从取得存货开始,至消耗、销售为止所经历的天数。周转天数越少,说明存货变现速度越快,销售状况越良好。 数据指标 计算公式 平均存货余额 (期初存货金额 + 期末存货金额) / 2期初存货金额:上期账户结转至本期账户的余额,在数额上等于上期期末金额期末存货金额 = 期初金额 + 本期增加发生额 - 本期减少发生额 销货成本 单件销货成本 * 销售件数 库存周转率 销货成本 ...
AARRR 用户运营分析
概述模型概念AARRR 是用户获取(Acquisition)、用户激活(Activation)、用户留存(Retention)、获得收益(Revenue)、推荐传播(Referral),这个五个单词的缩写,分别对应用户生命周期中的 5 个重要环节。AARRR 模型又叫海盗模型,是用户运营过程中常用的一种模型,解释了实现用户增长的 5 个指标:获客、激活、留存、收益、传播,整个 AARRR 模型形成了用户全生命周期的闭环模式,不断扩大用户规模,实现持续增长。 应用意义 Acquisition:获取用户 运营一款产品的第一步,毫无疑问是获取用户,也就是大家通常所说的推广。此时推广人员经验很就显得重要:首先要分析自己产品的特性以及目标人群,与渠道用户进行定位和匹配,要摸清楚每个渠道量级与用户质量,不同产品时期选择不同渠道,是前期铺量还是稳定期保质量。 渠道量级指标:曝光量、点击、下载、安装、激活(注册激活,主动激活、推送激活、交易激活)、累计新增。 渠道质量指标:CTR(点击率),激活率,安装率,CPA 等每用户成本、用户 LTV、1次/1日用户量,用户使用时长、留存率、付费率、ARPU( ...
购物篮分析
概述模型概念购物篮分析(Market Basket Analysis)是关联规则挖掘的应用场景,通过研究用户在一次购买行为中放入购物篮中不同商品之间的关联,研究顾客的购买行为,从而辅助零售企业制定营销策略的一种关联分析方法。 购物篮分析使用分析商品关联性可以用以下指标进行衡量: 指标 定义 概率描述 举例说明 支持度 支持度是指 A 商品和 B 商品同时被购买的概率,或者说某个商品组合的购买次数占总商品购买次数的比例。支持度说明了这条规则在所有事务中有多大的代表性,显然支持度越大,关联规则越重要。 物品集 A 对物品集 B 的支持度 P(A ∩ B) 今天共有 10 笔订单,其中同时购买牛奶和面包的次数是 6 次,那么 牛奶+面包 组合的支持度就是 6/10=60% 置信度 置信度是指购买 A 之后又购买 B 的条件概率,简单说就是因为购买了 A 所以购买了 B 的概率 物品集 B 对物品集 A 的置信度 confidence P(B|A) = P(A ∩ B) / P(A) 今天共有 10 笔订单,其中购买 A 的次数是 8,同时购买 A 和 B 的次 ...
电商转化漏斗模型
概述模型概念电商转化作为电商运营重点关注的一个环节,是千万卖家最关注的,也是最难界定的指标。转化漏斗模型,是分析用户在使用某种业务的情景下,经过一系列步骤转化效果的方法,转化分析的本质是为了促进企业的核心业务的流通,最大化每个营销漏斗的转化率。 应用意义在理想的情况,用户会沿着产品设计的路径到达最终目标事件,但实际情况是用户的行为路径是多种多样的。通过埋点事件配置关键业务路径,可以分析多种业务场景下转化和流失的情况,不仅能够找出产品潜在问题的位置,还可以定位每个环节的流失用户,进而定向营销促转化。 实战基础数据这里选择 电商客户行为日志数据进行分析,数据字段为: event_time:事件时间 event_type:事件类型(view、cart、purchase) product_id:产品 ID category_id:产品分类 ID category_code:产品分类 brand:品牌 price:价格 user_id:用户 ID user_session:用户 Session 部分数据如下: event_time event_type product_id cate ...
波士顿矩阵
概述模型概念波士顿矩阵(BCG Matrix),又称市场增长率--相对市场份额矩阵、波士顿咨询集团法、四象限分析法、产品系列结构管理法等,由美国著名的管理学家、波士顿咨询公司创始人布鲁斯·亨德森于 1970 年创作。 波士顿矩阵认为一般决定产品结构的基本因素有两个:即市场引力与企业实力,通过销售增长率(反映市场引力的指标)和市场份额(反映企业实力的指标)来分析决定企业的产品结构。 市场引力:包括整个市场的销售量(额)增长率、竞争对手强弱及利润高低等。其中最主要的是反映市场引力的综合指标--销售增长率,这是决定企业产品结构是否合理的外在因素。 企业实力:包括市场份额,技术、设备、资金利用能力等,其中市场份额是决定企业产品结构的内在要素,它直接显示出企业竞争实力。销售增长率与市场份额既相互影响,又互为条件:市场引力大,市场占有高,可以显示产品发展的良好前景,企业也具备相应的适应能力,实力较强;如果仅有市场引力大,而没有相应的高市场份额,则说明企业尚无足够实力,则该种产品也无法顺利发展。相反,企业实力强,而市场引力小的产品也预示了该产品的市场前景不佳。 通过以上两个因素相互作用,会出现四 ...