Imagine you have a list of everyone in your network. You want to know how likely they are to answer the phone. There are several people in your network that you have called multiple times (some of them two or three times, others many more times, some over 50) and you have a record of whether or not they ended up answering (for every single phone call). This is useful information, as those who have answered the phone in the past are probably likely to answer the phone again in the future.

There are also several people that you have never called before and therefore to do not know how often they have answered the phone in the past. However, because they are in your network and you know them, you have basic demographic info such as age, gender, race, where they live (rural/urban), cellphone/landline, etc. You obviously also have the demographic information of the individuals you HAVE called in the past, so you can look at the relationship between answer rate and various demographic variables.

Now, you want to build some sort of model (a propensity model?) to predict how likely ANYONE in your network is to answer the phone when you call them. How do you leverage both the call history and demographics information (given that many of your friends and family do not have any call history with you). The result I'm looking for is basically a measure/probability/classification that I can then use to prioritize calling certain individuals over others. From basic data exploration I know that many of these variables I've listed are predictive by themselves, but I don't know how to combine them all into one nice neat model. Is there a machine learning package in R I can use? I don't necessarily need a full answer to this question, I just can't even find where to start! I can build basic linear and logistic regressions in R if that helps, so I am familiar with those concepts.

(Now also imagine you have millions of call records and millions of individuals you have yet to call but have demographic data for, does it change how you go about this?)


Add a variable that indicates whether it was your first call to the person; that will be very useful when you generalize the results later to people you never called before (and who must be excluded in your training data). If it was me I'd start with a more exploratory technique, like decision tree. You can implement decision tree with rpart. The decision tree will show ways that your potential explanatory variables split and correlate with different probabilities of having the call answered. Then use that to build your model. You mentioned that you have experience with logistic regression, that would be a suitable option.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.