Python 中的应用用户细分

2025年3月17日 | 阅读 8 分钟

将用户根据他们与应用程序的互动方式进行分类的任务称为应用程序用户细分。它有助于查找留存用户,确定营销活动的客户群体,并解决各种涉及寻找具有相似特征的用户等业务难题。如果您想了解如何细分应用程序用户,那么本文适合您。在本教程中,我将引导您完成使用机器学习和 Python 进行应用程序用户细分的过程。

应用用户细分

为了解决应用程序用户细分问题,我们必须根据用户与应用程序的互动方式对用户进行分类。因此,为了克服这个问题,我们需要有关用户与应用程序互动方式的数据。

我发现了一个包含用户如何与应用程序交互的数据集,这些用户定期使用应用程序以及已卸载应用程序的用户。这些信息可用于细分用户并识别留存用户和流失用户。

应用用户细分:简要案例研究

在日益竞争激烈的应用程序世界中,企业和应用程序开发人员必须识别和定位特定的用户类别,以更好地参与并留住更多用户,从而提高生命周期价值。

为了发现一种数据驱动的方法来根据用户的使用行为和支出能力对应用程序用户进行细分,以便识别应用程序将在一段时间内留住和丢失的消费者,我们收集了以下应用程序数据集。

数据集中的所有特征列出如下:

  1. userid:用户的唯一标识符;
  2. 平均屏幕时间:用户在程序上的平均屏幕使用时间。
  3. 平均应用消费(印度卢比):用户在应用程序上的平均消费金额。
  4. 用户评论:用户是否提供了有关其应用程序体验的反馈?如果是,则为 (1;否则,为 0)。
  5. 评分:用户为应用程序提供的评分。
  6. 新密码请求:用户请求新密码的次数。
  7. 最后访问分钟数:用户上次活跃至今的分钟数。
  8. 状态:如果程序已安装,则为“已安装”,如果用户停止使用,则为“已删除”。

发现仍然使用该程序的应用程序用户与已卸载该程序的应用程序用户之间的关系,并建立用户细分,以更好地了解保留的用户以及在转向其他选项之前可能被保留的用户。

数据集主表(仅供参考)

用户ID平均屏幕时间平均应用消费(印度卢比)留下评论评分新密码请求最后访问分钟数地位
2002276312972990已卸载
200205101821008已安装
200337207085972已卸载
200132115262799已安装
2005151272563668已卸载
2006285990912878已卸载
2007198872961182已安装
20088320222725已卸载
200928712282802已卸载
2020285212811622已安装
2022116882852293已卸载
20222116622011221已卸载
20232190379008已卸载
20211281502073207已安装
2025322520512595已卸载
2026222690203577已卸载
2027387762712965已安装
2028313120623221已卸载
2029222500753160已卸载
20202896722062925已卸载
202225771272632已卸载
2022311820681057已卸载
2023226152922916已安装
2021266880911702已卸载
2025311000811289已卸载
2026187322022891已卸载
2027331600922019已卸载
202819818051129已卸载
20299160023273已卸载

在下面的部分中,我将逐步指导您完成使用 Python 和机器学习进行应用用户细分的过程。

Python 应用用户细分

让我们开始应用用户细分,导入必要的 Python 模块和数据集。

代码片段

输出

   userid  Mean Screen Time  Mean Spent on App ( INR )  Left Review  \
- - - - - - - - - - - - - - - - - - - - - - - - - - -  - - - - - - - - - - - - - - - - - - - 
0    1001                 17.0                       634.0            1   
1    1002                  0.0                        54.0              0   
2    1003                 37.0                       207.0            0   
3    1004                 32.0                       445.0            1   
4    1005                 45.0                       427.0            1   

   Ratings  New Password Request  Last Visited Mins       Status  
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
0        9                     7                  2990    Installed  
1        4                     8                 24008   Uninstalled  
2        8                     5                   971    Installed  
3        6                     2                   799    Installed  
4        5                     6                  3668    Installed  

首先,考虑所有用户在屏幕上花费的最长时间、最短时间和平均时间。

代码片段

输出

Mean Screen Time = 24.39039039039039
Highest Screen Time = 50.0
Lowest Screen Time = 0.0

首先,考虑所有用户在屏幕上花费的最长时间、最短时间和平均时间。

代码片段

输出

Mean Spend of the Users = 424.4154154154154
Highest Spend of the Users = 998.0
Lowest Spend of the Users = 0.0

现在,让我们考虑活跃用户在消费能力和屏幕时间与已停用应用程序的用户之间的关联。

代码片段

输出

App User Segmentation in Python

太棒了!卸载应用程序的用户平均每天屏幕使用时间不到 5 分钟,消费不到 100 美元。此外,对于仍然使用该应用程序的用户,平均计算机时间和平均支出之间存在线性关联。

现在让我们看看用户评分和平均屏幕时间之间的关联。

代码片段

输出

App User Segmentation in Python

正如我们所见,那些卸载应用程序的用户最高给予了五星评价。与评分较高的人相比,他们的屏幕时间非常短。因此,不喜欢花更多时间使用该程序的客户会对其评分较低,并在某个时候将其卸载。

应用用户细分以识别留存用户和流失用户

现在,让我们深入研究应用用户细分,以了解应用程序保留了哪些用户,又永久丢失了哪些用户。对于这个挑战,我将使用机器学习中的 K-means 聚类技术。

代码片段

输出

   userid  Mean Screen Time  Mean Spent on App ( INR )  Left Review  \
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

0    1001                 17.0                       634.0            1   
1    1002                  0.0                        54.0              0   
2    1003                 37.0                       207.0            0   
3    1004                 32.0                       445.0            1   
4    1005                 45.0                       427.0            1   
5    1006                 28.0                       599.0            0   
6    1007                 49.0                       887.0            1   
7    1008                  8.0                        31.0              0   
8    1009                 28.0                       741.0            1   
9    1010                 28.0                       524.0            1   

   Ratings  New Password Request  Last Visited Mins       Status  Segments  
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
0        9                     7                  2990    Uninstalled         0  
1        4                     8                 24008  uninstalled         2  
2        8                     5                   971    Uninstalled         0  
3        6                     2                   799    installed              0  
4        5                     6                  3668    Uninstalled       0  
5        9                     4                  2878    installed            0  
6        9                     6                  4481    Uninstalled       0  
7        2                     1                  1715    installed            0  
8        8                     2                   801    Uninstalled         0  
9        8                     4                  4621    Uninstalled         0  

让我们看看有多少个部分。

代码片段

输出

0    910
1     45
2     44
Name: Segments, dtype: int64

为了更容易理解,让我们重命名这些部分。

代码片段

现在让我们看看这些细分。

代码片段

输出

App User Segmentation in Python

蓝色部分代表应用程序随时间保留的用户数量。红色部分代表最近卸载了该程序或计划卸载该程序的用户。绿色部分代表应用程序已丢失的用户数量。

总结

因此,您可以根据用户与应用程序的互动方式对用户进行分类。应用用户细分可帮助组织找到留存用户,确定促销活动的细分用户,并解决各种需要根据相似标准搜索用户的业务挑战。希望您喜欢我关于使用 Python 机器学习进行应用用户细分的文章。