Overview

NASA publishes detailed data on Near-Earth Objects through the Center for Near Earth Object Studies (CNEOS): orbital parameters, estimated sizes, close-approach distances, and velocities for thousands of tracked asteroids. The question this project is built around is the obvious one. Can you build a meaningful predictive model from this data, and how worried should we actually be?

What I did

  • Pulled the full NEO dataset from NASA's public API and the CNEOS database
  • Cleaned and normalised the orbital mechanics columns: semi-major axis, eccentricity, inclination, MOID
  • Built a classification model for Potentially Hazardous Asteroids based on orbital features
  • Modelled close-approach frequency distributions and projected them forward from historical data
  • Visualised orbital paths and risk probability across a 100-year simulation window

Key findings

  • Minimum Orbit Intersection Distance (MOID) is the single strongest predictor of PHA classification
  • The number of tracked NEOs has grown 10× in the last 20 years. Better telescopes, not more asteroids.
  • Statistically, Earth gets a Tunguska-class event roughly once per century. We are overdue.
  • No currently tracked asteroid poses meaningful impact probability in the next 100 years. The real risk is the ones we haven't found.

Stack

  • Python
  • NASA API
  • scikit-learn
  • pandas
  • matplotlib
  • numpy