← All projects
FinanceCompleted

S&P 500 Business Health & Performance Analyzer

A fundamentals pipeline that pulls financials for the full S&P 500, clusters companies with K-means, and compares peers that the market prices very differently.

500

companies clustered on financial health signals

Two companies in the same sector can look similar on the surface and be in completely different health. Can unsupervised clustering on fundamentals separate them cleanly?

  • Pulled fundamentals for the S&P 500 via yfinance into MySQL
  • K-means clustering (scikit-learn) to group companies by financial health profile
  • Tableau Public dashboards and Excel models for the comparison layer
  • Anchor insight: a CVS Health vs. Abbott Labs comparison showing how two healthcare names land in different health clusters despite sector overlap
PythonyfinanceMySQLscikit-learnTableau PublicExcel