algorithm - 计算一个项目可以分配到多个类别时的百分比
问题描述
这可能是一个愚蠢的问题,但我现在正在空白,无法在谷歌中找到答案。
我有以下示例表
顾客 | 买 |
---|---|
一个 | 食物 |
乙 | 食物和饮料 |
C | 喝 |
D | 喝 |
现在我如何计算购买食品/饮料的顾客占顾客总数的百分比?计算这个的最佳方法是什么?
解决方案
% food = #购买食物的顾客 / #total unique customers = 2 / 4 = 50%
% drink = #customers who purchasedrink / #total unique customers = 3 / 4 = 75%
这里的问题是总 % 超过 100 %解决方案 - 计算客户 B 两次,一次是饮料,一次是食物
% 食物 = #购买食物的客户 / #总客户 = 2 / 5 = 40%
% 饮料 = #购买饮料的客户 / #总客户 = 3 / 5 = 60%
总数是 100% 但在这种情况下这是计算 % 的正确方法吗?
问题显然是一位顾客可以同时购买食物和饮料,我不知道如何处理这种情况。任何帮助,将不胜感激。谢谢!
更新:
感谢您的回答。完全删除购买这两种产品的客户是有意义的。但现在我想知道如果有超过 2 个类别会发生什么?
示例如下,现在我们在混合物中添加了一种产品(冰淇淋)
顾客 | 买 |
---|---|
一个 | 食物 |
乙 | 食物和饮料 |
C | 喝 |
D | 喝 |
乙 | 饮料,冰淇淋 |
F | 冰淇淋 |
G | 食物、饮料、冰淇淋 |
我想我们可以使用相同的逻辑删除客户 G,因为他们购买了所有产品?我们应该如何处理客户 E 和 B?
解决方案
我认为您正在寻找的只是消除购买这两种产品的客户数量。
如果您正在寻找仅购买特定产品的客户的独特组合,那么:
3 位独特的客户购买了一件独特的商品
- 1/3 食物 => 33%
- 2/3 饮料 => 66%
购买这两种产品的人在这些计算中并不重要,因为他们在两种情况下都添加了相同的百分比。
编辑:
我用excel来帮助我。我希望那很好
我将您的数据添加到 Excel 工作表中并创建了一个交叉表数据透视表。
我已将客户设置为列,将产品设置为行,以便查看每个客户通过值字段 Count of Product 购买了什么
我已将产品计数更改为占总数百分比的公式
为了向我显示每种产品的客户之间的百分比分配,例如,如果客户 B 同时购买了饮料和食物,他将在相应的行中显示为 50%。如果他买了所有 3 则 33%
总计列将包含每个产品行项目的最终百分比。Excel 以与某些评论中的状态相同的方式计算它,它计算产品总数而不是客户总数,这是有道理的,因为这是您正在使用的数据集,而不是客户本身。
如果我们交换行和列并进行相同的计算,我们会看到每个客户的单独百分比(他们每个人单独购买的产品的百分比),我们可以对每种产品进行总结。结果是一样的
推荐阅读
- sas - 在 SAS 中定义字符数组
- java - 使用 maven 并行运行 junit 测试用例
- python - 仅在存在对象时才进行连接
- java - 无法再连接到我的 sql docker 容器
- python - How to apply function to Pyspark dataframe column?
- jquery - how to add a jquery script tag in pug?
- pandas - 如何使用 Pandas DataFrame 标记具有 2 列的 CSV 文件中的单个列
- shell - 如何在所有文件中查找具有分配给变量的 %d-%h-%Y 格式的当前日期的行
- prolog - 将关系变为事实
- django - PostgreSQL 与 Django:我应该将静态 JSON 存储在单独的 MongoDB 数据库中吗?