Lifebloom - A Restoration Druid Analysis Tool

Notice

Welcome to Lifebloom! This is an application that collects and structures TBC Resto Druid data from WarcraftLogs in order to help facilitate retrospective data analyses by and for the community. This app is still in development in preparation for the next iteration of TBC Classic.

For more information about the tool and how to contact the author, please check out the "About" tab. Thanks!

- Mercy


Deep Resto
Dreamstate
Nature's Grace
Filters

For descriptions of each variable in the dataset and a definition of Rotation, please see the Data Dictionary section below.

Fight Settings
Buffs & Support
Region:
Healer Composition
HPS vs Haste
Average HPS by Primary Rotation
HPS vs Duration
Data Dictionary
Talents & Spec
Deep Resto / Tree of Life
Full Restoration spec with Tree of Life form. Provides better mana efficiency and rotational flexibility compared to Dreamstate and Nautre's Grace.
Dreamstate
Hybrid spec investing in Balance for "Improved Faerie Fire", though called Dreamstate for historical reasons. In this spec, Druids sacrifice Tree of Life and Swiftmend.
Nature's Grace
Balance talent that reduces next cast time by 0.5s after a spell crit, supporting a Regrowth-heavy playstyle with considerably high HPS but with significant mana constraints. In WarcraftLogs, Deep Resto and Nature's Grace are both categorized as Restoration. To identify Nature's Grace builds, we check if the Druid had the Nature's Grace buff at any point during the encounter.
Playstyle & Rotation
Rotation

A "rotation" is the sequence of spells that the Druid casts, either while maintaining Lifebloom on the tank(s) or not. For an introductory overview on rotations, I'd refer you to SixPacKyx's WowHead guide under the "Rolling Lifebloom: Advanced Restoration Druid Healing Rotation" section, and additionally giansm's Elitist Jerks guide under the "Healing Strategies" section.

To help discuss rotations more easily, I've created a standard notation for rotations: xLB yI zRG

  • x: The number of tanks you are rolling Lifebloom on during a rotation.
  • y: The number of instant cast spells used during a rotation (Rejuv, Swiftmend, Lifebloom on non-tanks, etc.)
  • z: The number of Regrowth casts used during the rotation.

To illustrate, here are a few examples:

  • 1LB 1I 1RG - A typical unhasted 1 tank rotation. The Druid refreshes Lifebloom on the tank, uses an instant cast spell (perhaps refreshing Rejuv on the tank), and casts 1 Regrowth.
  • 2LB 2I 0RG - A typical unhasted 2 tank rotation. The Druid refreshes Lifebloom on two tanks and uses two instant cast spells, but does not cast any Regrowths.
  • 0LB 0I 5RG - The Druid does not cast Lifebloom on any tank, but instead casts Regrowth five times in a row.
Rotating on Tank
We programatically list all of the rotations the Druid did over the course of the encounter, and check if at least 70% (chosen arbitrarily) of the Druid's rotations on a fight include a Lifebloom on at least one of the tanks (see Report Analyzer tool for more details). If so, then Rotating on Tank is "Yes", otherwise "No".
Primary Rotation
The most frequently used rotation pattern during the encounter.
Player Information
Name
The character name of the Restoration Druid as it appears on WarcraftLogs.
Server
The realm/server where the character is located.
Region
Geographic region of the server: US (Americas), EU (Europe), CN (China), or KR (Korea).
Performance Metrics
HPS
Healing Per Second. Total effective healing done divided by fight duration. This is the primary performance metric used for ranking.
Duration
Total length of the boss encounter from pull to kill, displayed in minutes and seconds (e.g., "4m 24s").
Adjusted Rank
The player's position within the current filtered dataset. Changes dynamically based on active filters.
Character Stats
Haste
Spell Haste rating at the start of the encounter. Is sometimes unavailable in a report, represented by "-".
Spirit
Spirit stat at the start of the encounter. Is sometimes unavailable in a report, represented by "-".
Intellect
Intellect stat at the start of the encounter. Is sometimes unavailable in a report, represented by "-".
Raid Composition
Total Healers
Number of healers in the raid.
nDruid / nPaladin / etc.
Count of each healer class in the raid.
Buffs & External Support
Shadow Priest (Vampiric Touch)
Whether the Druid had a Shadow Priest providing Vampiric Touch mana regeneration at any point during the encounter.
Innervates
Number of Innervates received during the encounter.
Rankings
Adjusted
Rank
Name Server Region Duration HPS Haste Spirit Total
Healers
Innervates Shadow
Priest
Rotating
on Tank
Primary
Rotation
Report
Link
Loading data...

