过去,我们一直使用“供应商”的历史表现摘要来决定我们如何为每个供应商分配新业务。
现在我们要做的是将总结性能分解为更小的子集,例如地理位置,大小,年龄等,以便更好地分配我们向供应商分发的新业务。
例如,让我们说现在我有三个供应商和9个业务部门。目前,我只是根据他们的绩效总结分发业务。但是,这并没有考虑到地理位置,大小,年龄等各自的优势。
所以,让我们说Vendor-A非常善于处理小型德克萨斯账户,而Vendor-B擅长佛罗里达州的大型账户。我想确保每个供应商都能获得他们擅长的东西并且不会得到他们擅长的业务。
我们在数据库中拥有所有这些信息,但没有真正的算法或方法来提取它,并根据我们向谁提出的业务数量和决策作出决定。我们一直在研究SQL Server Analysis Services来完成这项任务,但我们可以使用一些非常通用的指针来说明我们应该使用什么算法来做这件事。
有没有人碰巧知道一种旨在处理数据分割的方法或算法,以便做出更好的预测?
答案 0 :(得分:5)
如果您有相当多的历史数据可供使用,则可以使用naive Bayes classifier。使用帐户的功能作为输入,您可以训练一系列分类器来预测每个供应商的表现。
您的选择语言可能已经存在免费实现,但您需要对基础理论进行一些阅读,以确保您正确使用它并让您了解哪种输出是合理的
答案 1 :(得分:3)
朴素的贝叶斯是一个不错的选择,但我也会考虑决策树。使用决策树的主要优点是:
但无论您如何决定,最难的部分都是将您的数据转换为某些属性。这既可以针对特定算法进行定制,也可以防止培训变得过于具体。
例如:出于决策目的,您可能更愿意指定年龄范围(0-10,11-20,...)而不是年龄作为数字。同样地理,城市等
答案 2 :(得分:2)
将通用数量转换为数字值(在编辑中添加)
您需要某种方式从数据中获取质量指标(衡量“良好”),并将大量这些内容转换为数字量。可能的指标可能是完成任务的时间(与初始估计相比,看看他们是否存在此问题),成本,成本与报价成本(检查它们是否为您提供真实报价),以及某种与客户满意度相关的集团他们所从事的项目。
以前合同的区域/区域可以编码为GPS坐标,其中X,Y表示给定交易的区域中心(IE“加利福尼亚”或“美国”)以及该区域的宽度-x,宽度-y (错误界限)。要查看地理是否重要,您可以在新合同的给定距离内找到之前的所有业务(简单形式:只检查所有先前交易的距离,复杂形式和大量数据:某种聚类算法或三维表面提取)。
然后,您会对(先前商业交易的质量指标)进行加权平均,减去(当前所需交易位置与之前交易位置之间的距离)。复杂, 但它会为您提供区域业务指标。
分析数据以提取含义
我建议您将数据转换为标准,CSV元组(公司ID,区域代码/坐标,帐户大小,效果指标),然后执行统计回归和数值分析技术。您的目标是一组方程式,描述公司在每个特征方面的表现。 Principal Components Analysis可以通过确定公司绩效的最重要特征来简化此过程。
软件选择:
老实说,这种分析恰好是统计或数据挖掘软件的领域,而不是SQL分析引擎,因为它们是纯粹的统计和数学。如果您的指标和&特征是数字和明确可量化,R,Matlab,Mathematica等都是不错的选择。如果您的数据集非常大,那么您将需要投资最强大的软件包。
挑选最佳候选公司:简单案例
将业务分配给最佳候选人的问题是典型的优化问题。 如果变量和性能之间的关系是线性的,那么你就有了一个非常方便的案例。 Linear programming techniques旨在最佳地解决这类问题(假设您可以提取关系)。
挑选最佳候选公司:复杂案例
如果性能与特征方程是非线性的,则需要模糊逻辑来找到最佳解。当有很多变量时,这将使用非常非常先进的算法为业务找到一个非常好的(不一定是最好的)解决方案。根据经验,Mathematica拥有一套用于非线性优化的顶级优化工具(基于遗传算法),Matlab还具有用于解决该问题的模糊逻辑/遗传算法。有关更多工具,请查看“全局非线性优化”。
答案 3 :(得分:0)
一种方法是列出您感兴趣的所有特征,例如地理位置,帐户大小,价格,交货时间......
然后对每个供应商评分每个特征,例如1到10.
然后优先考虑每个特征,也可以是1到10个。
此优先级可以是一般性的,也可以是每项工作。
然后,您“简单地”为每个所需特征增加供应商得分*优先级。总数最高的人可以获得这份工作。
答案 4 :(得分:0)
计算历史数据的方差。这可以用来“预测”你将来会看到什么。如果假设“未来会像过去那样”对你的过程有意义。它非常简单,许多sql服务器提供内置来帮助进行计算。
答案 5 :(得分:0)
Regression analysis就是您所需要的,尤其是linear regression。