电商双 11 美妆数据分析总结

发布于:2025-08-13 ⋅ 阅读:(18) ⋅ 点赞:(0)

数据概况与清洗

1. 数据基础

  • 原始数据包含 27598 条双 11 美妆商品记录,共 7 个特征:update_time(更新时间)、id(商品 ID)、title(商品标题)、price(价格)、sale_count(销量)、comment_count(评论数)、店名(店铺名称)。
  • 数据类型:3 个数值型(pricesale_countcomment_count),4 个字符型。

2. 核心清洗代码

python

运行

import numpy as np
import pandas as pd

# 读取数据
df = pd.read_csv('双十一淘宝美妆数据.csv')

# 去重
data = df.drop_duplicates(inplace=False)  # 删除重复行,保留27512条
data.reset_index(inplace=True, drop=True)  # 重置索引

# 缺失值处理(用0填补销量和评论数的缺失)
data = data.fillna(0)

特征工程(新增关键特征)

1. 文本分词(标题解析)

python

运行

import jieba

# 对标题分词(搜索引擎模式)
subtitle = []
for each in data['title']:
    k = jieba.lcut_for_search(each)  # 细粒度分词,适合提取商品特征
    subtitle.append(k)
data['subtitle'] = subtitle  # 新增分词列

2. 商品分类(大类 / 小类)

python

运行

# 定义分类规则(大类、小类、关键词映射)
basic_data = """护肤品	乳液类	乳液	美白乳	润肤乳	...
               化妆品	口红类	唇釉	口红	唇彩	唇膏	..."""  # 完整分类见原文

# 构建分类字典
dcatg = {}
catg = basic_data.split('\n')
for i in catg:
    main_cat = i.strip().split('\t')[0]  # 大类(如护肤品)
    sub_cat = i.strip().split('\t')[1]   # 小类(如乳液类)
    o_cat = i.strip().split('\t')[2:]    # 关键词(如乳液、美白乳)
    for j in o_cat:
        dcatg[j] = (main_cat, sub_cat)

# 为商品匹配分类
sub_type = []  # 小类
main_type = []  # 大类
for i in range(len(data)):
    exist = False
    for j in data['subtitle'][i]:
        if j in dcatg:
            sub_type.append(dcatg[j][1])
            main_type.append(dcatg[j][0])
            exist = True
            break
    if not exist:
        sub_type.append('其他')
        main_type.append('其他')
data['sub_type'] = sub_type
data['main_type'] = main_type

3. 性别标识与销售额

python

运行

# 标记是否男士专用
sex = []
for i in range(len(data)):
    if '男士' in data['subtitle'][i] or '男生' in data['subtitle'][i] or \
       ('男' in data['subtitle'][i] and '女' not in data['subtitle'][i] and '斩男' not in data['subtitle'][i]):
        sex.append('是')
    else:
        sex.append('否')
data['是否男士专用'] = sex

# 计算销售额
data['销售额'] = data['price'] * data['sale_count']

核心分析结论(附关键代码)

1. 品牌表现分析

python

运行

# 各品牌销量、销售额对比
brand_sale = data.groupby('店名')['sale_count'].sum().sort_values()  # 销量排名
brand_rev = data.groupby('店名')['销售额'].sum().sort_values()      # 销售额排名

# 关键发现:
# - 相宜本草销量、销售额均第一(低价策略见效)
# - 悦诗风吟商品数量最多,但销量仅第三
# - SKII、植村秀销量为0(定位或活动问题)

2. 价格与销量关系

python

运行

# 按均价分组(0-100元/A类,100-200元/B类,等)
avg_price = data.groupby('店名')['销售额'].sum() / data.groupby('店名')['sale_count'].sum()
A = avg_price[(avg_price <= 100) & (avg_price > 0)].index  # 低价品牌
# 结论:A类品牌销售额占比最高,低价更受消费者青睐

3. 时间趋势(双 11 前后销量)

python

运行

import matplotlib.pyplot as plt
from datetime import datetime

# 每日销量趋势
sale_day = data.groupby('update_time')['sale_count'].sum()
sale_day.index = [datetime.strptime(i, '%Y/%m/%d') for i in sale_day.index]
sale_day.plot()  # 9日达峰,11日骤降(预热提前消费)

4. 性别细分市场

python

运行

# 男士专用商品销量占比
male_sale_ratio = data.groupby('是否男士专用')['sale_count'].sum() / data['sale_count'].sum()
# 结论:男士专用商品占比低(约8%),核心为清洁类和补水类,妮维雅、欧莱雅主导市场