If you live in the Philippines, you've felt an earthquake. Probably more than one. That jolt at 3 AM that wakes you up, the quick mental check — was that a big one or just the usual? — and the scroll through Twitter to see if anyone else felt it.
The thing is, most of us only notice the earthquakes that are strong enough to rattle dishes. The ground beneath the Philippines is shaking constantly. I pulled the seismic records to see just how much.
The Analysis
I combined earthquake data from USGS and PHIVOLCS covering over 35,000 recorded seismic events in and around the Philippines. I also mapped the 24 active volcanoes monitored by PHIVOLCS, along with major fault lines like the Philippine Fault Zone and the Manila Trench.
The visualizations include a spatial density map of earthquake epicenters, magnitude-frequency distributions, depth profiles, and a volcanic activity timeline.
Why Seismic Data
Partly curiosity, partly frustration. Every time there's a significant earthquake, the same vague information circulates: "The Philippines sits on the Ring of Fire." True, but not very useful. I wanted something more specific. Which parts of the country are most at risk? How often do damaging quakes actually happen? Is seismic activity increasing, or does it just feel that way because of social media?
There's also a visualization challenge here that I found appealing. Earthquake data is inherently spatial — latitude, longitude, depth, magnitude. It's a natural fit for map-based analysis, and I wanted to practice building those kinds of visualizations.
Magnitude-Frequency and Spatial Clustering
The core technical concept in seismology is the Gutenberg-Richter law: the relationship between earthquake magnitude and frequency follows a power law. For every magnitude 5 earthquake, you'd expect roughly ten magnitude 4 events and a hundred magnitude 3 events. I fitted this distribution to the Philippine data to check if local seismicity follows the expected pattern (it does, closely).
Spatial clustering was the other major analytical piece. I used DBSCAN (density-based spatial clustering) to identify earthquake hotspots — areas where seismic events cluster more tightly than random chance would predict. The algorithm groups nearby events based on distance and minimum cluster size, which is perfect for finding active fault segments.
Depth analysis added another dimension. Shallow earthquakes (under 70km) tend to cause more surface damage, while deep earthquakes (200km+) are often barely felt. I colored the map by depth to show how earthquake character changes across different tectonic zones.
Patterns in the Shaking
Mindanao is the most seismically active major island. The Cotabato Trench and the Philippine Trench on its eastern coast generate a steady stream of events. The 2019 Cotabato earthquake sequence — a series of strong quakes in October and November — shows up as a dense cluster in the data.
Taal and Mayon are the most closely watched volcanoes, and for good reason. Taal's 2020 eruption, which came after decades of relative quiet, displaced hundreds of thousands of people. Mayon has erupted dozens of times in recorded history and remains one of the most active volcanoes in the country.
- Over 90% of recorded earthquakes are magnitude 4.0 or below — too small for most people to notice
- Mindanao accounts for the highest density of seismic events among the three major island groups
- The Philippine Fault Zone runs over 1,200 km from Luzon to Mindanao
- Deep earthquakes (200km+) are concentrated along the subduction zones to the east
- Earthquake frequency hasn't meaningfully increased — detection and reporting have improved
That last point is important. People often ask if earthquakes are happening more frequently. The data says no. What's changed is that seismic networks have gotten better at detecting smaller events, and social media makes every felt earthquake instantly visible.
A Project That Keeps Rumbling
This is one project I could keep updating indefinitely, since new seismic data comes in every day. If I revisit it, I'd want to add a real-time feed using the USGS earthquake API, so the map stays current.
I'd also like to overlay population density to show seismic risk rather than just seismic activity. An earthquake in an unpopulated area is a data point. An earthquake under a city of 2 million people is a disaster. The risk picture is what matters most for the people living there.
Want to see all the charts and data tables?
View the Full Analysis →