【问题标题】:Weighted Average Calculation Based on Different Criteria基于不同标准的加权平均计算
【发布时间】:2019-05-24 11:31:03
【问题描述】:

我正在开发一个 PHP 逆向拍卖系统。我的客户从不同的供应商那里获得针对他们要求的产品/服务的投标。在向登录的客户显示收到的出价时,我需要根据以下标准根据加权平均值进行排序:

  1. 价格 (40%) -> 最低价好。
  2. 供应商评级 (20%) -> 评级 = 1-5(5 为最佳)。
  3. 交付选项 (10%) -> 更多交付选项提供最好的。
  4. 距离 (10%) -> 与客户位置的距离最短。
  5. 支付方式 (10%) -> 更多支付方式提供最好的。

到目前为止,我已经能够创建以下公式:

$weightage = ($price*.40) + ($rating*.20) + ($delivery_options*.10) + ($distance*.10) + ($payment_methods*.10);

我需要在顶部显示具有最高权重值的出价。我对基于最适合客户的重量的加/减感到困惑,即如果价格较低,那么这应该被认为是最适合客户的,我应该增加重量还是减少重量?

任何帮助将不胜感激。谢谢

【问题讨论】:

  • 好吧,如果您的某些标准越低越好,而其他标准越高,那么您至少必须通过相应地修改符号来反映这一点——因为最终结果只是一个数字,因此,对于对客户“更好”的所有内容,该数字必须上升(或下降,具体取决于您希望对结果进行排序的方式)。
  • 但除此之外,我不太确定将这些值与从百分比派生的因子相乘是否有意义。将评级乘以 0.2,最终结果将增加 0.2 到 1 之间的值。价格乘以 0.4,因此两个价格之间的差异只需 2.5,就可以完全“抵消”评级 5 的影响。或者换句话说,等级 4 和等级 5 之间的差异(仅最终重量的 0.2)会产生相同的效果,就像两件商品之间只有 0.5 的价格差异一样。
  • 非常感谢@04FS,这真的很有帮助。我已经在下面发布了答案:)

标签: php formula average weighted


【解决方案1】:

我把它整理好了。这是我所做的:

引用#1(最佳引用)

价格:120

评分:5

交付选项:2

距离:2000公里

付款方式:5

可用性:1

价格因素 = 1 - ( (价格 - 最低价格) / (最高价格 - 最低价格) ) = 1

评分系数 = ( (评分 - 最低评分) / (最高评分 - 最低评分) ) = 1

交货选项系数 = ( ((交货选项 - 最小交货选项) / (最大交货选项 - 最小交货选项)) = 1

距离系数 = 1 - ((距离 - 最小距离) / (最大距离 - 最小距离)) = 1

支付方式因素 = ( (支付方式 - 最小支付方式) / (最大支付方式 - 最小支付方式) ) = 1

可用性因子 = ( ((Availability - Min Availability) / (Max Availability - Min Availability) ) = 1

报价 #1 权重 = (价格因素 * 40%) + (评级因素 * 20%) + (交付期权系数 * 10%) + (距离系数 * 10%) + (支付方式系数 * 10%) + (可用性系数强> * 10%) = 1

将相同的公式应用于其他报价,您将获得每个报价的权重,然后您可以轻松地对报价进行排序(按报价权重升序/降序排序)。

【讨论】:

    猜你喜欢
    • 2012-04-20
    • 2023-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-29
    • 2018-03-10
    • 2021-03-22
    • 2016-05-10
    相关资源
    最近更新 更多