January 30, 2020. That's when the Philippines confirmed its first COVID-19 case — a 38-year-old Chinese woman who had traveled from Wuhan. Two days later, the country recorded its first death, making it the first COVID fatality outside of China.
What followed was three years of waves, lockdowns, vaccination campaigns, and a slow return to something resembling normal. By the time it was over, the DOH had recorded 4.11 million cases and 66,803 deaths. I wanted to trace that entire arc through the data.
What I Built
This project is a timeline-driven analysis of COVID-19 in the Philippines, covering the full span from early 2020 through 2023. It uses the DOH Data Drop — the department's publicly released case-level dataset — along with vaccination records and regional breakdowns.
The dashboard shows case curves, death curves, wave identification, regional hotspot maps, and a vaccination timeline overlaid against mortality trends.
The Reason Behind This Project
Everyone lived through COVID. But living through something and understanding it through data are different experiences. During the pandemic, I was watching the daily case counts like everyone else, but the raw numbers were hard to interpret. Was a spike meaningful or just a testing artifact? Were things getting better or worse in my region?
I built this after the fact, with the benefit of the complete dataset, so I could answer those questions properly. It's part retrospective, part technical exercise in handling a large, messy public health dataset.
Rolling Averages and Wave Detection
The DOH Data Drop is one of the largest open datasets the Philippine government has released. It's also one of the messiest. Case records have inconsistent date fields — date of onset, date of reporting, and date of entry into the system can all differ by days or weeks. Reporting backlogs meant that thousands of cases were sometimes dumped into the system on a single day, creating artificial spikes.
To smooth this out, I used 7-day and 14-day rolling averages on cases and deaths. For wave detection, I implemented a peak-finding algorithm that identifies sustained rises above the rolling baseline. This let me programmatically label the major waves — Alpha, Delta, Omicron — rather than eyeballing them.
The vaccination-mortality correlation required aligning two different datasets with different reporting cadences. Vaccination data was reported weekly by region, while death data was daily (in theory) but with heavy lags. I aggregated both to weekly resolution and computed a lagged correlation to account for the delay between vaccination and its protective effect.
Case fatality rate (CFR) calculations also needed care. A naive CFR (deaths divided by cases) is misleading during active waves because deaths lag behind case confirmations. I used a lag-adjusted CFR that paired deaths with cases from 2-3 weeks earlier.
What the Data Reveals
The Delta wave in August-September 2021 was by far the deadliest period. Daily deaths peaked at over 300, and hospitals across Metro Manila were at or beyond capacity. The numbers confirm what people experienced on the ground — this was the worst of it.
NCR had the most total cases, but it didn't have the highest case fatality rate. Several regions with fewer total cases but less healthcare infrastructure had worse outcomes per case. This matches the pattern seen globally — access to hospital care and ICU beds made a real difference in survival rates.
- The Delta wave (mid-2021) produced the highest daily death counts of the entire pandemic
- Omicron (early 2022) had the highest case counts but significantly lower fatality rates
- 73.9 million Filipinos received at least one vaccine dose
- Post-vaccination waves showed a clear decoupling of cases from deaths
- NCR accounted for about 35% of all cases but had better-than-average survival rates
- Reporting lags of 2-4 weeks were common, especially during surge periods
The vaccination impact is the clearest signal in the data. The Omicron wave in January 2022 produced case counts that dwarfed Delta, but deaths were a fraction of the earlier wave. The vaccines worked. The data shows it unambiguously.
Some Distance Helps
Working on this project felt different from the others in this series. COVID isn't abstract history — it's something that affected everyone I know. Processing it through data gave me a kind of clarity that wasn't available while living through it in real time.
There are things the data can't capture, of course. The mental health toll, the economic damage to informal workers, the kids who fell behind in school. But as a record of the pandemic's trajectory in the Philippines, I think this analysis holds up. The waves, the turning points, the vaccination inflection — it's all visible when you plot it out.
Want to see all the charts and data tables?
View the Full Analysis →