Last Updated on September 27, 2016
A question I get asked a lot is:
How can I make money with machine learning?
You can get a job with your machine learning skills as a machine learning engineer, data analyst or data scientist. That is the goal of a great many people that contact me.
There are also other options.
In this post, I want to highlight some of those other options and try to get your gears turning.
There are a great many opportunities given the vast amounts of data available, you just need to think about and discover the valuable questions. These are the questions to which people and businesses will pay to have answered.
Let’s start with some methodology before we dive into example domains.
Like any other machine learning problem, you are following the process of applied machine learning, but you are selecting a domain and question where there is a market to have the question answered.
- Start with a question in a domain (define your problem well). Choose a question based on the impact it has on the domain. Here, impact may be a return. Play thought experiments with an idealized model that can make perfect predictions.
- Collect the data you need to address the question (data selection).
- Clean and prepare the data in order to make it suitable for modeling (data preparation)
- Spot check algorithms on the problem. Be sure to start with the simplest possible models and use them as a baseline.
- Tune the best performing models and use methods like thresholding and ensembles to get the most out of the models you have selected (improve results).
- Present the results or put the system into operations and set up close watches (present results).
Ideally, the more accurately you address the question, the larger the return (or the bigger the bets you can make).
If you have your own business or web startup, then you should look very hard at leveraging the data you are already collecting. It is not uncommon to run a number of data collection services in a web startup, like KissMetrics, Google Analytics and many others. How can this data be used to affect your bottom line?
In my experience, this is more data analyst work than machine learning work, but you can always bust out a regression model and see if it offers more lift than a simple quintile model.
We covered this a little in the previous post. Nevertheless, here are some ideas of areas you could look into:
- Customer Conversions: Model the features of customers that convert or don’t convert.
- Up-sell and Cross-sell: Model the features of customers that convert on up-sell or cross-sell offers.
- Acquisition Strategies: Model the value of customers by their acquisition strategies.
- Retention Strategies: Model the ROI of customer retention strategies.
- Customer Churn: Model the features of customers that churn or don’t churn.
Start with the impact on the bottom-line and work backward to the questions you need to ask in order to make decisions. Once you can answer the question and make a prediction for a given new customer, spend time devising and testing intervention strategies you can use to influence or capitalize on the prediction.
You may be a developer or programmer that knows how to design, create and release software. Think about valuable questions online that you could answer with machine learning methods.
Are there predictions or recommendations you can make that are valuable?
Some examples off-the-cuff that come to mind include a variety of publicly available social media data:
- Kick Starter: Model the features of a successful or unsuccessful kick starter campaign.
- Social Media Profile: Model the features of a successful social media profile (visits or page rank) on sites like LinkedIn, Google+ or Facebook.
- Social News: Model the features of a successful post to a social news site like Hacker News or Reddit.
- Sales Page: Model the features of a successful product sales page like for e-commerce or information products.
Making money from insights into social media data is a crowded space. If you want to take this idea seriously, you are going to have to get really creative with the features you use to model the problem. The feature engineering will be your contribution, perhaps more than actual models.
This approach will most likely require the collection and processing of awkward datasets. These are datasets that are not tidy matrices of features. The modeling process would be to characterize the desirable outcome first, assess it’s predictive power and then make predictions that you offer to clients.
Finance and Gambling
The obvious options for making money with machine learning are finance and gambling. I am reticent to suggest these areas. I think they can are very likely dangerous sirens. Like Venus flytraps, they lure programmers and machine learning practitioners and digest them.
The benefit is that the decisions are very clear (which horse will win or which stock to buy/sell) and you can deploy your own capital behind the decisions. I’d suggest modeling problems that are easy for you to understand, some financial instruments can be very complex.
I’ve had my toe in high-frequency trading and portfolio optimization. It can be scary stuff, also thrilling. I recommend paper trading for a while, there are great APIs you can use for your data source. See How I made $500k with machine learning and HFT (high-frequency trading) and Financial Applications of Machine Learning. Also, you might want to take a look at Quantopian,
I have not tried out any gambling problems, but I have used some of the methods such as rating systems that I expect to feature heavily in the literature. Consider looking into horse and dog racing, sports betting (2 player games) and card games like poker.
Race yourself. Focus on the problem, collect the data and quickly define some baseline results. Your goal is to improve upon your own best results and to leverage anything and everything that might help. Your goal is not to outperform domain experts, at least not for a long time.
You can make money by participating in machine learning competitions. I my advice is that the cash prizes not be the primary motivation for participation in competitions. You can make a lot more money by finding consulting clients directly. Nevertheless, top competitors can win cash prizes.
Some places you can find machine learning competitions include:
Competitions can be an amazing opportunity for learning, testing and improving your skills. There is typically a lot of information sharing on these sites and you can find out what algorithms and tools are hot.
We touched on four areas that you could think about in order to make money from machine learning: your own business, from social data, finance and gambling and competitions.
The best method that I have found is to find people with problems that you can answer with easily accessible data (i.e. consulting).
Do you make money using machine learning or do you have some ideas for making money with machine learning?