产品移动算法排名(基于售出单位和净收入)

2024-09-28 22:20:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我不太确定这是不是问这个问题的正确地点。希望有人能给出答案或者给点建议。在

我开了一家小商店卖商品。我有一个程序/电子表格,将列出最重要的移动项目。在

我可以根据售出的总件数对这些信息进行排序:

Product 1, 15  
Product 2, 12  
Product 3, 7

。。。或按总销售额计算:

^{pr2}$

我想在这两个值之间创建一个综合排名。我有编程(PHP、Python、Perl等)和数据库经验。我想知道有没有什么方法可以把收入和单位的价值结合起来,来确定最具影响力的公司。例如,1单位的产品能带来更多的钱。也许产品2更重要。也许是一个以积分为基础的系统,每卖出一个单位可以得到1.5分,每一美元可以得到2分。(货币更重要)

有什么想法吗?在


Tags: 项目答案程序信息排序产品单位product
2条回答

假设您使用的是MySQL,那么这个查询应该与您要查找的内容非常接近:

SELECT Product, 
  CAST(1.5*UnitsSold as DECIMAL) + 2*DollarsSold OverallRank
FROM YourTable
ORDER BY OverallRank DESC

SQL Fiddle Demo

如果不是,同样的概念应该在电子表格中起作用。在

我也不确定这是不是问这种问题的正确地方。似乎您在要求算法或一些标准业务规则但需要最终代码。

好吧,我发布了一个方法来提出新的想法。我构造了一个算法列表,并测试顶级值:

import math

fs = [
 ('Plain coef',    lambda m: math.log(m[1]* units_coef)  
                           + math.log(m[2]* money_coef)  ),
 ('Coef into log', lambda m: m[1]* units_coef 
                           + m[2]* money_coef                       ),
 ('Coef out log',  lambda m: math.log(m[1])* units_coef  
                           + math.log(m[2]) * money_coef ),
 ('Coef out log2',  lambda m: math.log(m[1],2)* units_coef  
                           + math.log(m[2],2) * money_coef ),
]

movings = [ ( 'product1', 1500,    75.00 ),
            ( 'product2',    2, 90000.00 ),
            ( 'product3', 1200,  8000.00 ),
            ( 'product4',    6,  4000.00 ),
            ( 'product5',  500,  1000.00 ),
            ( 'product6',  800,  1200.00 ),
            ( 'product7',  300,   800.00 ),
           ]

units_coef = 1.1
money_coef = 0.04

for (n,f) in fs:
    print ''
    print n
    print '==============================================='
    for i in sorted( movings, 
                     key = lambda m: f(m) , 
                     reverse=True)[:3]:
        print i, f(i)

结果:

^{pr2}$

相关问题 更多 >