我正在使用PHP开发反向拍卖系统。我的客户从其他供应商那里获得针对他们请求的产品/服务的出价。在向已登录的客户显示收到的出价时,我需要根据以下标准基于加权平均值进行排序:
到目前为止,我已经能够创建以下公式:
$weightage = ($price*.40) + ($rating*.20) + ($delivery_options*.10) + ($distance*.10) + ($payment_methods*.10);
我需要在顶部显示具有最高权重值的出价。我对基于最适合客户的权重增加/减少感到困惑,即如果价格较低,那么应该认为这对客户最合适,我应该增加权重还是减去权重?
任何帮助将不胜感激。谢谢
答案 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排序)。