What is wRC+?

As you may have noticed, there’s now an extra column in the “Advanced” section for batting stats called “wRC+”. You can think of this stat as a wOBA based version of OPS+. It’s park and league adjusted and it’s on a very similar scale as OPS+. The difference is that it uses wRC, which is based on wOBA.

For those of you not familiar with the scale, 100 is average. Anything higher is above average and anything below 100 is below average.

Big thanks goes out to Tangotiger for pointing out how easy it was to implement this particular stat. It’s now available in all the player pages for major league and minor league players going all the way back to 1871. Please note that it is not park adjusted for minor league stats, but it is league adjusted.

It’s also in the career leaderboards and will soon be making its way into the individual season leaderboards too.

Update: I’ve removed pitchers from the league baselines, so the values will have changed slightly since this morning.

Print This Post

David Appelman is the creator of FanGraphs.

53 Responses to “What is wRC+?”

You can follow any responses to this entry through the RSS 2.0 feed.
  1. brent in Korea says:

    Thanks for the new shiny toy!

    Vote -1 Vote +1

    • Bradley says:

      Yeah, thanks!

      Sabermetrics I can understand, but how this site works is beyond me! I’m assuming Fangraphs is assembled and maintained using only the finest of black magic HTML coding and ancient, runic Javascripts.

      Thanks again, David and Dave and all the others who keep the hamsters running!

      Vote -1 Vote +1

  2. Ivan Grushenko says:

    Is it park-adjusted? I thought wOBA was not.

    Vote -1 Vote +1

  3. Tim says:


    Just want to get some things clear.

    Todd Helton had a 137 wRC+ last year.

    Does that factor Coors in?

    Is Todd Helton = 137 in neutral park?
    Is Todd Helton = 137 in Coors + road game parks?

    Vote -1 Vote +1

    • Tim says:

      Okay, figured that one out myself. Read me… read.

      Todd Helton = .391 wOBA which translates into 137 wRC+
      Kyle Blanks = .372 wOBA which translates into 141 wRC+

      Blanks was better offensively with neutral settings than Helton.

      The thing I don’t understand is the rate of translation.

      Blanks when he is .372 wOBA = 141 wRC+
      but in the projections Bill James has him at .364 wOBA, and only has that amounting to 124 wRC+. If that were the case, the average wOBA would have to be somewhere in the .354 wOBA range, which isn’t even close (I think it’s .330 wOBA).

      Any accounting for this discrepancy?

      Vote -1 Vote +1

      • I should have noted above that the 2010 projections for wRC+ are not currently league or park adjusted because I just don’t have accurate records of who is playing where. So that’s the problem there.

        Vote -1 Vote +1

      • Tim says:

        If you were to normalize each player to neutral conditions, it really wouldn’t matter where a player ended up, or who ends up where. We’d know their baseline, and we could figure out essentially which division they play in, which park etc, and we’d have a better idea.

        I definitely have noticed this with wOBA’s as the projections seem to already be park based. Helton with a wOBA .391 and Iannetta at .369. A-Gonz at only .383.

        Vote -1 Vote +1

      • Right, well the way the projections are set up is we’re asking people to project what they will do, not what they’d do in a neutral park.

        I don’t have a problem with the projections being non park neutral. I just think most people aren’t going to re-adjust the projections if we set everything as park neutral.

        Oh, and I should add that I’m pretty sure most of the other final sets projections out there aren’t park neutral either.

        Vote -1 Vote +1

      • tangotiger says:

        Right, of course the forecasts themselves can’t be park-adjusted. How would we verify the forecasts if they were?

        The question being asked is: giving these playing conditions, given this team, given his competition on the team, given the chance that he will be traded by the deadline, given everything, how many HR will he hit? And, then at the end of the season, you compare your forecast to what actually happened.

        Vote -1 Vote +1

      • Tim says:

        Figured as much. My mistake with that assumption. I’m looking for numbers that don’t exist (park and league neutral projected players stats). The only one that would keep those kinds of things handy are actual GM’s.

        Vote -1 Vote +1

      • Actually, I think the Oliver projections used to all be park neutral, not sure what the plan is for them this year. And I know you can make ZiPS park neutral if you want to because that’s part of the process to update them during the season.

        Really just depends how much work you want to end up doing.

        Vote -1 Vote +1

      • Brian Cartwright says:

        Yes, Oliver is park and league neutral. They are nearly ready. Last year I only had batting, but this year will also include pitching, defense and probably baserunning. Depends on how fast I can code sql.

        wOBA itself is not ‘park-adjusted’ because it’s just a system of weighting the different offensive categories. With Oliver, I simply park and league adjust the numbers before calculating wOBA.

        Vote -1 Vote +1

  4. Joser says:

    I must’ve missed this: if wRAA is park-adjusted, what are the adjustments? Is there a table of park effects somewhere?

    Vote -1 Vote +1

    • wRAA is not park adjusted. We’re park adjusting it for wRC+

      The “Batting” stat in all the Value section that contributes to WAR is just park adjusted wRAA.

      I don’t think I have a table up on the site anywhere, but we’re using 5 year regressed park factors. I’ve been meaning to make a post about the park factors, so probably in the next couple weeks.

      Vote -1 Vote +1

  5. philosofool says:


    The big surprise for me is that Mickey Mantle is number four all time.

    Vote -1 Vote +1

  6. OPS and OPS+ each are rate stats. Even though wRC is a counting stat, I assume wRC+ is a rate stat as well?

    Vote -1 Vote +1

    • Michael says:

      Since you are dividing over a league average (at the given number of PA), it becomes a rate stat.

      For example, Dan Uggla had 668 PA last year. wRC was 94.5 runs (after park adjustment). League average at that number of PA (based on wRC – wRAA from the Advanced section) was 80 runs. (94.5 / 80) * 100 = 118 wRC+. It’s a measure of “percentage better than league average,: and as such is written out as a rate.

      Vote -1 Vote +1

      • It first blush, it seems like wOBA+ might be the more appropriate name, but I suppose arrive at “wOBA+,” one would convert to wRC and then follow the same steps through to wRC+. Six or one half dozen

        Vote -1 Vote +1

      • While this makes sense, I guess I don’t see why we don’t just do a wOBA+ similar to statcorner.

        I just rambled all my thoughts over at Purple Row, and still haven’t reached a consensus.


        Seriously though, my biggest confusion is the application of wRC+. Can you effectively use it for more than just saying “Well this is what Julio Lugo did with the PA he was given relative to a league average bat in the same number of PA”?

        Vote -1 Vote +1

      • RockiesMagicNumber, wRC+ is exactly what you say it is. What Lugo (for instance) did with an average plate appearance compared to a league average plate appearance. wOBA+ isn’t going to give you anything different really, it’ll just be on a different scale.

        Playing time doesn’t matter, but we have other stats for that, like WAR.

        I also posted something similar over on purplerow.

        Vote -1 Vote +1

  7. B says:

    Can you elaborate on the league adjustment a little more? Does it differentiate between AL and NL? If so, how?

    Vote -1 Vote +1

    • Getting to wRC+ from park adjusted wRAA (straight from Tango’s blog):

      a = league runs per PA
      b = wRAA/PA
      c = a/b + 1
      d = 100*c

      So, that’s where the league adjustment comes in.

      Vote -1 Vote +1

      • John C says:

        Actually, and Tango made the same error, it’s:

        c=b/a + 1

        This is because you want to compare the player’s performance wrt average to the league average.

        Vote -1 Vote +1

  8. Andy S says:

    Which method do you guys use for park adjustments?

    Vote -1 Vote +1

  9. DME says:

    I’m very glad to see this added, but it wasn’t tangotiger who pointed out how easy it was to do or that you should add this stat. I’ve sent at least 10 emails over the past 2 years regarding this. Thank you for finally taking notice, even if of someone else.

    Vote -1 Vote +1

    • lookatthosetwins says:

      You should give yourself a pat on the back.

      Vote -1 Vote +1

    • JDSussman says:

      DME, I’m glad you send those e-mails because his metric looks great. But how would you know what Tango did or didn’t do?

      Vote -1 Vote +1

      • vivaelpujols says:

        Tango brought up RC+ in a blog post a couple of days ago. I don’t recall him having mentioned it before.

        If DME really sent David several emails showing how easily he could have done this and was ignored for two years, than he has a right to be somewhat indignant. Although, knowing David, I doubt that this was exactly the case.

        Anyway, I’ve never really got hooked on OPS+, but a lot of people seem to like it, so kudos for doing this David.

        Vote -1 Vote +1

      • DME, you did send me one e-mail in September about adding wOBA+ and FIP+, but it didn’t have any calculations on how to do it.

        It worries me that you say you’ve sent 10 and I’ve only received one. Maybe there is a problem with my e-mail, though I have received other non-wOBA+ related e-mails from you in the past….

        Vote -1 Vote +1

      • tangotiger says:

        “it wasn’t tangotiger who pointed out how easy it was to do or that you should add this stat”

        I obviously did say it. No need to say that I didn’t say something that I’m on record as saying I said!

        If he meant he was the FIRST to do it, that’s fine. I don’t really track who said what when. It’s not an insightful suggestion by any means.

        For the record, I don’t normally track when I say things, but I do know that I posted on Sean’s blog to get RC+ up there about two years ago.

        And I talked about Linear Weights Ratio relative to league average at least as far back as 2003 when I wrote this article:

        Anyway, enough with who said what first on such an uncreative concept.

        Vote -1 Vote +1

      • DME says:

        slight exaggeration, maybe, but multiple emails were sent…

        Vote -1 Vote +1

      • DME says:

        And I do not wish to say I make my prev. statement in spite or anger or brag or anything. I am very glad to see the addition. My sense of humor is poor. I love the site (hell, I quote it perhaps too much, along with THT) and only wish the best upon ya.


        but seriously…xFIP+!

        Vote -1 Vote +1

  10. Andy S says:

    Also, thanks.

    Vote -1 Vote +1

  11. Terminator X says:

    So I got all excited about this being park/league adjusted, and went to go comparing NL and AL players only to realize I had no clue how to convert this to runs. Is there a remotely easy way to do that?

    Or rather, convert it to R/PA to keep it as a rate stat?

    Vote -1 Vote +1

    • Terminator X says:

      Just had a “duh” fore-head slap moment – all I’m looking for is park/league adjusted wRC and/or wOBA. If I’m correct, these things are not currently park/league adjusted.

      Vote -1 Vote +1

      • Sej says:

        David mentioned that the “Batting” column of the Value section is park adjusted wRAA if that helps you. I don’t think it’s league adjusted and you’d have to add in average runs created to get back to a zero based counting stat. I suppose you could add in the applicable league average runs but I don’t have any background in these statistics so I don’t know if that adjust the numbers like you want.

        Vote -1 Vote +1

  12. JoeyO says:

    Thanks a ton for the new toy! Simplistic stats like this often become a true blessing.

    Does lead one to ask though; tRA+ or FIP+ in the works? :)

    Vote -1 Vote +1

  13. Dan says:

    Could you swap wRC+ and wOBA on the stat page so wOBA is the last one farthest on the right? My brain is programmed to see wOBA on the far right and I’m sure I’ll adjust in time but it is a little annoying right now!

    Vote -1 Vote +1

  14. BATTLETANK says:

    Check out Dick Allen. is he the only guy in the top 25 not to be in the HoF. unjust!

    Vote -1 Vote +1

    • JoeR43 says:

      To be fair, his career was short and he was a bad defender, but his WARP-3 on baseball-prospectus is still higher than Orlando Cepeda, Tony Perez, and soon to be Hall of Famer Andre Dawson.

      Vote -1 Vote +1

  15. ThundaPC says:

    Sweet deal!

    Any chance the definition of wRC+ (and tRA for that matter) can be added to the Quick Glossary?

    Vote -1 Vote +1

  16. tangotiger says:

    FIP+ would be very easy, since that’s FIP/lgERA.

    I am COMPLETELY opposed to the way b-r.com does it (lgERA / ERA). It’s beyond the silly to put the thing you are comparing against in the numerator, all because you want to make it “bigger is better”. I have a whole thread dedicated to this if someone is interested.

    The only suggestion I have seen that makes any sense is:
    2 – ERA/lgERA
    And then multiply by 100. This way, if you have a 4.00 lgERA and your ERA is 3.00, then your ERA+ (or FIP+) is 125. And if you have a 5.00 ERA, then your ERA+ is 75. Notice the symmetry and the bigger-is-better.

    The way b-r.com does it, you end up with 133 and 80, even though together the two pitchers would be average.

    Vote -1 Vote +1

  17. Andy says:

    Any idea when this will make it to the individual season leaderboards?

    Vote -1 Vote +1

  18. TD says:




    OBP …OK. Whatever.

    But after this, I rather just watch the games.

    Vote -1 Vote +1