AI 数据分析 Skill 实战:用模拟游客数据生成文旅运营报告

前言

在前几篇文章中,我已经复盘了乌东村文旅 AI 智能客服与推荐系统的整体设计、5 个 Skill 的拆解,以及品牌 PPT 自动生成的过程。

这一篇重点写 Skill 4:data-analysis 数据分析技能

这个 Skill 的任务看起来很明确:

复制代码
准备乌东村游客 2025 年游客情况数据集
↓
用 Python 做数据清洗、探索分析、可视化
↓
生成完整数据分析报告
↓
提炼业务洞察,反哺 AI 客服与推荐系统

但实际做的时候,最大的问题并不是 Python 代码,而是:

复制代码
没有公开可直接下载的乌东村 2025 年逐日真实游客数据。

所以这篇文章主要复盘两个重点:

复制代码
1. 没有真实明细数据时,如何构建课程测试用数据集
2. 如何让数据分析 Skill 不只是画图,而是输出业务洞察

一、老师对 Skill 4 的要求

Skill 4 对应的是数据分析能力。老师给出的实战步骤大致是:

复制代码
12. 准备测试数据集
    - 乌东村游客 2025 年游客情况
    - 建议数据量:100-10000 行
    - 至少包含时间维度和数值维度

13. 编写技能核心逻辑
    - 数据清洗 → 探索分析 → 可视化 → 洞察
    - 为 AI 提供常用 Python 代码模板

14. 设计报告模板
    - 执行摘要 → 关键发现 → 详细分析 → 建议行动

15. 测试与迭代
    - 用测试数据生成完整报告
    - 检查数据解读是否准确
    - 优化分析视角提示,让报告更有业务洞察

这说明 Skill 4 不是写一份静态说明文档,而是要真的跑通数据分析流程。

最少要证明:

复制代码
1. 有测试数据集
2. 数据里有时间维度和数值维度
3. 能用 Python 读取和清洗
4. 能生成图表
5. 能输出报告
6. 报告有业务洞察,而不是只罗列数字

二、数据问题:真实数据没有公开怎么办?

一开始我想找"乌东村 2025 年游客情况"真实数据,但实际公开资料一般只会给到年度汇总口径,比如:

复制代码
全年接待游客量
旅游综合收入
村集体经济收入

这种数据可以作为年度参考,但不能直接用于 Skill 4 的日度趋势分析。

老师要求的数据量是:

复制代码
100-10000 行

如果只有年度汇总,只有 1 行数据,显然不够做:

复制代码
月度趋势
日度波动
咨询量分析
转化漏斗
用户类型结构

所以我最后采用的方案是:

复制代码
公开年度口径作为锚点
+
课程测试用日度模拟数据

也就是说:

复制代码
年度总量参考公开报道
日度明细用于课程测试模拟

这样既可以满足 Skill 4 的测试要求,又不会把模拟数据伪装成真实经营数据。


三、数据集必须写清楚:这是模拟数据

这个地方非常关键。

如果直接把模拟出来的 365 行日度数据写成"乌东村真实游客流水",那就是严重问题。

所以我在数据包、分析报告、README 中都明确写了:

复制代码
本数据为课程测试用模拟数据,年度总量锚定公开报道,日度明细为模拟分配,不代表乌东村真实经营流水。

这句话必须出现。

它的意义是:

复制代码
1. 说明数据可以用于 Skill 测试
2. 说明不能用于真实商业决策
3. 说明结论需要后续真实数据验证

数据分析 Skill 的目标不是伪造真实经营数据,而是验证:

复制代码
AI 能否完成数据读取、清洗、统计、可视化和报告生成流程。

四、数据包结构设计

我最终把数据包整理到:

复制代码
data/skill4/

主要包含四类文件:

复制代码
data/skill4/
├─ wudong_2025_public_source_summary.csv
├─ wudong_2025_skill4_daily_simulated.csv
├─ wudong_2025_skill4_monthly_summary.csv
└─ wudong_2025_skill4_dataset.xlsx

1. public_source_summary.csv

这个文件记录公开来源摘要和口径说明。

它的作用不是做日度分析,而是说明年度锚点来自哪里,以及数据口径有什么不确定性。

字段可以包括:

复制代码
source_title
source_url
metric
reported_value
unit
reliability_level
notes

