基于不同准则的加权平均计算

时间:2019-05-24 11:31:04

标签: php formula average weighted

我正在使用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);

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

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

1 个答案:

答案 0 :(得分:0)

我弄清楚了。这是我所做的:

报价1(最佳报价)

价格:120

评分:5

投放选项:2

距离:2000公里

付款方式:5

可用性:1

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

评分因子 =((评分-最低评分)/(最高评分-最低评分))= 1

交付选项因子 =((交付选项-最小交付选项)/(最大交付选项-最小交付选项))= 1

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

付款方式因子 =(((付款方式-最小付款方式)/(最大付款方式-最小付款方式))= 1

可用性因子 =((可用性-最小可用性)/(最大可用性-最小可用性))= 1

报价#1权重 =(价格因素 * 40%)+(价格因素 * 20%)+(交货选项系数 * 10%)+(距离系数 * 10%)+(付款方式系数 * 10%)+(可用性系数 * 10%)= 1

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