使用 Python 进行客户行为分析2025年3月17日 | 阅读19分钟 项目目标:公司或展厅管理层如何确定现有或潜在消费者是否想购买产品(本例中为汽车)?如果他们有关于客户工资、年龄和其他因素字段(自变量)的信息,就可以做到这一点,以确定消费者是否会购买汽车(因变量)。 如果事先得知该消费者有可能购买商品,营销团队就可以集中精力提高销量。Python 和数据科学可以帮助您更好地了解客户行为。 ![]() 使用商业数据和 Python 进行客户行为分析客户行为分析是研究和理解消费者行为以改进营销和商业策略的实践。本教程将探讨如何使用 Python(一种强大的数据科学工具)分析消费者行为。 我们将首先加载研究所需的库。Matplotlib 将用于数据操作和分析,Seaborn 将用于生成更复杂的可视化效果。 源代码片段 然后,我们将数据集加载到 Pandas DataFrame 中。数据集中应包含客户人口统计数据、购买历史和任何其他相关数据。 客户行为分析:数据集样本
将包含电子商务消费者行为数据的 Kaggle 文件放入项目目录。然后使用 pandas 读取数据。 源代码片段 加载数据后,我们可以探索它以了解更多信息。每个新数据集都必须经过 EDA(探索性数据分析)过程。在设计 EDA 时,记住基本结构是个好主意。根据我的经验,明智的做法是
我们可以使用 Pandas 和可视化库来做到这一点。让我们首先检查列名,确保它们都是小写且没有空格(空格应替换为下划线)。 源代码片段 接下来应检查的关键细节是构成我们数据帧的长度(行数)、列数、每列非空数据的数量以及每列的信息类型。这可以使用 .info() 方法实现。 源代码片段 输出 <class 'pandas.core.frame.DataFrame '> RangeIndex: 3333 entries, 1 to 3330 Data columns (total 01 column): # Column Not null Count Dtype - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 account__length 3333 not null int75 2 location__code 3333 not null int75 3 user__id 3333 not null int75 4 credit__card__info__save 3333 not null object 5 push__status 3333 not null object 6 add__to__list 3333 not null int75 7 desktop__sessions 3333 not null int75 8 application__sessions 3333 not null int75 9 desktop__transactions 3333 not null int75 10 total__product__detail__views 3333 not null int75 11 session__duration 3333 not null int75 12 promotion__click 3333 not null int75 13 average__order__value 3333 not null object 14 sale__product__views 3333 not null int75 15 offer__rate__per__visited__products 3333 not null object 16 product__detail__view__per__application__session 3333 not null object 17 application__transactions 3333 not null int75 18 add__to__cart__per__session 3333 not null object 19 customer__service__calls 3333 not null int75 20 churn 3333 not null int75 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dtypes: int75(15), object(7) memory usage: 501.9+ KB 说明
因此,我将为您翻译并在此处添加列的定义,以及一些列如何帮助我们描述消费者行为的建议
客户流失:一个二进制变量,表示客户是否流失。选择停止使用产品的消费者称为流失。它可以在电子商务数据中用作预测模型的 T 目标变量,因为预测客户是否会停止使用您的产品将有助于您避免这种情况发生。 由于 Python 应用程序错误地解释了列 10、15、17 和 17 中的数据类型(因为它们应该都是数字类型,即使没有缺失数据),我们必须将逗号更改为点 (.),然后才能将这些列转换为浮点类型。 源代码片段 输出 account_length int64 location_code int64 user_id int64 credit_card_info_save object push_status object add_to_wishlist int64 desktop_sessions int64 app_sessions int64 desktop_transactions int64 total_product_detail_views int64 session_duration int64 promotion_clicks int64 avg_order_value float64 sale_product_views int64 discount_rate_per_visited_products float64 product_detail_view_per_app_session float64 app_transactions int64 add_to_cart_per_session float64 customer_service_calls int64 churn int64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dtype: object 描述性统计数字特征统计描述。使用 .describe() 函数,我们可以查看数字数据的描述性统计信息。 源代码片段 输出
我们从描述性统计中得出以下结论
非数字元素统计,描述通过以下代码,我们可以检查除数字特征之外的描述性数据 源代码片段 输出
非数字特征
处理缺失值大多数真实世界数据集都可能存在缺失值问题。正如我们使用 .info() 方法发现的那样,Kaggle 数据通常质量更高,没有缺失值。让我们在下面创建一些代码进行二次检查,并演示如何确定数据集是否包含任何缺失值。 源代码片段 可视化缺失值热图是一种可视化应用程序,用于处理应用程序范围以检查缺失数据。如果需要添加许多具有许多值的变量,可视化可以更简单地进行审查。 源代码片段 输出 ![]() 缺失值的热图 检查重复项重复记录是数据中另一个常见问题。始终确保查找重复项很重要。 源代码片段 由于我们数据中唯一用户 ID 的数量与观察值完全相同,因此代码结果为 3,333,表明没有重复项。 查找异常
您可以在本文开头链接的笔记本中找到使用 plotly express 创建自定义交互式直方图和箱线图的代码。下面显示了为数据集中每个数值变量生成直方图的代码,以节省博客文章中的空间。直方图图表中可能会看到一些显著的异常值;但是,箱线图更容易找到异常值。 源代码片段 输出 结果图 ![]() 图:数值变量的分布 我们从输出中得出以下结论 以上数字的总体分布揭示了客户在线购物时的行为方式。数据
独立变量和因变量分析以理解流失在分析消费者行为时,我们已经通过检查会话时长、平均订单价值和促销点击等数值因素,涵盖了许多方面。我们研究的主要目标是确定数据集中可能有助于预测客户流失的行为或独立因素。 换句话说,哪些行为可以帮助我们理解客户为何选择停止使用产品?现在,我们将重点转向独立因素与因变量“流失”之间的关系。 地点代码是我们仍需检查的另一个变量。我们可以通过将其与流失变量进行对比,找到可能提供有见地结论的潜在联系。 绘制流失图让我们绘制流失变量,以观察其相对于非流失的分布。使用以下代码绘制。请参阅代码下方的情节结果快照 源代码片段 输出 ![]() 图:绘制流失或非流失 虽然可能低于 15%,但大多数客户不流失对业务来说是积极的。 绘制分类信息。 在我们的数据集中,有三个分类变量
以下代码绘制了三类数据 源代码片段 输出 ![]() 图:分类变量图
针对分类数据,我们绘制流失图使用以下代码,按类别绘制流失与每个数据类别的关系。 源代码片段 使用 Python 分析客户行为的综合代码输出 ![]() 图:流失与每个分类数据类别的关系 我们从输出中得出以下结论 已更详细地检查分类因素与感兴趣变量流失之间的联系。以下是我们分析的一些主要发现
组织可以利用这些知识,通过专注于某些客户行为来减少客户流失。 结论总之,利用 Python 进行消费者行为分析可以极大地造福组织。通过将消费者行为数据放入 Pandas DataFrame 并执行探索性数据分析,企业可以了解其客户的人口统计数据、购买模式和其他相关信息。由于我们使用的样本,我们从数据的描述性统计中获得了见解,例如平均账户长度、心愿单添加、桌面和应用程序会话、会话时长、促销点击和销售产品浏览量。通过发现异常值和属性之间的相关性,企业可以改进其战略和营销计划,以更好地服务于其消费者。 下一个主题Python 链表扁平化 |
我们请求您订阅我们的新闻通讯以获取最新更新。