As I sat through a 4-hour meeting the other day, I had an idea for a very useful and generic prescriptive analytics model to be used in conjunction with the results of a statistical learning study (e.g. a regression model). I can immediately see a large number of applications for this model, some of which I’ll illustrate in this post. I also believe this idea could be turned into an interesting case study (combining predictive and prescriptive analytics) for class discussion in a master’s level course (MBA or specialized MS), and I’d love to partner with someone to turn that into reality. Let me know if you’d like to pursue this! (Disclaimer: I don’t have much experience writing cases, but I want to get better at it.)
Without further ado…
You’re interested in gaining a better understanding of the likelihood, or probability , that certain agents will perform a given action that benefits you. So you hire a group of business analytics consultants who create a statistical learning model M that predicts the value of with high accuracy given an agent (and their attributes/characteristics) as input.
Those agents with high-enough probability of performing the action, say (a subjective choice), don’t concern you too much because they’re already on your side. Your focus is on those whose value of is less than 50%. One of the outcomes of model M is a number for each agent (or group of similar agents) indicating how much of an effect giving that agent a financial incentive would have on the value of their action probability . For example, this number could be 0.1 for a given agent, indicating that they’d be 10% more likely to perform the action for each $1000 of incentive they receive. So, assuming a linear model, if their originally predicted were 35%, giving them $2000 would be enough to push them beyond your target 50% threshold. (Considering incentives are given in multiples of $1000.)
Before we go any further, let me make this more concrete with a few examples.
Example 1: You are the seller of a product. Agents are customers. The action is purchasing your product. The financial incentive is a discount. You have a budget for the overall discount you can give and you want to optimally allocate different discount amounts to different customers to bring as many of them as possible to the brink of buying your product (say, a 50% chance).
Example 2: You are a politician. Agents are voters. The action is voting for you. The financial incentive is a bribe. This happens in Brazil and likely in other countries as well. (Disclaimer: I’m not advocating that this is an ethical or moral thing to do. Like any superpower, however, mathematics can be used by the dark side as well.)
Example 3: You are a university. Agents are admitted students. The action is picking you to attend. The financial incentive is a scholarship.
I’m sure you can come up with other examples. Let me know in the comments!
So the big question is: How do we optimally allocate the limited pool of financial incentives? Optimization to the rescue! I’ll provide a link to an Excel spreadsheet below, but first let’s understand the math behind it.
Given agents, for each agent , let be how much the agent’s action probability (before the incentive) is below my target threshold, and let be how much agent ‘s action probability increases for each dollars of financial incentive. In my example above, (50% minus 35%), , and .
Let’s create two variables for each agent . Variable is an integer number indicating how many -dollar incentives we decide to give to that agent. And variable is a binary (yes/no) variable indicating whether or not we manage to bring agent to our side (i.e. whether we raised his/her action probability beyond the threshold).
To indicate that our goal is to push as many agents beyond the action threshold as possible, we write
If our total budget for financial incentives is , we respect the budget with the following constraint (note that the sum of all equals the total number of-dollar financial incentive packages given away):
Then, if we want to be equal to 1 (meaning “yes”), we need to be high enough for the increase in the agent’s action probability to exceed the threshold value. This can be accomplished with these constraints
In my earlier example, the above constraint would read
Therefore, unless is at least 2, the value of cannot be equal to 1.
That’s it! We are done with the math. Wasn’t that beautiful?
Here’s an Excel spreadsheet that implements this model for a random instance of this problem with 20 agents. It’s already set up with all you need to run the Solver add-in. Feel free to play with it and let me know if you have any questions.