This is the spreadsheet I use to evaluate healing spells and healing classes for 6.0.  It’s grown out of previous ones I’ve made for certain classes, but it is somewhat more elaborate and has a lot machinery for healer-specific problems.  An overarching point to keep in mind is that healer modeling is in a certain sense intractable since you reasonably use your spells in almost any combination depending on the situation.  The goal is to make a motivated choice of what combinations to look at in order to flesh out your understanding of the dynamics of each class and how it works in a variety of situations.  In addition to explaining the mechanics of the sheet, I’m going to put a section in this post explaining the thinking behind the model.


HealerCalcs 150216

HealerCalcs 150414 6.2 PTR

Can be opened in typical programs that can open Excel files, but some features will only work in Excel.

Using HealerCalcs – Basic (Individual Spell Information)

To start understanding healing theorycraft, you can focus on the “Spells” tab, which shows important information on every healing spell.  Even without getting into healing “rotations”, understanding the relative throughput and efficiency of all your spells and spell combinations goes a long way towards improving play of your class.

  • Start in the “Main” tab and select your class, talents, stats, glyphs, and buffs (the talent dropdowns are slightly awkward due to being class-agnostic).
  • In the class dropdown, don’t worry about which “rotation” variation you pick for the class for now, and don’t worry about the “filler ratio.”
  • The only tricky point in putting in the info is that that the stats in the pink boxes should be your unbuffed stats from gear.  An easy place to get this is by loading your character’s Wowhead profile, which shows a column called “Item stats” that shows this.
  • “Spellpower” does not include Intellect, just the spellpower-only stat on your weapon.
  • Don’t worry about the rest of the “Main” tab for now.

Then, head over to the “Spells” tab, and scroll down to the block of rows pertaining to your class.  Each spell’s row shows a lot of information.  The important columns are:

  • “Total Heal”: Average amount of healing done by one cast.
  • “HPM”: Total heal divided by net mana cost (net mana cost takes into account any relevant refund mechanics).
  • “kHPCT”: Total heal divided by cast time, expressed in thousands.  This and HPM are the two most important statistics about a spell’s performance: its throughput and its efficiency.
  • “kHPCD”: Total heal divided by cooldown, expressed in thousands.  Sometimes a useful throughput figure to understand the contribution of spells that can’t be chaincast.
  • The next block of 7 columns shows the spell’s scaling with each stat (these use data tables, which will only work if you open the sheet in Excel).  In each case, it shows the percent increase to the spell’s total healing from adding a point of that stat (expressed in parts-per-million).
  • Haste has two columns: the first showing increase to total healing, like for the other stats, and the second showing increase to HPCT.  I include both since haste often increases HPCT without increasing healing done or efficiency.
  • The remaining columns are used to derive the ones already mentioned, but may provide helpful detail.

While I called this “basic”, looking at the comparisons of individual spells is actually often the most important and useful way of analyzing healers.  Precisely because healers tend to use spells somewhat independently of each other based on the situation, not in a fixed “rotation”, the individual spell information is a good way to think about casting decisions.

The Rotation Model

The basic problem is that setting up a healer rotation in a spreadsheet in the same way that you would a DPS rotation (filling all cast time and getting maximum possible throughput) is not very useful.  That’s just not the most important information you need to know.  The flip side is that a totally freefrom allocation of how much you use each spell is also kind of pointless.  It’s basically just regurgitating the individual spell information as some kind of weighted average.  It can be handy to look at, but the model isn’t doing any work for you.

So the goal is to pick spell usage patterns that show information about informative cases, while having some flexibility, but not having too many degrees of freedom.  They way I set up each rotation was:

  • Assume strong cooldown-based spells are used on cooldown.  All classes have some of these.
  • Similarly, assume any buffs or procs or resources from those spells are all used.
  • The available cast time that’s left open is your “filler” time.  The one free parameter in every rotation is how much of this time you use on your filler spell and how much you leave open.
  • Thus, each “rotation” doesn’t represent a single HPCT/HPM value like it would for DPS, but rather a range of values based on how much or little you use the filler spell.
  • An important effect of this, and one of the key goals of the setup, is that gives a way to evaluate the benefit of added mana or regen.  By assuming you increase the filler spell usage to cancel out mana gains, you can convert added mana into added healing.

