Search code examples
sql-serveralgorithmssas

What type of Algorithm would you use to help forecast future performance based on historical data?


In the past we have been using a summary of historical performance by "Vendor" to decide how we allocate new business to each vendor.

Now what we want to do is to break that summary performance into smaller subsets such geography, size, age, etc to better allocate the new business we hand out to our vendors.

For example, Lets say that right now I have three Vendors and 9 pieces of business to hand out. Currently, I just hand out the pieces of business based their summary of performance. However, this does not take into consideration each of their strengths by geography, size, age, etc.

So, lets say Vendor-A is really good at handling small Texas accounts while Vendor-B is good at large Florida accounts. I want to make sure that each vendor gets what they are good at and doesn't get business that they are bad at.

We have all this information in the database, but no real algorithm or approach to extract it and base our decisions about how much and of what kind of business we hand out to who. We been looking into SQL Server Analysis Services for this task, but we could use some very general pointers about what algorithm we should use to do this.

Does anyone happen to know an approach or algorithm designed to handle the segmentation of data to make better predictions?


Solution

  • If you have a fairly large amount of historical data to work with, you can use a naive Bayes classifier. Using the features of the accounts as input, you can train a family of classifiers to predict the performance of each vendor.

    Free implementations probably already exist for your language of choice, though you'll want to do some reading about the underlying theory, to be sure you're using it properly and to give you a sense of what sorts of outputs are reasonable.