favourogunbiyi/E-Commerce-Product-Data-Cleaning-Title-Optimization

GitHub: favourogunbiyi/E-Commerce-Product-Data-Cleaning-Title-Optimization

在 Excel 中对 3,540 条电商产品记录进行端到端数据清洗,并通过公式构建 short_title 特征将标题长度缩短 54%。

Stars: 0 | Forks: 0

# 电商产品数据清洗与标题优化 针对 3,540 条电商产品记录的 Excel 数据清洗 pipeline:包含重复项检测、异常值封顶、缺失值分析,以及将平均标题长度缩短 54% 的 `short_title` 特征工程。HNG 实习第一阶段项目。 # HNG 第一阶段 — 电商产品数据清洗与标题优化 清洗了来自多类别电商数据集的 3,540 条原始产品记录,解决了五个维度的数据质量问题,并设计了 `short_title` 特征,将平均标题长度缩短了 54%,以提升 SEO 效果和可读性——全程在 Excel 中完成。 **[[清洗后的数据集 — Google Drive]](YOUR_DRIVE_LINK_HERE)** · **[[技术报告]](YOUR_REPORT_DRIVE_LINK_HERE)** · **[[HNG 实习证书]](YOUR_CERTIFICATE_LINK_HERE)** ## 问题背景 原始数据集包含 3,540 条产品 listings,且存在一个尚未被量化的标题问题。标题平均长度为 84 个字符——最长的甚至达到了 401 个字符。这些标题堆砌了关键词、型号代码、颜色变体,以及诸如 "set of"(套装)、"includes"(包含)和 "features"(特点)等填充短语。这对于 SEO 毫无用处于,也完全无法快速浏览。 除标题外,该数据还存在另外四个可能破坏任何下游分析的问题: - **38.5% 的 bullet_points 为空** — 1,362 行没有特征描述 - **53.5% 的 description 缺失** — 1,895 行没有产品文案 - **4 个重复标题** 导致不同产品 ID 存在相同的记录 - **product_length 异常值** — 原始 `product_length` 列的最大值高达 96,000,使任何基于长度的分析或建模产生失真 此前没有数据团队梳理过这些问题,也不存在短标题。这正是本项目要解决的核心。 ## 我的工作 这是 HNG 实习第一阶段的任务——任务简报给出了数据集、工具限制(仅限 Excel)以及需要解决的问题。我端到端地完成了这项任务:探索数据结构、对每一列进行画像分析、记录每一个质量问题、应用修复措施,并使用 Excel 公式从头设计了 `short_title` 特征。 **工具与概念** `Microsoft Excel` · `Data Cleaning` · `Feature Engineering` · `Outlier Detection & Capping` · `Missing Value Analysis` · `Duplicate Detection` · `SEO Title Optimisation` · `Descriptive Statistics` · `Data Quality Documentation` ## 关键的清洗决策 ### 重复检测 — 标题 vs. 产品 ID 数据集中没有重复的 `product_id` 值,乍一看很干净。但有 4 行具有相同的 `title` 值,却指向不同的产品 ID——即同一产品在不同的标识符下被列出了两次。基于标题而非 ID 进行处理是正确的决定。如果仅基于 ID 去重,将无法解决根本问题。 ### 对 `product_length` 进行异常值封顶 原始的 `product_length` 列平均值为 1,155,最大值为 96,000。有一个值比第 75 百分位数高出 35 倍。我并没有直接丢弃这些行(这会丢失有效的产品数据),也没有放任不管(这会扭曲所有长度分析),而是将上限(cap)设定在 2,552——这个值能够涵盖现实中的上限范围,同时不会剥离数据集中其余部分的信息。共有 231 行受到影响。封顶后的值保存在 `product_length_capp` 中,从而保留了原始数据,并确保该决策可被审计。 ### 缺失值 — 记录,而非填补 `bullet_points`(38.5% 缺失)和 `description`(53.5% 缺失)属于内容字段。用占位文本或平均值填充它们不仅无益,反而会向营销数据集中引入虚假数据。正确的做法是在报告中清晰地标记这些空白,并保持字段为空,这样任何下游分析师都能确切知道他们手中的数据情况。 ## `short_title` 特征 核心交付成果是一个新列:每个产品标题的简洁、易读版本,目标长度为 30–50 个字符。 该方法从每个标题中剔除了四类噪声: - **冗余短语** — "includes"、"set of"、"features"、"with" - **嵌入在标题中间的型号代码** — 诸如 `T86_2561C_Navy_Mix` 之类的 SKU 字符串 - **重复的属性列表** — 描述中已有的尺寸、电压和规格 - **填充性修饰词** — "high quality"、"best seller"、"professional grade" 保留的内容包括:品牌名称、产品类别、一个关键差异点(颜色、尺寸或包装数量),以及足以区分该 listing 的具体信息。 | 原始标题 | 短标题 | |---|---| | ArtzFolio Tulip Flowers Blackout Curtain for Door Window & Room Eyelets & Tie Back Canvas Fabric Width 4.5feet 54inch Height 5 feet 60 inch 2 PCS | ArtzFolio Tulip Blackout Curtain - 2 PCS | | Marks & Spencer Girls' Pyjama Sets T86_2561C_Navy Mix_9-10Y | Marks & Spencer Girls' Pyjama Sets - 9-10Y | | HOMEIDEAS 100% Blackout Curtains 52 X 63 Inch Length 2 Panels Light Grey Total Room Darkening Curtains for Bedroom Thermal Grommet Double Layers Thick Soundproof Curtains Energy Saving | HOMEIDEAS 100% Blackout Curtains (2 Panels) | **结果:**平均标题长度从 84 个字符下降至 39 个字符——缩减了 54%。所有短标题都控制在 50 个字符的上限以内。全部 3,540 行均已填入 `short_title`。 ## 数据集概览:前后对比 | 指标 | 处理前 | 处理后 | |---|---|---| | 总行数 | 3,540 | 3,536 | | 重复标题 | 4 | 0 | | 平均标题长度 | 84 个字符 | 39 个字符 | | 最大标题长度 | 401 个字符 | 50 个字符 | | `product_length` 异常值 (>2,552) | 231 行 | 已封顶,未移除 | | `short_title` 列 | 不存在 | 100% 已填入 | ## 仓库文件 | 文件 | 内容说明 | |---|---| | `title_optimization_final.xlsx` | 包含 `short_title` 特征的清洗后数据集 — 保留了 Excel 公式 | | `Technical_Report_Product_Data_Cleaning.docx` | 完整的技术报告 — 包含方法论、清洗步骤、示例及前后对比统计 | ## 项目的应用价值 带有短标题的该数据集纯净版本,可支持以下工作: - **SEO 分析** — 简短且结构化的标题能被搜索算法清晰解析 - **产品目录管理** — 易于快速浏览、人类可读的标题 - **基于长度的建模** — 经过封顶处理的 `product_length_capp` 现在可作为特征使用,且不受异常值失真影响 - **内容缺口分析** — 已记录的缺失字段能准确告知营销团队何处需要补充文案 本项目构建于 2026 年 4 月,作为 HNG14 实习第一阶段任务。完全在 Excel 中完成的限制——不使用 Python,也不使用 SQL——迫使我们在逻辑严谨的前提下,充分发挥公式所能实现的能力。 ← 返回主作品集
标签:Excel, SEO优化, 异常检测, 数据清洗, 特征工程, 电商数据