这个文件主要用于让报告更规范,避免"数据从哪来"说不清。


2. daily_simulated.csv

这是 Skill 4 的主测试数据,365 行,每行代表 2025 年某一天的模拟经营数据。

典型字段包括:

复制代码
date
visitors
tourism_revenue
consultations
ai_answers
recommendation_clicks
favorites
booking_conversions
young_visitors_ratio
family_visitors_ratio
wellness_visitors_ratio
study_tour_visitors_ratio
senior_visitors_ratio

这个文件满足老师要求的两个关键条件:

复制代码
时间维度:date
数值维度:visitors、tourism_revenue、consultations 等

3. monthly_summary.csv

这个文件是月度汇总表,方便快速查看趋势。

字段包括:

复制代码
month
monthly_visitors
monthly_revenue
monthly_consultations
monthly_ai_answers
monthly_recommendation_clicks
monthly_favorites
monthly_booking_conversions

它适合做:

复制代码
月度游客趋势图
月度收入趋势图
月度转化趋势图

4. dataset.xlsx

Excel 文件中可以包含多个 Sheet,例如:

复制代码
README
Sources
Daily_Data
Monthly_Summary
Dashboard

这样老师或同学打开 Excel 时,可以更直观看到数据说明、来源摘要和分析表。


五、Skill 4 文件怎么设计?

主技能文件是:

复制代码
skills/data-analysis.md

它的作用是告诉 AI 数据分析时应该怎么工作。

我把 Skill 4 的核心逻辑设计为:

复制代码
数据读取
↓
数据清洗
↓
探索性分析
↓
趋势分析
↓
可视化输出
↓
业务洞察
↓
Markdown 报告
↓
数据局限说明

六、数据读取规则

Skill 4 必须支持常见数据格式:

复制代码
CSV
Excel
JSON

读取逻辑大致是:

复制代码
import pandas as pd

file_path = "data/skill4/wudong_2025_skill4_daily_simulated.csv"

if file_path.endswith(".csv"):
    df = pd.read_csv(file_path)
elif file_path.endswith(".xlsx"):
    df = pd.read_excel(file_path)
elif file_path.endswith(".json"):
    df = pd.read_json(file_path)

读取后要自动识别:

复制代码
字段数量
行数
字段类型
时间字段
数值字段
类别字段

这一步不是为了炫技,而是为了保证后续分析不会把日期当字符串、把数值当文本。


七、数据清洗流程

Skill 4 的清洗流程包括:

复制代码
1. 缺失值检查
2. 重复值检查
3. 异常值检查
4. 日期格式转换
5. 数值字段转换
6. 清洗结果记录

示例代码:

复制代码
# 缺失值检查
missing_summary = df.isnull().sum()

# 重复值检查
duplicate_count = df.duplicated().sum()

# 日期字段转换
df["date"] = pd.to_datetime(df["date"], errors="coerce")

# 数值字段转换
numeric_cols = [
    "visitors",
    "tourism_revenue",
    "consultations",
    "ai_answers",
    "recommendation_clicks",
    "favorites",
    "booking_conversions"
]

for col in numeric_cols:
    df[col] = pd.to_numeric(df[col], errors="coerce")

清洗结果要写进报告,比如:

复制代码
缺失值情况:无明显缺失
重复值情况:无重复日期记录
异常值情况:发现部分节假日游客量高于均值,属于模拟旺季波动
时间字段:已转换为 datetime
数值字段:已转换为 numeric

八、关键指标设计

数据分析不能只看一堆原始数字,需要先定义关键指标。

我设计了这些指标:

复制代码
年度游客量
年度旅游收入
日均游客量
月均游客量
总咨询量
总 AI 问答量
总推荐点击量
总收藏量
总预约转化量
推荐点击到预约转化率
人均旅游收入

示例计算:

复制代码
total_visitors = df["visitors"].sum()
total_revenue = df["tourism_revenue"].sum()
avg_daily_visitors = df["visitors"].mean()

total_clicks = df["recommendation_clicks"].sum()
total_bookings = df["booking_conversions"].sum()

booking_conversion_rate = total_bookings / total_clicks if total_clicks else 0
revenue_per_visitor = total_revenue / total_visitors if total_visitors else 0

这些指标能回答几个核心问题:

复制代码
游客规模大概如何?
收入和游客量是否同步变化?
AI 客服咨询量是否跟游客量相关?
推荐点击到预约之间有没有转化损失?

九、月度趋势分析

数据里有 date 字段,所以可以做月度聚合。

示例代码:

复制代码
df["month"] = df["date"].dt.to_period("M").astype(str)

monthly = df.groupby("month").agg({
    "visitors": "sum",
    "tourism_revenue": "sum",
    "consultations": "sum",
    "ai_answers": "sum",
    "recommendation_clicks": "sum",
    "favorites": "sum",
    "booking_conversions": "sum"
}).reset_index()

月度分析可以看:

复制代码
哪个月份游客最多?
哪个月份收入最高?
咨询高峰是否和游客高峰一致?
推荐点击和预约转化是否同步增长?

这些问题比单纯算总量更有业务意义。


十、可视化输出设计

老师要求数据分析技能要有可视化能力,所以我让 Skill 4 至少生成 5 张图。

图表输出目录:

复制代码
outputs/data-analysis-charts/

建议图表包括:

复制代码
01_monthly_visitors_trend.png
02_monthly_revenue_trend.png
03_consultation_ai_recommendation_trend.png
04_conversion_funnel.png
05_user_type_distribution.png
06_revenue_per_visitor.png

十一、图表 1:月度游客量趋势

用途:

复制代码
观察全年游客量变化,识别旺季和淡季。

图表类型:

复制代码
折线图

业务解读示例:

复制代码
如果 7-8 月游客量明显较高,说明暑期可能是主要出游高峰。
AI 客服应在暑期前提前补充亲子游、避暑、住宿、交通等高频问答。

这就把图表结论和 AI 客服优化联系起来了。


十二、图表 2:月度旅游收入趋势

用途:

复制代码
观察旅游收入是否与游客量同步变化。

如果游客量增长但收入没有同步增长,可能说明:

复制代码
1. 人均消费低
2. 体验项目转化不足
3. 住宿或餐饮产品承接不足
4. 推荐系统没有有效引导高价值服务

对应建议:

复制代码
AI 客服在推荐路线时,可以增加体验项目、餐饮、住宿等组合推荐。

十三、图表 3:咨询量、AI 问答量、推荐点击趋势

用途:

复制代码
观察 AI 客服使用情况和推荐系统交互情况。

这张图对 OPC-08 很重要,因为项目主题就是 AI 智能客服与推荐。

可以分析:

复制代码
咨询量是否随游客量变化?
AI 问答量是否覆盖大部分咨询?
推荐点击是否持续增长?

如果咨询量高但推荐点击低,可能说明:

复制代码
AI 客服回答了问题,但没有有效引导用户进入路线推荐。

对应优化建议:

复制代码
在回答交通、住宿、游玩天数等问题后,自动追加"是否需要我帮你推荐一条路线?"

十四、图表 4:推荐点击 → 收藏 → 预约转化漏斗

这是我认为最有业务价值的一张图。

漏斗结构:

复制代码
推荐点击
↓
收藏
↓
预约转化

它可以看出:

复制代码
用户对推荐内容是否感兴趣
用户是否愿意保存路线
用户最终是否愿意预约或进一步咨询

如果点击高、收藏低:

复制代码
说明路线标题或推荐结果不够有吸引力。

如果收藏高、预约低:

复制代码
说明用户有兴趣,但还存在决策顾虑。

对应建议:

复制代码
AI 客服应增加预算、路线强度、住宿条件、交通方式等追问,降低用户决策阻力。

十五、图表 5:游客类型结构分析

游客类型可以包括:

复制代码
年轻游客
亲子家庭
康养游客
研学团队
中老年游客

通过占比分析,可以判断哪个人群是主要服务对象。

例如:

复制代码
如果年轻游客占比高:
内容上应加强小红书、短视频、拍照打卡、路线攻略。

如果亲子家庭占比高:
AI 客服应优先补充安全、儿童友好、路线强度、亲子活动等问答。

如果康养游客占比高:
应加强住宿、安静环境、慢生活、长住方案等内容。

这就是数据分析对推荐系统的价值。


十六、报告模板设计

Skill 4 生成的报告不是随便写,而是固定结构:

复制代码
# 乌东村 2025 游客数据分析报告------Skill 4 测试版