This allows for a lot of powerful information, like comparisons of talents that incorporate both the healing and mana effects in the context of a typical rotation.  The limitation of course is that to set up any rotation, you have to make assumptions about which spells (both cooldown and filler) are incorporated.

For now I’ve put in two alternatives for each class, one using the expected spells for single-target healing and one using the expected spells for raid healing.  But there’s nothing stopping me from adding more rotation choices that show other spell combinations that are important to a class.

With that explanation, here’s how to see these rotations in the sheet.

Using HealerCalcs – Advanced (Rotation Models)

  • First, select your class (and desired rotation) from the main dropdown menu.
  • Input stats, talents, and other information as before.
  • Set a value for “filler ratio.”  Some rotations have 2 fillers.  In that case, it fills all cast time with the first one as you increase the ratio to 1.  As you increase the ratio beyond 1, it replaces that with the second filler.  So valid values to put in are anything from 0 to 2.

You’ll likely have to get some intuition for the filler ratio by tinkering with your class (remember, this is what % of your leftover time, after using rotational spells, you spend spamming filler spells).  Some classes burn a ton of mana if they spam a filler (Druid) and will spend a low % of time doing it; others spend most of their available time casting one (Paladin).  A good way to judge is to sneak a peek at the “time to OOM” line a little lower down, showing how long you can sustain the selected spell usage.

One you’ve put in those few inputs, there is a lot of information throughout the Main tab. The first place is in “Main Results”:

  • “Rotation HPS” is the total raw HPS throughput of the selected rotation.
  • “Net MP5” is your average mana usage per time, net of all sources of regen.  It’s how fast your bar will actually decrease if you maintain this spell usage.
  • “Time to OOM” is how long it takes to deplete a full bar, at that net MP5.
  • “Gross HPM” is how how much healing you’re doing on average per point of mana spent.
  • “Marginal HPM” is how much added healing you would do per point of mana, if you used that mana to cast your filler spells more often.  This value is very important, since it’s what the data tables (below) use to determine how valuable mana is.  NOTE: this value breaks if it’s impossible to cast filler spells more (i.e. you have one filler spell and the ratio is set to 1).  Setting the ratio to 0.99 fixes that.

The graph on the main tab is a quick way to visualize the current rotation without having to worry about choosing and interpreting a filler ratio.  It plots the HPS vs. MP5 of the current rotation at all possible values of the filler ratio.  This lets you see what ranges of healing the rotation is capable of outputting, and at what mana cost.

Last but not least, next to every stat, talent, buff, bonus, or glyph are three values showing the benefits of that item, compared to if you didn’t have it.  (Glyphs NYI).

  • The first two show the added HPS and MP5 you gain from that entry.  The third is a combined healing/mana score that values the MP5 based on your marginal HPM (above).
  • For stats, it shows the value of one added point of the stat.
  • For buffs, set bonuses, and glyphs, if you don’t have the bonus selected, these cells will show the value that would be added to the rotation if you did have it.
  • These values all rely on data table functionality, so they work in Excel but not in other programs like OpenOffice.

These values are the most powerful thing the sheet does–show you at a glance the effect that any change would have on the current rotation.


This project was initially for my use, to support my theorycraft arguments and posts.  But you see what happens when you leave me alone with Excel for too long.  While I’ve put some effort into the presentation so that others can use it too, it still is set up more for functionality than total user-friendliness.  I’m definitely open to comments and suggestions about how to make it easier to understand.

One thing I want to add is more customizable rotations, but that will be a lot of time to build and might not be a high priority (I’ll still keeping adding any specific ones that come up while I’m doing theorycraft).  For now, you’re mostly stuck with the ones I put in, unless you dig through the sheet enough to add in more of your own.

One particular feature I’d like to add is importing the item stats (and possibly talents etc.) from the Wowhead profiles page I linked above.  If anyone would want to help make a little widget to do that in Excel, please let me know.

Thanks to Dayani for helping me verify and update the spell info throughout alpha and beta, and for frequent discussions about healer theory.