关于 data-analyst
面向数据分析人员的商业智能与数据分析技能,侧重 SQL、仪表板和业务指标。通过查询优化、KPI 定义、可视化及用户行为分析,将数据转化为业务决策依据。
主要功能
- 01仪表板设计与报告
- 02复杂 SQL 查询编写
- 03查询性能优化
- 04KPI 定义与标准化
- 05队列、漏斗与留存分析
适用场景
- 01构建销售业绩仪表板
- 02查找注册漏斗中的流失点
- 03解答临时业务问题
- 04自动化定期报告
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill data-analyst安装后在 Claude Code 中输入/data-analyst确认已加载。
详细介绍
数据分析师
目的
提供商业智能和数据分析方面的专业能力,专注于 SQL、仪表板设计和以指标为驱动的洞察。通过查询优化、KPI 定义和引人注目的可视化,将原始数据转化为可执行的商业智能。
适用场景
- 创建或优化仪表板(Tableau、Power BI、Looker、Superset)
- 编写复杂的 SQL 查询,用于数据提取和分析
- 定义并统一业务 KPI(Churn、ARR、MAU、Conversion)
- 开展临时分析,解答特定业务问题
- 分析用户行为(群组、漏斗、留存)
- 自动化报告工作流
核心能力
商业智能
- 使用 BI 工具设计并构建交互式仪表板
- 创建自动化报告管道和数据刷新计划
- 为业务用户实现自助分析功能
- 制定 KPI 框架和指标定义
SQL 和数据提取
- 编写包含窗口函数、CTE 和高级连接的复杂查询
- 优化大型数据集的查询性能
- 创建可复用的视图和物化表
- 实现从多个数据源提取数据
数据可视化
- 为不同的数据故事选择恰当的图表类型
- 设计清晰、直观的仪表板布局
- 实现配色方案和视觉层级
- 创建用于探索的交互式可视化
业务洞察
- 将数据发现转化为可执行的业务建议
- 开展群组分析、漏斗分析和留存分析
- 进行趋势分析和预测
- 向非技术利益相关者传达发现
3. 核心工作流
工作流 1:仪表板设计与实现
目标: 为执行团队创建“销售绩效”仪表板。
步骤:
-
收集需求
- 受众: 销售副总裁、区域经理。
- 待解答的问题:“我们达到目标了吗?”,“哪个区域表现落后?”,“哪些销售代表表现最佳?”
- 关键指标: 总收入、配额达成率、同比增长、销售管道覆盖率。
-
数据准备(SQL)
WITH sales_data AS ( SELECT r.region_name, s.sales_rep_name, DATE_TRUNC('month', o.order_date) as sales_month, SUM(o.amount) as revenue, COUNT(DISTINCT o.order_id) as deal_count FROM orders o JOIN sales_reps s ON o.rep_id = s.id JOIN regions r ON s.region_id = r.id WHERE o.status = 'closed_won' AND o.order_date >= DATE_TRUNC('year', CURRENT_DATE) GROUP BY 1, 2, 3 ), quotas AS ( SELECT sales_rep_name, month, quota_amount FROM sales_quotas WHERE year = EXTRACT(YEAR FROM CURRENT_DATE) ) SELECT s.*, q.quota_amount, (s.revenue / NULLIF(q.quota_amount, 0)) as attainment_pct FROM sales_data s LEFT JOIN quotas q ON s.sales_rep_name = q.sales_rep_name AND s.sales_month = q.month; -
可视化设计(概念方案)
- 顶层(KPI 卡片): 总收入与目标对比、同比增长率。
- 趋势(折线图): 月收入与配额趋势线。
- 细分(条形图): 各区域的配额达成率(按降序排序)。
- 详情(表格): 前 10 名销售代表(收入、交易数、赢单率)。
-
实现与交互
- 添加“区域”和“日期范围”筛选器。
- 设置从区域条形图钻取到销售代表详情列表。
- 添加显示月环比变化的工具提示。
-
质量检查
- 根据源系统(CRM)验证数据。
- 检查性能(加载时间 < 5s)。
- 验证筛选器交互。
工作流 3:漏斗分析(转化)
目标: 找出注册流程中的瓶颈。
步骤:
-
定义步骤
- 落地页浏览
- 注册按钮点击
- 表单提交
- 邮箱确认
-
SQL 分析
SELECT COUNT(DISTINCT CASE WHEN step = 'landing_view' THEN user_session_id END) as step_1_landing, COUNT(DISTINCT CASE WHEN step = 'signup_click' THEN user_session_id END) as step_2_click, COUNT(DISTINCT CASE WHEN step = 'form_submit' THEN user_session_id END) as step_3_submit, COUNT(DISTINCT CASE WHEN step = 'email_confirm' THEN user_session_id END) as step_4_confirm FROM web_events WHERE event_date >= DATEADD('day', -30, CURRENT_DATE); -
计算转化率
- 步骤 1 到 2:(步骤 2 / 步骤 1)* 100
- 步骤 2 到 3:(步骤 3 / 步骤 2)* 100
- 步骤 3 到 4:(步骤 4 / 步骤 3)* 100
- 总体:(步骤 4 / 步骤 1)* 100
-
生成洞察
- “从点击到提交的流失率为 60%。这很高,可能是表单填写不便或验证错误导致的。”
- 建议:“简化表单字段,或添加社交登录。”
工作流 5:嵌入式分析(产品集成)
目标: 在你的 SaaS 产品中嵌入“客户使用情况”仪表板,供用户查看。
步骤:
-
创建仪表板(参数化)
- 在 BI 工具(例如 Looker/Superset)中创建仪表板。
- 添加全局参数
customer_id。 - 筛选所有图表:
WHERE organization_id = {{ customer_id }}。
-
安全性(行级安全)
- 确保客户端无法更改
customer_id。 - 使用由后端生成的签名 URL(JWT)。
- 确保客户端无法更改
-
前端集成(React)
import { EmbedDashboard } from '@superset-ui/embedded-sdk'; useEffect(() => { EmbedDashboard({ id: "dashboard_uuid", supersetDomain: "https://superset.mycompany.com", mountPoint: document.getElementById("dashboard-container"), fetchGuestToken: () => fetchGuestTokenFromBackend(), dashboardUiConfig: { hideTitle: true, hideTab: true } }); }, []); -
性能调优
- 在 BI 服务上启用缓存(TTL 为 5-15 分钟)。
- 对底层数据使用预聚合表。
5. 反模式与注意事项
❌ 反模式 1:过度使用饼图
表现形式:
- 用饼图展示 15 个不同类别。
- 用饼图比较相近的数值(例如 49% 和 51%)。
问题所在:
- 人脑难以准确比较角度和面积。
- 较小的扇区会变得难以辨认。
- 无法看出趋势。
正确做法:
- 使用条形图进行比较。
- 仅在“部分与整体”是唯一要传达的信息时,才将饼图/环形图用于 2-4 个不同类别(例如移动端与桌面端)。
❌ 反模式 2:在 BI 工具中编写复杂逻辑
表现形式:
- 在 Tableau/Power BI 中创建 50 多个计算字段,包含复杂的
IF/ELSE和字符串处理逻辑。 - 在 BI 工具层中执行连接和聚合,而不是使用 SQL。
问题所在:
- 性能: 仪表板需要即时计算逻辑,因此加载缓慢。
- 维护: 逻辑隐藏在工具中,难以进行版本控制或调试。
- 复用性: 其他工具或分析师无法复用这些逻辑。
正确做法:
- 将逻辑前移到数据库/SQL 层。
- 创建一个整洁的视图或表(
mart_sales),其中所有计算字段都已预先计算。 - BI 工具只需可视化数据,而不是转换数据。
❌ 反模式 3:指标定义不一致
表现:
- 市场营销部门将“潜在客户”定义为“获取电子邮件”。
- 销售部门将“潜在客户”定义为“通过电话进行资格审核”。
- 仪表板显示的数据相互矛盾。
失败原因:
- 失去对数据的信任。
- 浪费时间核对数据。
正确做法:
- 数据字典: 明确记录定义。
- 认证数据集: 使用受治理的层(例如 Looker Explores、dbt Models),在代码中只定义一次指标。
7. 质量检查清单
视觉设计:
- 标题和描述: 每张图表都有清晰的标题和副标题,说明它展示的内容。
- 上下文: 数字包含上下文信息(例如,“与上月相比的增长率”“与目标相比”)。
- 颜色: 有意识地使用颜色(例如,用红色/绿色表示情绪,使用一致的品牌色),并确保色盲人士也能辨识。
- 杂乱: 移除不必要的网格线、边框和背景(数据墨水比)。
数据完整性:
- 验证: 仪表板汇总数据与源系统汇总数据一致(抽查)。
- 空值处理: 明确处理
NULL值(过滤掉或标记为“未知”)。 - 筛选器: 日期筛选器在所有图表中都能正常工作。
- 重复项: 检查联接逻辑是否导致数据扩增(重复项)。
性能:
- 加载时间: 仪表板在 5 秒内加载完成。
- 查询成本: 优化 SQL 查询(使用分区,避免使用 select *)。
- 提取数据: 对于静态历史数据,使用提取数据/导入,而不是实时连接。
易用性:
- 工具提示: 悬停提示提供有用的补充信息。
- 移动设备: 如有需要,确保仪表板在手机/平板电脑上清晰易读。
- 行动: 仪表板能回答“那又怎样?”(并引导采取行动)。
评论
支持 Markdown