乐于分享
好东西不私藏

数据分析实操篇:基于Excel与MySQL对社交媒体使用与情绪状况分析

数据分析实操篇:基于Excel与MySQL对社交媒体使用与情绪状况分析

项目背景

1.1 项目背景 

随着社交媒体成为用户日常的核心场景,用户的使用行为、情绪倾向直接决定了平台的运营策略和品牌的营销效果。本项目基于四大主流社交平台的1000+条真实用户行为数据,完成全流程的数据分析与洞察,挖掘用户行为与情绪的核心关联规律。

数据集说明

2.1 数据集来源 

本项目使用的是公开的社交媒体用户行为数据集,包含1000+条有效用户样本数据。

2.2 字段说明

| 字段名称 | 字段含义 | 数据类型 |

|----------|----------|----------|

| UserID | 用户唯一ID | 整数 |

| Age | 用户年龄 | 整数 | | Gender | 用户性别 | 文本 |

| Platform | 所属社交平台 | 文本 |

| Daily_Usage_Time (minutes) | 日均使用时长(分钟) | 整数 |

| Posts_Per_Day | 日均发帖量 | 小数 |

| Likes_Received_Per_Day | 日均获赞量 | 小数 |

| Comments_Received_Per_Day | 日均获评论量 | 小数 |

| Messages_Sent_Per_Day | 日均发私信量 | 小数 |

| Dominant_Emotion | 用户主导情绪 | 文本 |

技术栈与核心工作流

3.1 核心技术栈

数据处理与复杂统计:MySQL - 简单统计、可视化、报告输出:Excel - 无Python代码,全程使用基础数据分析工具实现

3.2 核心工作流

1. 数据导入与清洗:解决CSV导入列错位、空值填充、异常值剔除、重复数据去重问题

2. 多维度统计分析:完成用户属性、行为特征、情绪特征的4大维度复杂统计

3. 可视化呈现:完成8张核心专业图表,搭建交互式分析仪表盘

4. 业务洞察输出:挖掘核心业务规律,给出可落地的运营建议

数据清洗与预处理

4.1 核心清洗问题与解决方案

1. 列错位问题:原始CSV导入时,字段内逗号/换行符导致列拆分错位,使用MySQL批量修正,Excel辅助校验,数据完整率从92%提升至100%

2. 空值处理:使用同平台均值填充数值字段空值,分类字段空值统一标记为「未知」

3. 异常值剔除:剔除年龄<10或>80的逻辑异常值、使用时长为0的无效样本

 4. 重复数据去重:基于UserID去重,保留唯一有效用户样本

select * from train where Platform is null;-- 查找空值update train set Gender = '未知' where Gender is null ; -- 替换空值select * from train where `Daily_Usage_Time (minutes)`<0 or `Daily_Usage_Time (minutes)`>300;-- 查找异常数据

文件发现数据错位:

UPDATE trainSET     Age = IF(Age REGEXP '^[0-9]+$', Age, Gender),    Gender = IF(Gender REGEXP '^[0-9]+$', Age, Gender)WHERE Age REGEXP '^[a-zA-Z]+$' OR Gender REGEXP '^[0-9]+$';-- 处理数据错位

核心探索性数据分析(EDA)

本部分所有复杂多维度统计均由 MySQL 实现,可视化呈现与简单汇总由 Excel 完成,全程无 Python 代码,所有统计结果与图表均可直接复用。本次分析严格围绕核心业务逻辑,仅保留以下核心分析维度与可视化内容:

5.1核心统计维度

全平台年龄 / 性别 / 时长 / 情绪汇总、各平台日均时长、各平台情绪分布对比、用户行为指标相关性分析

5.2复杂深度统计

平台 + 性别 + 年龄分组核心行为指标对比、用户活跃度分群与情绪分布关联分析、各平台用户行为指标排名

5.1

全平台性别分布

全平台年龄分组

全平台时长汇总

全平台情绪汇总

各平台情绪分布对比

各平台用户日均使用时长对比

用户行为指标相关性分析

5.2复杂统计

三维交叉统计:平台+性别+年龄分组 核心行为指标均值对比

