I have a table with many financial information of thousands of companies around the world (revenue, income, number of employees, total assets etc) and an extra information indicating whether that company owns a specific high value machine ("1" if the company has and "0" if the company hasn't).

My goal is to identify which companies don't have this machine, but are potential customers. My first approach was to use a classification algorithm, such as SVM, random Forest etc and use those financial characteristics as predictors of the "has machine"/"hasn't machine" column. The "potential customers" would be, actually, the individuals the model classified as "1" (has machine), but they are actually "0" (hasn't machine). In other words, the false positives of this model.

I am not comfortable with this approach (after all, a perfect model wouldn't indicate a single potential customer!), but I don't know any other way I could approach this problem. I was wondering if someone could give me some direction!



What you described is the more-or-less standard approach, with a couple of caveats.


Remember that we live in a stochastic world, so a perfect model is immediately suspect of using leakers, i.e., variables which have a causal connection with the target. In your case, e.g., it would be the presence of a service contract for the machine (which would indicated that the company actually does own one). This, building an interpretable model and examining the most powerful variable for such causal connections (and eliminating them) would be a good idea.

Better Approach

However, one could improve on this approach in a very powerful way by replacing the current state of the company with its historical state at the time of the machine purchase. This way one eliminates the leakers automatically and also gets a better model because the predictor values which are more relevant: after all, you are trying to predict which company is ready to buy the machine now rather that which company bought it in the past when its conditions were very different.

In fact, your approach works precisely because it is an approximation of this approach (approximating the company state at the time it bought the machine with its current state) and the absurdity/uselessness of the perfect model that you mention is the artifact of your approach being an approximation of The Right Thing.

| improve this answer | |
  • $\begingroup$ Thanks for your answer. Indeed, the historical state would be a great improvement in my model, that's a very good idea. Unfortunately, I don't have time dependent information about the companies. Also, I don't have leakers in my model...The "perfect model" was just an example of how inconsistent this approach seems to be. @sds, do you know any reference (books, papers) that used this approach? $\endgroup$ – Bernardo Aflalo Jan 28 '16 at 10:56
  • $\begingroup$ the similar kind of problem i am facing and is there any help? datascience.stackexchange.com/questions/43469/… $\endgroup$ – sai saran Jan 4 '19 at 9:35

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.