Report Analyzer

Analyze Individual Reports

Enter a WarcraftLogs report code (or full URL), the boss name, and the Restoration Druid's name to get a comprehensive performance analysis including rotation patterns, buff tracking, and HPS breakdown.


Report Details

Community Theorycrafting

Notice

This section is dedicated to analyses or "blog" style posts. I'll be writing some posts myself, but I'm looking for community members who are interested in contributing! You can write a post on any topic or analysis that you think would be interesting or helpful for the community. You'll be fully credited for the post and listed as a contributor in the About section.

I can help with the formatting of the post and visuals if needed, or we could even collab on an analysis. Anything goes! I'd love for members of the community to get engaged and help push the knowledge of the spec further. Please reach out if you're interested!

- Mercy

Rotation Theory & Haste Breakpoints

About

About Lifebloom

Lifebloom is an application that collects and structures TBC Resto Druid data from WarcraftLogs in order to help facilitate retrospective data analyses by and for the community. This app is still in development in preparation for the next iteration of TBC Classic.

Motivation

The Burning Crusade is almost 20 years old! 🎉

Despite so much time passing, I don't believe our collective understanding of Resto Druid has progressed significantly since 2007 - and not because the spec has been solved. With TBC Classic, I had hoped that the community would build upon existing knowledge from 2007 and the private server era, but instead what I observed was largely "re-discovery" and recycled guides, and very little theorycrafting or knowledge sharing.

To illustrate this, consider the following fundamental questions that I believe remain unanswered:

  • For a given encounter, is there an optimal spell haste breakpoint?
  • For a given encounter, is there an optimal healing rotation?

These questions appear straightforward, yet after 20 years neither has a definitive answer. Here's my hot take: traditional theorycrafting alone will never solve them.

The reason is multifaceted.

First, healer theorycrafting is inherently difficult. Raid encounters are complex environments with numerous confounding variables: healer count and composition, fight duration, access to Shadow Priest, etc. The optimal rotation for a 3-minute encounter may differ significantly from a 6-minute encounter due to mana constraints alone.

Second, the community is still split on whether HPS is a valid performance metric because of the confounding effects mentioned above. This has left us in a bit of a theorycrafting “quagmire” - without an objective measure of performance, players instead rely on intuition and subjective arguments about what is good or not. Intuition and experience can get you very far, but different players have different intuitions about what is "best". Layered on top of this is an uncomfortable dogma surrounding the topic of HPS, and just mentioning the word gets you harassed and dogpiled on. I think the community is wrong about HPS.

By analyzing large datasets while controlling for confounding variables we can isolate factors that you do have control over - rotation, playstyle, gearing choices, haste breakpoints, etc. across different encounters and conditions. I don't believe these fundamental questions are unanswerable, but we need a new approach. That is the motivation for this tool: combining traditional theorycrafting with data-driven analyses to address fundamental questions and to advance our understanding of the spec.

Mercy

About the Author

Welcome readers! My name is Mercy (IGN Mercychan) and I've been playing TBC Resto Druid religiously since c. 2017 from the private server era and through TBC Classic. In my opinion TBC was when the class design for Resto Druid was at its best. In my professional life I LARP as a Data Scientist, and I'm hoping to bring together my experience in data science and my passion for this spec in order to help the community push our knowledge of TBC Resto Druid further.

If you want to support this project, the best way that you can do that is by using the tool and discussing your insights with the community. The more people become aware of and use this tool for their own analyses, the more we can learn together. If you found the app useful, consider giving the repo a star!

If you want to report bugs, request additions to the tool or dataset, or even collab on an analysis, the best way to contact me is via Discord. I'm not always in the community servers but my DMs are open! Feel free to reach out.