Order Analytics
订单数据业务分析仪表盘生成器。当用户提供订单Excel/CSV数据(含日期、金额、用户ID、场地/商品、时段等字段),需要生成业务分析报告、经营诊断、用户留存/频次分析、时段热力图、趋势对比、运营方案时,使用本技能。适用场景:场馆运营(羽毛球/网球/篮球/游泳)、餐饮门店、零售订单、服务业预约等任何有订单记录的业务场景。支持自定义配色(上传Logo图片或提供HEX/RGB色值)或选择预设主题。触发词:订单分析、经营诊断、用户分析、场次分析、留存分析、趋势分析、运营仪表盘、业务报告、数据报告。 Skill: Order Analytics Owner: minibeanai Summary: 订单数据业务分析仪表盘生成器。当用户提供订单Excel/CSV数据(含日期、金额、用户ID、场地/商品、时段等字段),需要生成业务分析报告、经营诊断、用户留存/频次分析、时段热力图、趋势对比、运营方案时,使用本技能。适用场景:场馆运营(羽毛球/网球/篮球/游泳)、餐饮门店、零售订单、服务业预约等任何有订单记录的业务场景。支持自定义配色(上传Logo图片或提供HEX/RGB色值)或选择预设主题。触发词:订单分析、经营诊断、用户分析、场次分析、留存分析、趋势分析、运营仪表盘、业务报告、数据报告。 Tags: latest:0.1.0 Version history: v0.1.0 | 2026-07-25T16:26:48.892Z | auto order-analytics v0.1.0 — Initial Release - C
Rank
62
Safety
84
Downloads
3.0k
Updated
Oct 9, 2026
Version
0.1.0
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 3K downloads reported by the source. Last updated 10/9/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 9, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 9, 2026
- Adoption signal
- 3K downloadsadoption · observed Oct 9, 2026
- Latest release
- 0.1.0release · observed Jul 25, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17b01j3yq2xecvwp3zcr41adh83nyep:business-data-analysis- Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-minibeanai-business-data-analysis/snapshot"
Documentation
CLAWHUB
45,292 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: order-analytics
description: 订单数据业务分析仪表盘生成器。当用户提供订单Excel/CSV数据(含日期、金额、用户ID、场地/商品、时段等字段),需要生成业务分析报告、经营诊断、用户留存/频次分析、时段热力图、趋势对比、运营方案时,使用本技能。适用场景:场馆运营(羽毛球/网球/篮球/游泳)、餐饮门店、零售订单、服务业预约等任何有订单记录的业务场景。支持自定义配色(上传Logo图片或提供HEX/RGB色值)或选择预设主题。触发词:订单分析、经营诊断、用户分析、场次分析、留存分析、趋势分析、运营仪表盘、业务报告、数据报告。
---
# 订单业务分析仪表盘技能
## 概述
将原始订单数据转化为**交互式HTML分析报告**,6个Tab完整覆盖趋势→对比→时段→用户→流量→运营方案,支持桌面和手机端。**全程使用整月日均口径**,不做半月/等长截取对比。
> 📎 完整案例:`references/example-badminton.html` — 星辰羽毛球馆,紫色主题,6Tab
---
## 第一步:确认输入与配置
开始前确认以下信息(已在对话中提供则直接使用):
### 1.1 数据文件
- 格式:`.xlsx`(用 `calamine` 引擎)/ `.csv`
- 必须字段:**订单日期、订单金额(或实收金额)、用户标识(手机号/用户ID)**
- 可选字段:场地/商品/服务类型、时段、订单状态、优惠金额
### 1.2 配色方案(四选一)
```
A. 上传Logo图片 → 运行 scripts/extract_colors.py 提取主色
B. 提供HEX色值 → 如 #7B5EA7(主色)+ #5B8DD9(辅色)
C. 提供RGB色值 → 如 rgb(123,94,167)
D. 选择预设主题(见 references/color-themes.md):
1. 紫蓝(精品/运动) 2. 橙绿(活力/场馆)
3. 深蓝(科技/金融) 4. 米棕(优雅/餐饮) 5. 深色(夜间/高端)
```
### 1.3 业务场景说明(影响 Tab5 内容)
- 是否已开通大众点评商户通?
- **已开通** → Tab5 展示点评流量分析(渠道来源、转化漏斗、团购表现、评价口碑)
- **未开通** → Tab5 展示开通调研分析(新客来源现状、开通收益测算)
- 是否有竞品信息?→ Tab6 运营方案末尾加竞品对比表
---
## 第二步:数据处理
> 完整规范见 `references/data-processing.md`
### 2.1 读取与字段识别
```python
import pandas as pd
df = pd.read_excel(path, engine='calamine') # 或 read_csv
FIELD_PATTERNS = {
'date': ['预订日期','下单时间','订单日期','日期','date','order_date'],
'amount': ['订单最终金额','实收金额','订单金额','金额','amount','price'],
'user_id': ['手机号','用户ID','会员号','user_id','phone'],
'item': ['场地','商品','服务','项目','item','product'],
'slot': ['预订时段','时段','slot','time_slot'],
}
```
### 2.2 核心计算口径(⚠️ 关键原则)
**所有月度对比一律使用整月日均,不得用绝对总场次比较不同天数的月份。**
```python
# 整月日均(排除节假日锁场期,如春节)
monthly = df_clean.groupby('month').agg(
op_days=('date', lambda x: x.dt.date.nunique()),
total_orders=('amount','count'),
total_rev=('amount','sum'),
active_users=('user_id','nunique'),
)
monthly['daily_orders'] = (monthly['total_orders'] / monthly['op_days']).round(1)
monthly['daily_rev'] = (monthly['total_rev'] / monthly['op_days']).round(0)
```
**新老用户判断:**
```python
old_pool_months = sorted(df['month'].unique())[:3] # 前3个月为老用户基准
old_pool = set(df[df['month'].isin(old_pool_months)]['user_id'])
```
**新用户次月留存:**
```python
first_order = df.groupby('user_id')['date'].min()
for mo, next_mo in zip(months[:-1], months[1:]):
new_this = {u for u in set(df[df['month']==mo]['user_id'])
if u not in old_pool and first_order[u] >= pd.Timestamp(f'{mo}-01')}
retained = new_this & set(df[df['month']==next_mo]['user_id'])
retention = len(retained) / len(new_this)
```
**逐小时日均(整月,带 tooltip index mode):**
```python
for mo in months:
m = df_clean[df_clean['month']==mo]
days = m['date'].dt.date.nunique()
hourly[mo] = {h: round(len(m[m['hour']==h])/days, 2) for h in range(8,22)}
hchg = {h: round((hourly[last_mo][h]-hourly[ref_mo][h]) /
max(hourly[ref_mo][h],0.01)*100, 1)
for h in range(8,22)}
```
---
## 第三步:配色主题
> 完整代码见 `references/color-themes.md`
### 3.1 预README.md
# Business Data Analysis Skill Transform raw order data into **interactive HTML analysis reports** with 6 tabs covering trends→comparison→time slots→users→traffic→operations, supporting desktop and mobile. ## Features - 📊 **Overall Trends** - Daily average revenue line chart, orders+users dual-axis bars, frequency stack, new/old user stack, retention rate - 🔍 **Monthly Comparison** - 5-period monthly comparison cards, daily avg orders/revenue, time slot breakdown, weekday/weekend analysis - ⏱ **Time Analysis** - 5-period monthly line charts, heatmap, time slot bars, insight panels - 👤 **User Structure** - New/old user stacked bars, frequency distribution, retention rate, active old user rate - 📍 **Review Traffic** - Enabled: source pie + conversion funnel + deal table / Not enabled: status + analysis - 🎯 **Operations Plan** - 3+3 strategy cards (P0/P1/P2) + competitor comparison ## Use Cases - Venue operations (badminton/tennis/basketball/swimming) - Restaurant stores - Retail orders - Service appointments - Any business with order records ## Supported Data Formats - Format: `.xlsx` / `.csv` - Required fields: order date, order amount, user ID (phone/user ID) - Optional fields: venue/product/service type, time slot, order status, discount amount ## Color Themes 5 preset themes available: 1. Purple-Blue (Premium/Sports) 2. Orange-Green (Vibrant/Venue) 3. Deep Blue (Tech/Finance) 4. Beige-Brown (Elegant/Restaurant) 5. Dark (Night/Luxury) Also supports extracting main colors from logo images. ## Core Calculation Standard All monthly comparisons use **full-month daily average** - no half-month or equal-length截取 comparison. ## Usage 1. Provide order Excel/CSV data file 2. Choose color theme (preset or custom) 3. Explain business scenario (has Dianping store or not) 4. AI automatically generates interactive analysis report ## Example Full example: `references/example-badminton.html` — Xingchen Badminton Center, purple theme, 6 tabs ## Tech Stack - Python (Pandas) - Data processing - Chart.js - Data visualization - HTML/CSS - Responsive reports ## License MIT License
_meta.json
{
"ownerId": "kn73gm1jmjpw7wv3xmg636vved822xw9",
"slug": "business-data-analysis",
"version": "0.1.0",
"publishedAt": 1784996808892
}references/color-themes.md
# 配色主题规范
## 1. 预设主题(直接复制使用)
### 主题1 — 紫蓝(精品/运动,技能示例主题)
此主题来自「星辰羽毛球馆」案例,参考图片:薰衣草色运动服+星空深紫背景。
```css
:root{
--bg:#F5F3FA; --s1:#FFFFFF; --s2:#EDE8F5; --bd:#D8D0EC;
--c1:#7B5EA7; --c2:#5B8DD9; --c3:#9B7DC7; --c4:#A390C8;
--red:#B04848; --t:#1A1525; --mu:#7A6E90; --mu2:#C8C0DC; --tx:#2D2640;
}
```
- Hero: `background:linear-gradient(135deg,#5B3A8A,#6B4A9A,#4A3A7A); border-bottom:3px solid #3D2A6A`
- Tab: `background:#4A3080; border-bottom:3px solid #35206A`
- Tab激活: `border-bottom-color:#CDB8F5`
- 图表配色: `C1='#7B5EA7', C2='#5B8DD9', C3='#9B7DC7', C4='#A390C8', RED='#B04848', PUR='#A040A0'`
- 新用户色: `C2+'55'`(蓝色),老用户色: `C1+'66'`(紫色)
### 主题2 — 橙绿(活力/运动场馆)
```css
:root{
--bg:#F8F6F2; --s1:#FFFFFF; --s2:#F4F1EC; --bd:#E8E3DA;
--c1:#4A7C59; --c2:#C97040; --c3:#D4884A; --c4:#5A8A6A;
--red:#B04848; --t:#1A1A1A; --mu:#666666; --mu2:#CCCCCC; --tx:#333333;
}
```
- Hero: `background:linear-gradient(135deg,#B8694A,#A85C40,#985234); border-bottom:3px solid #8A4A2C`
- Tab: `background:#4E7A62; border-bottom:3px solid #3A6550`
- Tab激活: `border-bottom-color:#C97040`
- 图表配色: `C1='#4A7C59', C2='#C97040', C3='#D4884A', C4='#5A8A6A', RED='#B04848'`
### 主题3 — 深蓝(科技/金融)
```css
:root{
--bg:#F0F4FA; --s1:#FFFFFF; --s2:#E8EEFA; --bd:#D0DAEE;
--c1:#2563EB; --c2:#F59E0B; --c3:#FBB040; --c4:#3B82F6;
--red:#DC2626; --t:#0F172A; --mu:#64748B; --mu2:#CBD5E1; --tx:#1E293B;
}
```
- Hero: `background:linear-gradient(135deg,#1E3A8A,#1E40AF); border-bottom:3px solid #1A3570`
- Tab: `background:#1E4080; border-bottom:3px solid #1A3570`
### 主题4 — 米棕(精品/餐饮/咖啡)
```css
:root{
--bg:#FAF8F4; --s1:#FFFFFF; --s2:#F4F0E8; --bd:#E4DCCB;
--c1:#8B6F47; --c2:#C4813D; --c3:#D4956A; --c4:#A08060;
--red:#A84040; --t:#2C1F12; --mu:#7A6550; --mu2:#D0C4B0; --tx:#3D2E1C;
}
```
- Hero: `background:linear-gradient(135deg,#7A5A38,#5A3A20); border-bottom:3px solid #4A2A10`
- Tab: `background:#6B5540; border-bottom:3px solid #5A4530`
### 主题5 — 深色(夜间/高端)
```css
:root{
--bg:#0F1A0D; --s1:#162014; --s2:#1E2E1A; --bd:#2A4024;
--c1:#4ADE80; --c2:#FB923C; --c3:#FACC15; --c4:#34D399;
--red:#F87171; --t:#D8F0D0; --mu:#7AAA68; --mu2:#2A4024; --tx:#C8E8C0;
}
```
- Hero: `background:linear-gradient(135deg,#0D1F0A,#0F1A0D); border-bottom:3px solid #080F06`
- Tab: `background:#1A3020; border-bottom:3px solid #0D2018`
- 热力图颜色需调整(深色背景):使用更亮的颜色
---
## 2. 从Logo图片提取颜色
运行 `scripts/extract_colors.py`:
```bash
python3 scripts/extract_colors.py /path/to/logo.png --output css
```
输出示例:
```
提取颜色: #7B5EA7 (主), #5B8DD9 (辅)
:root {
--c1: #7B5EA7;
--c2: #5B8DD9;
...
}
```
---
## 3. 从HEX/RGB手动构建主题
给定主色 `primary` 和辅色 `accent`,套用如下规则:
```
--bg: primary 极浅化 (lighten 90%+, desaturate)
--s1: #FFFFFF
--s2: primary 浅化 (lighten 85%)
--bd: primary 浅化 (lighten 70%)
--c1: primary (主色,老用户/主指标/卡片左边条)
--c2: accent (辅色,新用户/次指标/强调)
--c3: accent 浅一档
--c4: primary 浅一档
--t: 非常深的同色系色(正文)
--mu: 中灰偏主色调(次要文字)
Hero bg: primary 深化渐变(-10% → -20% → -30% lightness)
Tab bg: primary 深化 -20%
```
Preferences/data-processing.md
# 数据处理详细规范
## 1. 字段识别
### 自动映射规则(模糊匹配,优先级从高到低)
```python
FIELD_PATTERNS = {
'date': ['预订日期', '下单时间', '订单日期', '日期', 'date', 'order_date', 'created_at'],
'amount': ['订单最终金额', '实收金额', '实付金额', '订单金额', '金额', 'amount', 'price', 'total'],
'order_amount': ['订单金额', '原价', 'original_price'],
'user_id': ['手机号', '用户ID', '会员号', 'user_id', 'phone', 'member_id', 'customer_id'],
'item': ['场地', '商品', '服务', '项目', '品类', 'item', 'product', 'service', 'court'],
'slot': ['预订时段', '时段', '时间段', 'slot', 'time_slot', 'hour'],
'status': ['订单状态', '状态', 'status', 'order_status'],
'discount': ['优惠金额', '折扣', 'discount', 'coupon'],
}
def detect_fields(df):
mapping = {}
for std_name, patterns in FIELD_PATTERNS.items():
for col in df.columns:
if any(p.lower() in col.lower() for p in patterns):
mapping[std_name] = col
break
return mapping
```
### 必须字段处理
- `date`:缺失则报错,提示用户指定日期列
- `amount`:缺失则尝试用 `order_amount` 代替,仍缺则只统计场次不统计收入
- `user_id`:缺失则只做订单分析,跳过用户留存分析
---
## 2. 多行拆分(场馆/多项目场景)
### 触发条件
字段值包含 `;` 分隔符,如:
- `场地`: `场地01;场地03`
- `时段`: `08:00~09:00;09:00~10:00`
### 拆分逻辑
```python
from itertools import product
def expand_row(row, item_col, slot_col):
items = str(row[item_col]).split(';') if item_col else ['unknown']
slots = str(row[slot_col]).split(';') if slot_col else ['unknown']
# 判断展开模式
if len(items) == 1 or len(slots) == 1:
combos = list(product(items, slots))
else:
# 先尝试配对(1:1映射)
n = max(len(items), len(slots))
paired = [(items[min(i,len(items)-1)], slots[min(i,len(slots)-1)]) for i in range(n)]
# 验证配对总价是否接近原始金额
# 如不匹配则改用笛卡尔积
combos = paired # 默认配对
return combos
def split_amount(total, std_prices, total_std):
"""按标准单价比例分摊金额"""
if total_std == 0:
return [total / len(std_prices)] * len(std_prices)
return [total * p / total_std for p in std_prices]
```
---
## 3. 核心指标计算规范
### 3.1 时间处理
```python
df['date'] = pd.to_datetime(df['date'], errors='coerce', infer_datetime_format=True)
df['month'] = df['date'].dt.to_period('M').astype(str)
df['day'] = df['date'].dt.day
df['weekday'] = df['date'].dt.weekday # 0=周一, 6=周日
df['is_weekend'] = df['weekday'] >= 5
df['hour'] = df['date'].dt.hour # 如果时段是时间戳
# 如果时段是字符串如"08:00~09:00",提取起始小时:
df['hour'] = df['slot'].str.extract(r'(\d+):').astype(float)
```
### 3.2 月度日均指标(推荐口径,排除天数差异)
```python
def calc_monthly(df, exclude_dates=None):
"""
exclude_dates: list of (month, day_start, day_end) tuples for lockout periods
e.g., [('2026-02', 15, 22)] for CNY lockout
"""
if exclude_dates:
for month, d1, d2 in exclude_dates:
mask = (df['month'] == month) & df['day'].between(d1, d2)
df = df[~mask]
monthly = df.groupby('month').agg(
total_orders=('amount', 'count'),
total_rev=('amount', 'sum'),
active_users=('user_id', 'nunique'),
op_days=('date', laactivepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/minibeanai/skills/business-data-analysis",
"sourceUrl": "https://clawhub.ai/minibeanai/skills/business-data-analysis",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T10:24:40.288Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-minibeanai-business-data-analysis/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-minibeanai-business-data-analysis/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T10:24:40.288Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "3K downloads",
"href": "https://clawhub.ai/minibeanai/business-data-analysis",
"sourceUrl": "https://clawhub.ai/minibeanai/business-data-analysis",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T10:24:40.288Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "0.1.0",
"href": "https://clawhub.ai/minibeanai/business-data-analysis",
"sourceUrl": "https://clawhub.ai/minibeanai/business-data-analysis",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-07-25T16:26:48.892Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-minibeanai-business-data-analysis/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-minibeanai-business-data-analysis/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 0.1.0",
"description": "order-analytics v0.1.0 — Initial Release - Converts raw order data (Excel/CSV) into an interactive HTML business analytics dashboard, suitable for venues, retail, F&B, and service industries. - Covers comprehensive business analysis across 6 tabs: Trends, Comparison, Time Slots, User Structure, Dianping Traffic (if applicable), and Operational Strategy. - Implements strict monthly average metrics (no partial-month or non-equivalent comparisons). - Supports custom color themes via logo extraction, HEX/RGB input, or preset themes. - Mobile-responsive by default, with all grids and charts adapting for small screens. - Provides reference example, code snippets, and verification checks for report completeness.",
"href": "https://clawhub.ai/minibeanai/business-data-analysis",
"sourceUrl": "https://clawhub.ai/minibeanai/business-data-analysis",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-07-25T16:26:48.892Z",
"isPublic": true
}
]
}Record generated Oct 9, 2026.