## 一、模拟数据声明

## 二、数据说明

## 三、数据清洗结果

## 四、执行摘要

## 五、关键指标

## 六、详细分析

## 七、图表与解读

## 八、业务洞察

## 九、建议行动

## 十、数据局限

这个模板对应老师要求:

复制代码
执行摘要 → 关键发现 → 详细分析 → 建议行动

同时加入了:

复制代码
模拟数据声明
数据局限

避免误用数据。


十七、业务洞察:不要只罗列数字

Skill 4 最容易写成这种低质量报告:

复制代码
全年游客量为 X。
全年收入为 Y。
咨询量为 Z。

这种只是数字罗列,不算真正的数据分析。

我在 Skill 中要求每个发现都必须包含:

复制代码
数据发现
可能解释
对 AI 客服与推荐系统的影响
建议行动
数据局限

例如:

复制代码
数据发现:
暑期月份游客量和咨询量同步上升。

可能解释:
暑假期间亲子家庭、年轻游客和避暑需求增加。

对 AI 客服的影响:
暑期前应提前补充亲子路线、住宿、交通、避暑注意事项等知识库内容。

建议行动:
在 6 月底前上线"暑期亲子游推荐规则"和"2天1晚轻松路线推荐模板"。

数据局限:
当前数据为模拟数据,需后续使用真实咨询日志和订单数据验证。

这样才算有业务洞察。


十八、对 AI 客服与推荐系统的影响

数据分析最终要反哺 OPC-08 项目。

我把建议分成几类:

1. AI 客服知识库建议

复制代码
补充高频问题:
- 怎么去乌东村?
- 适合玩几天?
- 带孩子是否合适?
- 有无康养住宿?
- 拍照路线怎么安排?

2. 智能推荐规则建议

复制代码
按游客类型推荐:
- 年轻游客:拍照打卡路线
- 亲子家庭:轻松亲子路线
- 康养游客:慢生活旅居路线
- 研学团队:民族文化体验路线
- 中老年游客:低强度观光路线

3. 内容营销建议

复制代码
在游客量高峰前发布攻略内容
在咨询高峰期强化小红书和视频号投放
根据用户类型调整标题和 CTA

4. 数据采集建议

复制代码
后续真实系统应采集:
- 用户咨询问题
- 用户画像标签
- 推荐路线点击
- 收藏行为
- 预约转化
- 人工介入记录

十九、生成的文件

最终 Skill 4 生成了这些文件:

复制代码
scripts/run_skill4_data_analysis.py

outputs/data-analysis-charts/
├─ 01_monthly_visitors_trend.png
├─ 02_monthly_revenue_trend.png
├─ 03_consultation_ai_recommendation_trend.png
├─ 04_conversion_funnel.png
├─ 05_user_type_distribution.png
└─ 06_revenue_per_visitor.png

outputs/data-analysis-tables/
├─ monthly_metrics.csv
├─ key_indicators.csv
├─ data_quality_summary.csv
└─ conversion_summary.csv

skill-test-results/
├─ data-analysis-skill4-final-report.md
├─ data-analysis-skill4-checklist.md
└─ data-analysis-screenshot-guide.md

这些文件共同证明:

复制代码
Skill 4 不是只写了说明,而是实际跑通了数据分析流程。

二十、验收检查

我还生成了一个 Skill 4 检查表:

复制代码
skill-test-results/data-analysis-skill4-checklist.md

逐项检查:

复制代码
1. 是否准备测试数据集
2. 数据量是否在 100-10000 行之间
3. 是否包含时间维度
4. 是否包含数值维度
5. 是否支持 CSV / Excel / JSON
6. 是否完成数据清洗
7. 是否完成探索分析
8. 是否完成可视化
9. 是否完成洞察提炼
10. 是否有 Python 代码模板
11. 是否有报告模板
12. 是否生成完整分析报告
13. 是否检查数据解读是否准确
14. 是否优化分析视角提示
15. 是否明确声明模拟数据限制

这样老师看起来比较直观,也方便我截图提交。


二十一、截图建议

如果要提交作业,Skill 4 我建议截图:

