Stanford is Using Machine Learning on Satellite Images to Predict Poverty

Pranav Dar 28 Feb, 2018
2 min read


  • Stanford’s machine learning model can predict poverty
  • It uses satellite imagery to gather data and runs it through the algorithm
  • Night time images are cross checked with day time images to predict the economic status of the region
  • It’s open source, code is available on GitHub for both R and python



Eliminating poverty is the number one goal of most countries around the world. However, the process of going around rural areas and manually tracking census data is time consuming, labor intensive and expensive.

Considering that, a group of researchers at Stanford have pioneered an approach that combines machine learning with satellite images to make predicting poverty quicker, easier and less expensive.

How does the algorithm work?

Using this machine learning algorithm, the model is able to predict per capita consumption expenditure of a particular location when provided with it’s satellite images. The algorithm runs through millions of images of rural regions throughout the world. It then compares the presence of light in a region during the day and at night to predict it’s economic activity. This approach is called transfer learning.

Using the images captured during the night, the algorithm cross references it with the day time images to gauge the infrastructure there. In general, a brightly lit area means it is powered by electricity and must be better off than the alternative.

Before making it’s predictions, the algorithm has been made to cross check it’s results with actual survey data in order to improve it’s accuracy.

So far, this study was performed for regions in 5 countries – Nigeria, Uganda, Tanzania, Rwanda and Malawi. Check out a small video on this study below:


Our take on this

Anything that helps eliminate poverty is good in our books and when it comes to machine learning doing the work, even better. Stanford claims that it’s model predicts poverty almost as well as the manually collected data so that makes it a feasible option for the survey administrators.

It’s also an open-sourced project and they have made their code available on GitHub here. It’s available both in R and python so anyone with an interest in the subject can try it on their own systems.

Apart from Stanford, researchers at the University of Buffalo are also using machine learning and satellite images to predict poverty. Their approach differs from Stanford’s as they have added cell phone data to their model. The Pentagon is also offering $100,000 to anyone who can read the data from satellite images in the same way that Stanford’s model does.


Subscribe to AVBytes here to get regular data science, machine learning and AI updates in your inbox!


Pranav Dar 28 Feb, 2018

Senior Editor at Analytics Vidhya. Data visualization practitioner who loves reading and delving deeper into the data science and machine learning arts. Always looking for new ways to improve processes using ML and AI.

Frequently Asked Questions

Lorem ipsum dolor sit amet, consectetur adipiscing elit,

Responses From Readers


Praveen Orvakanti
Praveen Orvakanti 28 Feb, 2018

Hi Pranav! Great article! I cant find the video that you mentioned in the article though.

Bala 28 Feb, 2018

Hi Pranav, Inspiring. Machine Learning, AI will contribute more to human values in future.

David 28 Feb, 2018

Hi Pranav can you share the link with details about the pentagon's offerring?

Abhinav Jian
Abhinav Jian 28 Feb, 2018

Hi Pranav, Great job you have done. keep it up

Daniel 02 Mar, 2018

Very fascinating article!