【发布时间】:2011-11-24 19:06:24
【问题描述】:
我有一个 PHP 应用程序,它允许用户指定国家列表和产品列表。它告诉他们哪个零售商是最匹配的。它使用类似于以下的公式来执行此操作:
(
(匹配的国家数量/选择的国家数量)*(国家匹配的重要性)
+
(匹配的产品数量/选择的产品数量)*(产品匹配的重要性)
)
*
(国家和解决方案匹配的重要性*(重合匹配/可能重合匹配的数量))
其中[国家匹配的重要性]为 30%,[产品匹配的重要性]为 10%,[国家和解决方案匹配的重要性]为 2.5
所以为了简化它:(国家匹配 + 产品匹配)* 乘数。
把它想象成[他们在那个国家经营吗? + 他们是否销售该产品?] * [他们是否在该国家/地区销售该产品?]
这为我们提供了我用来对搜索结果进行排名的每个零售商的匹配百分比。
我的数据表如下所示:
编号 |国家 |零售商 ID | product_id ========================================= 1 |法语 | 1 | 1 2 |法语 | 2 | 1 3 |法语 | 3 | 1 4 |法语 | 4 | 1 5 |法语 | 5 | 1到目前为止,它还是相当简单的,因为它是一个二元决策。零售商要么在该国家/地区开展业务,要么销售该产品,或者不销售。
但是,我现在被要求为系统增加一些复杂性。我得到了收入数据,显示了每个零售商在每个国家销售的产品数量。数据表现在看起来像这样:
编号 |国家 |零售商 ID |产品编号 |收入 ================================================== = 1 |法语 | 1 | 1 | 1000 2 |法语 | 2 | 1 | 5000 3 |法语 | 3 | 1 | 10000 4 |法语 | 4 | 1 | 400000 5 |法语 | 5 | 1 | 9000000我的问题是,我不希望零售商 3 的销售额是零售商 1 的 10 倍,以使它们的搜索结果提高 10 倍。同样,零售商 5 不应该比零售商 1 好 9000 倍。我已经研究过使用平均值、众数和中位数。我试过使用与平均值的偏差。我对如何使大跳跃不那么重要感到困惑。我对统计领域缺乏无知。
救命!
【问题讨论】:
标签: php math statistics