复制代码
1. data/skill4/ 数据集目录
2. daily_simulated.csv 前几行
3. scripts/run_skill4_data_analysis.py 核心分析流程
4. outputs/data-analysis-charts/ 图表目录
5. 任意一张趋势图
6. data-analysis-skill4-final-report.md 的模拟数据声明
7. data-analysis-skill4-final-report.md 的关键指标表
8. data-analysis-skill4-final-report.md 的业务洞察
9. data-analysis-skill4-checklist.md 的达标检查表

如果只能截一两张,我优先选择:

复制代码
1. 数据分析图表
2. 报告中的"模拟数据声明 + 业务洞察"

这两张最能证明你不是乱编数据,而是在做规范的数据分析流程测试。


二十二、踩坑总结

这部分做下来,我总结了几个经验。

1. 没有真实数据时,不能硬装真实

老师要求"乌东村游客 2025 年数据",但公开明细数据不一定存在。

正确做法不是胡编一份,而是:

复制代码
公开年度数据作为锚点
模拟日度明细用于课程测试
明确写清数据限制

2. 数据分析报告必须声明数据性质

凡是模拟数据,必须写:

复制代码
本数据为课程测试用模拟数据,不代表真实经营流水。

这句话是底线。


3. 图表不是目的,洞察才是目的

生成图表只是中间步骤。

报告里真正有价值的是:

复制代码
这些数据说明了什么?
为什么会这样?
对 AI 客服和推荐系统有什么影响?
下一步应该怎么做?

4. 不要把相关性写成因果

例如咨询量和游客量一起升高,只能说明趋势相关,不能直接说:

复制代码
咨询量增加导致游客量增加。

更规范的说法是:

复制代码
咨询量与游客量在模拟数据中呈同步上升趋势,可能反映旺季游客咨询需求增加,仍需真实数据验证。

5. 数据分析 Skill 要服务项目目标

这个项目不是普通数据分析,而是 OPC-08:AI 智能客服与推荐。

所以报告的最终建议必须回到:

复制代码
AI 客服知识库
游客画像标签
推荐规则
内容营销
转化漏斗
数据采集

否则就会变成和项目无关的通用数据报告。


结语

Skill 4:data-analysis 是整个项目中最能体现"工程化"的部分。

它要求 AI 不只是会写文案,还要能:

复制代码
读取数据
清洗数据
计算指标
生成图表
解释业务意义
输出报告
说明数据局限

在没有真实逐日经营数据的情况下,我采用了"公开年度口径 + 课程测试模拟数据"的方式,既满足了作业测试要求,也避免把模拟数据伪装成真实数据。

最终 Skill 4 的价值,不是生成了几张图,而是建立了一套文旅 AI 客服项目的数据分析流程:

复制代码
游客数据
↓
指标分析
↓
图表可视化
↓
业务洞察
↓
AI 客服与推荐系统优化

下一篇文章,我会继续复盘 Agent 团队设计:如何把 5 个 Skill 进一步组织成 5 个分工明确的 AI Agent。

相关推荐
陈天伟教授1 小时前
图解人工智能(45)人工智能应用-语音识别
人工智能·语音识别
Yang96111 小时前
煤矿 SDH/PDH 线路检修难?鼎讯 HM-G2500 手持式传输分析仪实用解析
运维·服务器·网络
数学建模导师1 小时前
【AI生成内容的质量评估】2026中青杯B题26页成品论文重磅更新
人工智能·深度学习·机器学习
真上帝的左手1 小时前
19. 大数据- BI 入门-数仓实战5-ADS 整体设计框架
大数据·数据仓库·bi
TDengine (老段)1 小时前
TDengine Cache 与 Last 查询加速 — CACHEMODEL 机制与 RocksDB 缓存层
大数据·数据库·物联网·struts·缓存·时序数据库·tdengine
comcoo1 小时前
Windows 部署龙虾 AI OpenClaw,快速构建本地私有化 AI 智能体
人工智能·github·开源软件·open claw·open claw部署
claro1 小时前
windows2025开启Hyper-V和vmware17共存(2)
运维·服务器
段一凡-华北理工大学1 小时前
工业领域的Hadoop架构学习~系列文章13:数据湖架构 - 工业大数据的统一存储底座
大数据·人工智能·hadoop·分布式·架构·高炉炼铁·高炉智能化
真上帝的左手1 小时前
19. 大数据- BI 入门-数仓实战2-ODS 原始数据层
大数据·数据仓库·bi