用户活跃度分群与情绪分布关联分析

各平台用户行为指标排名

复杂统计的SQL代码如下:

1.三维交叉统计:平台+性别+年龄分组 核心行为指标均值对比SELECT    -- 分组维度:平台、性别、年龄分组    platform AS 所属平台,    gender AS 用户性别,    -- 用CASE WHEN做年龄分组,符合行业通用标准    CASE        WHEN age < 20 THEN '10-19岁'        WHEN age < 30 THEN '20-29岁'        WHEN age < 40 THEN '30-39岁'        ELSE '40岁以上'    END AS 年龄分组,    -- 核心行为指标统计:均值,保留2位小数,方便后续Excel绘图    ROUND(AVG(`Daily_Usage_Time (minutes)`), 2AS 平均日均使用时长_分钟,    ROUND(AVG(posts_per_day), 2AS 平均日均发帖量,    ROUND(AVG(Likes_Received_Per_Day), 2AS 平均日均获赞量,    ROUND(AVG(Comments_Received_Per_Day), 2AS 平均日均获评论量,    -- 统计每个分组的用户数量,计算占比    COUNT(user_id) AS 该分组用户数量,    ROUND(COUNT(user_id) / (SELECT COUNT(*FROM train01) * 1002AS 该分组占总样本比例FROM    train01-- 过滤无效数据:年龄异常、使用时长为0的无效样本WHERE    age BETWEEN 10 AND 80    AND `Daily_Usage_Time (minutes)` > 0-- 三维分组:平台→性别→年龄分组,逻辑清晰GROUP BY    platform,    gender,    年龄分组-- 排序:按平台、使用时长从高到低,方便查看核心高价值群体ORDER BY    platform,    平均日均使用时长_分钟 DESC;2.用户活跃度分群+情绪分布 关联统计-- 第一步:用CTE先做用户活跃度分群WITH user_activity_group AS (    SELECT        user_id,        dominant_emotion,        `Daily_Usage_Time (minutes)`,        -- 按日均使用时长做活跃度分群,符合行业通用标准        CASE            WHEN `Daily_Usage_Time (minutes)` > 120 THEN '高活跃用户'            WHEN `Daily_Usage_Time (minutes)` < 60 THEN '低活跃用户'            ELSE '中活跃用户'        END AS 活跃度分群    FROM        train01    WHERE        age BETWEEN 10 AND 80        AND `Daily_Usage_Time (minutes)` > 0)-- 第二步:统计每个活跃度分群的情绪分布,计算分群内占比SELECT    活跃度分群,    dominant_emotion AS 用户主导情绪,    COUNT(user_id) AS 该情绪用户数量,    -- 核心:计算该情绪在对应活跃度分群内的占比,不是整体占比,Excel很难实现    ROUND(        COUNT(user_id) / SUM(COUNT(user_id)) OVER (PARTITION BY 活跃度分群) * 100,        2    ) AS 该情绪在分群内占比FROM    user_activity_groupGROUP BY    活跃度分群,    dominant_emotion-- 排序:按活跃度分群、占比从高到低,方便查看核心情绪特征ORDER BY    -- 自定义排序:高活跃→中活跃→低活跃,符合阅读习惯    FIELD(活跃度分群, '高活跃用户''中活跃用户''低活跃用户'),    该情绪在分群内占比 DESC;3.各平台用户行为指标排名SELECT    platform AS 所属平台,    -- 核心指标统计    COUNT(user_id) AS 平台用户总数,    ROUND(AVG(`Daily_Usage_Time (minutes)`), 2AS 平均使用时长_分钟,    ROUND(AVG(posts_per_day), 2AS 平均日均发帖量,    ROUND(AVG(Likes_Received_Per_Day), 2AS 平均日均获赞量,    ROUND(AVG(Comments_Received_Per_Day), 2AS 平均日均获评论量,    -- 综合活跃度得分:加权计算,使用时长权重最高,符合业务逻辑    ROUND(        AVG(`Daily_Usage_Time (minutes)`) * 0.4 +        AVG(posts_per_day) * 0.2 +        AVG(Likes_Received_Per_Day) * 0.2 +        AVG(Comments_Received_Per_Day) * 0.2,        2    ) AS 综合活跃度得分,    -- 平台排名:按综合活跃度得分降序排名    RANK() OVER (ORDER BY        AVG(`Daily_Usage_Time (minutes)`) * 0.4 +        AVG(posts_per_day) * 0.2 +        AVG(Likes_Received_Per_Day) * 0.2 +        AVG(Comments_Received_Per_Day) * 0.2    DESCAS 平台综合活跃度排名FROM    train01WHERE    age BETWEEN 10 AND 80    And `Daily_Usage_Time (minutes)` > 0GROUP BY    platform-- 按排名排序,一眼看到核心平台ORDER BY    平台综合活跃度排名;

5.3本阶段分析核心结论

1.用户基础特征:核心用户群体为 20-29 岁的年轻用户,Instagram 是用户规模最大、粘性最高的平台,高价值活跃用户集中在「Instagram 平台 20-29 岁女性用户」群体

2.用户行为规律:用户使用时长与内容创作、互动行为呈显著正相关,使用时长越长的用户,活跃度越高,是平台运营的核心价值群体

3.用户情绪特征:高活跃用户的焦虑情绪占比显著高于低活跃用户,用户使用社交平台的时长越长,情绪波动越大,负面情绪的发生概率越高

4.平台运营优先级:Instagram 平台的用户规模、活跃度、正面情绪占比均为最高,是品牌内容营销和用户运营的核心阵地,应优先投入核心资源

核心业务洞察与结论

6.1 用户画像洞察

1.核心用户群体为 20-29 岁的年轻用户,占总样本的 65% 以上,是社交媒体的主力使用人群

2.Instagram 平台用户占比最高,达到 35%,是用户规模最大的平台

3.高价值活跃用户集中在「Instagram 平台 20-29 岁女性用户」群体,该群体的使用时长、发帖量、互动量均显著高于其他所有群体

6.2 行为特征洞察

1.Instagram 平台的用户粘性最高,平均日均使用时长 120 分钟,显著高于整体均值 96 分钟,也高于其他三大平台

2.用户日均使用时长与发帖量、获赞量、评论量呈显著正相关,使用时长越长的用户,内容创作和互动意愿越强

3.高活跃用户(日均使用时长 > 120 分钟)的日均互动量是低活跃用户的 3.2 倍,是平   台运营的核心价值群体

6.3 情绪特征洞察

1.用户整体主导情绪以 Happiness、Neutral、Anger 为主,正面情绪占比最高,达到 32%

2.高活跃用户的焦虑情绪占比 28%,显著高于低活跃用户的 12%,用户使用社交平台的时长越长,焦虑情绪的发生概率越高

3.低活跃用户的中性情绪占比 45%,显著高于高活跃用户,低活跃用户使用社交平台的目的更偏向信息浏览,情绪波动更小

可落地业务建议

平台运营优先级:优先将核心运营资源投入到 Instagram 平台,该平台用户规模最大、粘性最高、互动意愿最强,是内容营销和用户运营的核心阵地

高价值用户运营:针对「20-29 岁女性高活跃用户」群体,推出专属的内容挑战赛、互动活动,提升用户的创作意愿和留存率

情绪运营优化:针对高活跃用户的高焦虑情绪问题,推出情绪疏导类内容、正向互动活动,降低用户的负面情绪,提升平台的用户体验

内容策略优化:Twitter 平台用户发帖量高但互动量低,建议优化内容推荐算法,提升内容的精准度,引导用户的互动行为

案例来源:

https://www.heywhale.com/mw/project/6a06e0ab7e88ed44a4db3c7d

扫一扫

二维码

获取更多专业知识

数据分析实操篇:A/B test 广告投放效果分析
数据分析实操篇:基于 MySQL 与 Python 的社交媒体用户情绪行为数据分析
数据分析实操篇:基于python+mysql+power bi的广告投放效果分析
数据分析实操篇:天猫全渠道价格竞争力与营销ROI效能分析