"How do I actually read my healer logs?" is one of those questions that resurfaces on r/CompetitiveWoW every few months with no satisfying answer in the replies - usually a handful of "just look at your parse" comments that don't actually explain anything. Parse percentile and HPS are the numbers Warcraft Logs puts in front of you first, so they're the numbers people fixate on. They're also close to useless for figuring out whether you actually healed well.
Why parse % and HPS don't tell you much
Your parse percentile ranks your log against every other log uploaded for that same boss or key level - it's a measure of how your throughput compares to the rest of the population that logged that content, not a measure of whether you played your kit well. A green parse on a pull where the tank stood in everything and the group needed constant AoE healing looks identical to a green parse where nothing went wrong and half of it was spent topping off full-health targets.
HPS (healing per second) has the same problem from a different angle: it's raw throughput, and raw throughput doesn't distinguish healing that mattered from healing that didn't. Spamming a cheap heal into a full-health target raises your HPS and does nothing for your group. A healer who reacts well to damage and doesn't overheal can post a lower HPS number than one who panic-heals everything in sight, and still be doing the better job.
Group composition and pull difficulty move both numbers around too. A well-played key with a strong group needs less healing than a scrappy key that's barely staying alive, so the same healer can post very different HPS numbers in two runs where their actual play didn't change. None of this means parse and HPS are meaningless - they're just answering a different question ("how much did I heal, relative to everyone else") than the one most people actually want answered ("did I play my healer well").
What to check instead
1. HoT / maintenance buff uptime
For HoT-based specs, uptime - the percentage of active combat time that a HoT is active on at least one target - is a much better signal than throughput. It's measured against combat time, not raw fight time, so downtime between pulls doesn't drag the number down artificially. A HoT that keeps dropping and getting reapplied from scratch is worse than one that's refreshed just before it expires (a "pandemic" refresh), because the refresh preserves part of the remaining duration instead of resetting it.
2. Overhealing %
Every heal event reports both the healing that actually landed and the healing that "overhealed" - exceeded the target's missing health. Overheal % is the share of your total raw healing that was wasted this way. It's not automatically bad (some overheal is unavoidable when healing through burst damage), but a healer with persistently high overheal relative to others at the same key level is probably casting reactively instead of reading the fight.
3. Mana management
Three things matter here: your average mana % across the fight, whether you went fully OOM at any point (a binary failure signal, not a gradient), and your mana efficiency - effective healing produced per point of mana spent. Going OOM mid-key is one of the more diagnostic problems in a log, because it usually means either your rotation is too mana-hungry for the pace of the key or you're casting more than the pull actually required.
4. Boss-mechanic response
This is the one raw throughput can't capture at all: did you use the right tool before a dangerous mechanic landed, not just react to the damage afterward? Pre-casting a HoT or popping a cooldown a few seconds ahead of a known burst mechanic is the difference between smoothing out the damage and playing catch-up for the rest of the pull.
5. Interrupts and dispels
Depending on your spec, you're also expected to help with interrupts on priority casts and dispel dangerous debuffs. A missed interrupt that leads to a damage spike will tank your healing numbers for reasons that have nothing to do with your healing - it's worth checking whether a "bad" HPS moment in the log was actually a missed interrupt from someone else in the group.
What "good" looks like - percentiles, not pass/fail
None of the metrics above have a single universal target. What counts as strong Lifebloom uptime at a +15 is a different number than at a +25, because higher keys demand more active healing and change how much uptime is realistically achievable. The useful comparison isn't against a fixed threshold someone posted in a Discord once - it's against real logs from top performers at your key level, in your dungeon.
That's the whole idea behind Healper's performance score: instead of grading you against an arbitrary number, it compares your HoT/buff uptime, mana management, and overhealing against percentile distributions built from real top-performing logs, stratified by dungeon and key level bracket, then layers in how you responded to that dungeon's specific dangerous mechanics.
Curious exactly how the score is built? See the full methodology.