Archive for Projections

August is Almost Here and You Need Stolen Bases

We all knew this season would be different. New rules have changed the accumulation of statistics for some players slightly and we knew that would happen during the draft season. We didn’t know exactly what we should be doing about it. If everyone is stealing more bases, then who do you draft? Ronald Acuña Jr., that’s who.

Since the 2011 season, only nine players have finished the year with at least 50 stolen bases and only four players have finished with at least 60. Dee Strange-Gordon stole 64 bases in 2014 and 60 bases in 2017, Jonathan Villar stole 62 in 2016,  and Michael Bourn stole 61 in 2011. This season, in 2023, both Ronald Acuña Jr. (78) and Esteury Ruiz (67) are on pace (Games Played %) to join the list. If Acuña keeps pace, he’ll be only the fourth player this century to steal at least 70 bases, joining José Reyes (78 in 2007), Scott Podsednik (70 in 2004), and Jacoby Ellsbury (70 in 2009).

Read the rest of this entry »


Savant Hitter Aging Curves & Improvement Chances

This article is a data dump of some Baseball Savant-based aging curves, several “normal” curves along with some player improvement chances. There is no actual player analysis but instead, this article is to be a reference for future player breakdowns.

The main reason behind this study is to have an answer to: “If only player X increased their Launch Angle/Hard Hit Rate/Barrel Percentage, they could take a step forward. Here is an attempt to put some numbers to those “ifs”. Read the rest of this entry »


Referencing Pitch Quality Models to More Traditional Stats

WARNING: If you are reading this article, some or most the exact values are out of date. The pitch quality models seem to go through at least a yearly adjustment so I can’t verify if all the numbers will hold up. With that caveat, it’s useful to have an overall idea of what each one means.

Last week, I was looking into Joey Lucchesi and I created this convoluted mess of a table.

Joey Lucchesi’s Pitch Modeling Stats
Model SI CU/CH FF/FC Stuff Overall
Bot 52 46 37 43 49
Stuff+ 89 91 72 86 98
pERA (AAA) 5.54 -0.44 4.79 2.74 3.14
pERA (AAA comps) 4.72 2.89 4.23

To start off with, having three different metrics using three different scales is confusing. Not as obvious was that I didn’t know exact what the two “Stuff” metric were exactly measuring. I had some idea listening to their creators and others using them. I decided to take a step back and put some perspective on the two pitch quality models so others and myself could correctly reference them and know what other metrics they corelate to.

Note: When I mention stuff metrics, I’m just referring to the Stuff values for Stuff+ and Pitching Bot. I know it can be confusing, especially with one system having the name Stuff+.

Two start out with, this article won’t answer two questions. First, I’m not looking into the predictiveness of the stats. While I have done some work on it, I feel that should be its own article. Second, I’m just looking at the combined values, not the individual pitches. Again, a separate article for another day.

Here at FanGraphs, we introduced the pitch modeling metrics over a month ago introducing PitchingBot and Stuff+ with separate writeups.

Here is a short description of each from the original articles.

PitchingBot

In short, PitchingBot takes inputs such as pitcher handedness, batter handedness, strike zone height, count, velocity, spin rate, movement, release point, extension, and location to determine the quality of a pitch, as well as its possible outcomes. Those outcomes are then aggregated and normalized on a 20-80 scouting scale, which is what is displayed on the leaderboards.

Stuff+

Stuff+ only looks at the physical characteristics of a pitch, including but not limited to: release point, velocity, vertical and horizontal movement, and spin rate.

Stuff+, Location+, and Pitching+ are all on the familiar “+” scale (like wRC+), with 100 being average.

While both supply a reason behind their values, it sucks that they each have their own scale. Personally, I have my pERA values and similar pitches on an ERA scale so there is readily recognizable reference.

The first item of business was to put put both of the metrics on an ERA scale. By lining up the values from 2021 and 2022 (min 40 IP) with the pitcher’s actual ERA, the following two formulas were created.

    • PitchingBot values to an equivalent ERA (r-squared of .992): 22.697*e^(-.035*Bot Metric)
    • Stuff+ values to an equivalent ERA (r-squared of .996): 49.19*e^(-.025*Stuff+ Metric)

With the two formulas, here is a quick reference table for stuff values and the ERA equivalent.

Conversion Table for ERA to “Stuff” Equivalents
ERA Equivalent BotPlus Stuff+
1.50 78 135
2.00 69 124
2.50 63 115
3.00 58 108
3.50 53 101
4.00 50 96
4.50 46 92
5.00 43 87
5.50 41 83
6.00 40 80

For an example, say a pitcher has a Stuff+ of exactly 100. We would expect the hitter to have an BotStuff around 52 and an ERA around 3.60.

The next step I did was bucket the three metrics for each PitchingBot (stuff, command, and overall) and Stuff+ (Stuff+, Location+, and Pitching+) and then compare them to other pitching metrics. To start with, here is a limited comparison (limited table size) with all the values in this Google Doc.

Pitching Bot

Comparison of PitchingBot’s Stuff to Other Metrics
Range botOvr botStf botCmd Pitching+ Stuff+ Location+ ERA K/9 BB/9 WHIP HR/9
>70 62 72 49 106 125 98 3.05 11.9 3.9 1.13 0.8
65-70 62 67 53 106 120 100 3.01 11.1 3.3 1.12 0.8
60-65 58 62 52 104 113 99 3.30 10.5 3.5 1.17 0.9
55-60 56 57 53 102 107 100 3.62 9.8 3.3 1.20 1.0
50-55 54 52 53 101 102 100 3.81 9.0 3.2 1.25 1.1
45-50 52 47 54 99 97 101 4.16 8.4 3.1 1.28 1.2
40-45 49 42 53 97 91 100 4.63 7.7 3.1 1.35 1.4
<40 46 36 54 96 86 101 4.60 6.7 2.9 1.36 1.3

 

Comparison of PitchingBot’s Command to Other Metrics
Range botOvr botStf botCmd Pitching+ Stuff+ Location+ ERA K/9 BB/9 WHIP HR/9
>70 62 44 70 101 88 108 4.06 9.4 1.4 1.11 0.9
65-70 64 50 66 105 104 107 3.75 8.8 2.0 1.16 1.1
60-65 59 50 62 104 101 104 3.59 9.0 2.3 1.16 1.2
55-60 56 50 57 102 101 102 3.85 8.7 2.7 1.21 1.1
50-55 53 52 52 101 103 100 3.83 9.1 3.3 1.26 1.1
45-50 49 51 47 98 99 97 4.37 8.7 3.9 1.36 1.1
40-45 46 53 42 97 102 95 4.28 9.3 4.5 1.35 1.1
<40 43 56 35 96 104 92 4.11 9.6 4.6 1.37 1.0

 

Comparison of PitchingBot’s Overall to Other Metrics
Range botOvr botStf botCmd Pitching+ Stuff+ Location+ ERA K/9 BB/9 WHIP HR/9
>70 72 69 61 112 128 105 2.39 11.9 2.2 0.95 0.8
65-70 67 62 61 109 118 104 3.07 10.7 2.4 1.05 1.0
60-65 61 58 58 105 110 103 3.41 10.2 2.7 1.13 1.0
55-60 57 54 56 102 104 101 3.59 9.3 3.0 1.21 1.0
50-55 52 49 53 100 99 100 4.05 8.5 3.2 1.29 1.2
45-50 47 45 50 97 93 99 4.40 8.1 3.6 1.34 1.2
40-45 42 44 45 95 92 97 4.87 7.8 4.0 1.43 1.3
<40 37 47 38 93 94 93 4.84 8.6 4.8 1.43 1.2

Stuff+

Comparison of Stuff+’s Stuff+ to Other Metrics
Range Pitching+ Stuff+ Location+ botOvr botStf botCmd ERA K/9 BB/9 WHIP HR/9
>130 111 137 102 65 68 54 2.38 12.5 2.6 0.92 0.9
125-130 107 127 100 61 65 52 2.97 12.0 3.4 1.12 1.0
120-125 106 121 99 61 65 52 3.02 10.2 3.3 1.12 0.7
115-120 106 117 101 60 62 54 3.24 10.8 3.3 1.14 0.9
110-115 104 112 100 58 57 54 3.25 10.0 3.2 1.16 1.0
105-110 102 107 100 54 54 52 3.63 9.5 3.2 1.20 1.0
100-105 100 102 100 52 51 52 3.87 9.1 3.4 1.25 1.1
95-100 99 97 100 52 49 53 4.17 8.4 3.2 1.30 1.2
90-95 98 92 100 49 45 53 4.49 8.0 3.2 1.33 1.3
85-90 96 87 100 49 44 53 4.78 7.4 3.3 1.41 1.3
80-85 95 82 100 48 41 53 4.64 6.9 2.9 1.38 1.4
75-80 94 78 101 46 38 54 4.64 6.8 3.0 1.39 1.3
<75 92 70 101 46 37 55 5.97 6.0 2.9 1.54 1.6

 

Comparison of Stuff+’s Command+ to Other Metrics
Range Pitching+ Stuff+ Location+ botOvr botStf botCmd ERA K/9 BB/9 WHIP HR/9
105-110 105 104 106 61 50 63 3.49 8.9 2.0 1.13 1.1
100-105 102 101 102 55 50 56 3.83 8.9 2.8 1.22 1.1
95-100 98 100 97 50 52 48 4.14 8.8 3.8 1.32 1.1
90-95 96 104 93 45 57 41 4.44 9.9 5.1 1.44 1.0
85-90 95 106 87 41 63 33 4.32 11.3 5.3 1.26 0.8

 

Comparison of Stuff+’s Pitching+ to Other Metrics
Range Pitching+ Stuff+ Location+ botOvr botStf botCmd ERA K/9 BB/9 WHIP HR/9
>115 116 140 105 72 69 60 2.35 12.3 1.7 0.83 0.9
110-115 111 125 104 67 64 59 2.84 11.3 2.4 1.00 0.9
105-110 107 114 102 61 58 57 3.16 10.2 2.7 1.10 1.0
100-105 102 104 101 55 53 54 3.65 9.2 3.1 1.22 1.0
95-100 97 94 99 49 47 51 4.30 8.2 3.5 1.33 1.2
<95 93 87 96 43 44 46 5.38 7.5 4.1 1.51 1.4

 

Looking over the information, both of the “Stuff” values seems to generally catch what each is trying to describe. The stuff values corelate to strikeouts and the command/location grades point walk rate.

After reading through the definitions of how the batted ball data is collected, I expected the Bot values to have a larger variance in the StatCast values (linked spreadsheet). That concept wasn’t the case and there ended up being almost not correlation to any of the measures to actually limiting hard contact. With hard contact not being predictive, I was surprised when I got to WHIP.

How much WHIP changed in the two “Stuff” models was almost too good to be true. In both cases, the walk rate increased as a pitcher’s stuff got better, but the hit suppression was so large that the WHIP declined.

The ability to detect hit suppression is on another scale than has ever been measured. It’s almost too good to be true.

Overall, I see two major issues with the stuff metrics:

  • The formulas behind the values is a black box so there is no way to back check the results. Also, the calculations are constantly changing so it’s tough to know which formula is being used. It’ll be impossible to incorporate the information if it keeps changing
  • The pitch model metrics are trained off of just the 2021 and 2022 data. Of course the data is going to almost lineup perfectly for now. It’ll be interesting to see how they hold up this season and three to four seasons down the road.

The next step for me will be to dive into the small sample of 2023 data. Does the near perfect accountability of all batted ball outcomes continue based on just pitch metrics or were the metrics correlated too close to the actual results I’m examining.

I did get a few questions answered but working through these Pitch Quality Models but I generated a ton more. As I get time, I’ll keep diving into the subject to see what is usable going forward.


Beat the Shift Podcast – Changes Episode w/ Joe Sheehan

The Changes episode of the Beat the Shift Podcast – a baseball podcast for fantasy baseball players.

Guest: Joe Sheehan

MLB Rule Changes

  • Which rule has had the most effect thus far?
  • Which new rule are we least happy about?
  • How has the ball changed this year?

Strategy Section

  • Which is more important – knowing the players, or knowing how to value the players?
    • Pre-season vs. in-season
  • FAAB
    • Should the prices you pay in FAAB be driven by obtaning a good return on investment, or is it more market driven?
    • Injury Guru’s Trivia of the Week
    • Rob Silver’s comments on FAAB
      • Will Tanner Bibee be worth his FAAB bids?
      • How much should one pay for a projected SP60 in FAAB?
      • How much should one pay for a projected top 50 player n FAAB?
      • How much should one pay for a projected top 100 player n FAAB?

Read the rest of this entry »


Beat the Shift Podcast – Hot Episode w/ Jason Collette

The Hot episode of the Beat the Shift Podcast – a baseball podcast for fantasy baseball players.

Guest: Jason Collette

Strategy Section

Read the rest of this entry »


Beat the Shift Podcast – 2023 Overreaction Episode w/ Sky Dombroske

The Overreaction episode of the Beat the Shift Podcast – a baseball podcast for fantasy baseball players.

Guest: Sky Dombroske

Tout Wars experience

Strategy Section

  • How to react to players who start the season poorly
    • Ignoring traditional surface stats
    • Underlying component statistics you should look at early on in the season
    • When is it time to bench a player?
    • When is it time to drop a player?
    • When to trade for / trade away players
  • Hitters with poor starts

Read the rest of this entry »


More Than Just a Rabbit? Maybe

Here are four players who were projected by Steamer to steal at least 15 bags and are outperforming their wOBA projection:

Early Rabbit Returns
Name SB_proj SB AVG_proj AVG wOBA_proj wOBA
Myles Straw 18 6 0.253 0.343 0.295 0.412
Akil Baddoo 15 0 0.234 0.286 0.305 0.31
Jorge Mateo 16 6 0.226 0.286 0.279 0.383
Bubba Thompson 17 0 0.239 0.267 0.285 0.357
*Steamer Projections

Now, before you get all “snarky-comment” on me, Badoo and Thompson each only have 15 PAs and will be omitted from this analysis due to such a small sample. Only Myles Straw (46 PA) is a qualified batter, but Mateo (33 PA) is close. Yes, it’s early but just try to go into this with an open mind. For if you drafted, Myles Straw for example, you are probably pretty proud of yourself, sitting upon your thrown enjoying the grapes that are being hand fed to you while also being fanned to cool off from such a hot start. But, what can we expect from these surprises moving forward? If these are real gains, then we should expect even more stolen bases.

Myles Straw, CLE: BABIP is way up, but so is his BB%

Just look at the differences in his projected and actual batting average and wOBA. Over time, Straw will get closer and closer to that projected number. The real question is not, “Will this last?”, as much as it is, “Will he end up north or south of his projected numbers?” So far this year, he’s had a number of ground ball singles to the pull side. Here’s an example:

Straw is obviously very, very fast. But if Volpe is playing a little closer in and the third baseman doesn’t make an attempt on the ball, maybe it’s an out. It’s hard to say just how difficult of a play that was to make, but it doesn’t seem difficult to predict it doesn’t happen over and over again. It’s part of the reason Straw’s BABIP sits at .414 (current 2023 MLB average: .300). It’s completely unsustainable. Here’s a look at his spray chart and you can see a few ground ball singles to the pull side helping to inflate his BABIP:

Mile Straw Spray Chart

Click to enlarge

Straw is destined to regress, but how far will he regress? In order to answer that, we have to see if there has been any significant change in his approach that might suggest he has made a change. Let’s look at his O-Swing% to see if maybe he’s better at identifying bad pitches:

Straw Career O-Swing

No change there. How about his approach in different counts?

Myles Straw Count Approach: 2023 vs. Career
Through Count 2023 wOBA Career wOBA Diff
3 – 0 0.706 0.506 0.200
3 – 1 0.505 0.459 0.046
3 – 2 0.502 0.357 0.145
2 – 0 0.531 0.412 0.119
1 – 0 0.453 0.334 0.119
2 – 1 0.548 0.354 0.194
1 – 1 0.545 0.320 0.225
0 – 1 0.316 0.261 0.055
2 – 2 0.445 0.272 0.173
1 – 2 0.398 0.218 0.180
0 – 2 0.178 0.167 0.011
*Through 50 PA in 2023

There’s some suggestion here that he has improved in 3-0 and 1-1 counts, but the sample is simply too small to make much of a conclusion from. But, if you look at his BB% towards the end of last season, he was trending in the right direction and appears to have picked up right where he left off. He’s done that before, just look at what he did in the second half of the 2021 season when he reached a peak 22.7% walk rate!

Myles Straw Rolling BB%/wOBA

The early returns on Straw have been terrific and if you are rostering him, put him in your lineup until the well runs dry. He is an excellent base-stealer with a career 88% stolen base success rate. For context, Trea Turner has a career 85% stolen base success rate, though Turner has attempted significantly more 2B robberies. Only time will tell if his OBP (.449 2023, .326 Career) gains in the form of BABIP, wOBA, and BB% are more luck than skill.

Jorge Mateo, BAL: wOBA is up and plate-discipline trending in the right direction.

Jorge Mateo Career wOBA

I went to my first Grapefruit League game this spring and was impressed with how good Mateo’s batted balls were looking. He just kept smashing the ball, but right at a defender. He’s always had issues with plate discipline but at the end of last season, he started to bring his rolling averages down on swings and swings outside of the zone:

Jorge Mateo Rolling BB

If he can work on his approach, specifically when he’s behind in the count, he could see OBP gains that would directly impact his stolen base accumulation. He is at his best when he’s ahead in the count, like in 3-1 and 2-1 counts, but he could be even better when ahead in the count. There’s no reason he shouldn’t be at or above league average in 3-0 counts. There is no reason, at all, that Mateo should be given the green light in 3-0 counts. Even if he takes and gets to a 3-1 count, he will be at his very best. So far this season, Mateo has faced four separate 3-0 counts and has taken a called strike on the next pitch in each plate appearance. That’s good. Those four plate appearances ended with a walk, a pop out, a strike out, and a hit by a pitch.

Mateo Through Count wOBA Splits

While Mateo’s plate discipline metrics are trending in the right direction, he is outperforming his expected stats, which is the opposite of what I observed in Sarasota:

AVG:.286 xAVG:.231

SLG:.500 xSLG:.426

wOBA:.383 xwOBA.324

Even still, his .324 xwOBA is just below the current league average (.328) and that’s a step in the right direction as his career-best came in 2021 when he put up a .287 xwOBA. He’s barreled the ball twice already, but that doesn’t come close to league leaders Matt Chapman and Bryan Reynolds, who each have 12 on the year. Let’s take a look at Mateo’s barreled balls:

Barreling balls for home runs is good fun, Mateo just needs to do it more consistently. At the end of last season, he was putting the ball on the ground less often and hitting it harder more often, and while those trends seemed like they might continue in 2023, he’ll need to increase his launch angle more consistently to make an offensive impact:

Jorge Mateo Rolling GB%/Hard%

One thing is clear, base-stealers are stealing bases at rates that suggest the projections could be way off the mark by the end of the season. Now is the time to find base-stealers who have made some kind of approach or skills change that get’s them on base more often. Each one of Straw, Mateo, Badoo and Thompson should be added if they are available. If the sample size gets larger and the gains smaller, you can always drop them.

*Stats in the opening table were created on Wednesday, April 12th.


Beat the Shift Podcast – 2023 Bold Predictions Episode w/ Michael Govier

The 2023 Bold Predictions episode of the Beat the Shift Podcast – a baseball podcast for fantasy baseball players.

Guest: Michael Govier

NFBC & Tout Wars experience

Strategy Section

  • First few weeks strategy
    • How to use FAAB in the first few weeks of the season
    • How to know who to drop/cut a player from your roster?
  • What to do with demoted or injured players?

Read the rest of this entry »


Ottoneu: Prospect Pitchers That Might Be Worth Rostering for 2024

ZiPs 2024 gives us some insight as to how prospects will perform if and when they make it to the big leagues. If we can get a general sense of how a player will perform with projections, we can get a general sense of how much they should be valued. To call this process an oversimplification is to look up at the sun and say, “Bright!” Yes, it is an oversimplification, that’s a given. First, we’re trying to predict not only the future performance of a player who hasn’t actually done it yet. Next, we’re trying to determine how much that performance will be worth without any real context. Where will they play? Who will be on their team? Are they as mentally strong as they are physically strong? Finally, we’re assuming they’ll be healthy.

This oversimplified process can only give us a sense of who might perform like a big leaguer in 2024 and since I’m writing from a FanGraphs points scoring system viewpoint, we can make comparisons with other, more established pitchers. Here’s a reminder of my process. First, I find prospect pitchers yet to debut using The Board. Next, I bring in the ZiPs 2024 projections for the players on that list. Not all of them have projections. After that, I convert their projected stats into FanGraphs Ottoneu points. Finally, I throw the prospects and their projected points into Justin Vibber’s Surplus Calculator output for 2023 and make comparisons. The result tells me how these pitchers will perform in 2024 if they are in a pool of 2023 projected players. The dollar value given assumes that next year’s player pool will be much like this year’s player pool. Here’s an example:

Player Comparison and Value Creation
Name IP rPTS rPTS/IP Dollars
Brandon Pfaadt 153.0 738.0 4.82 $5-$8
Jordan Montgomery 157.3 735.7 4.93 $8
*Yellow=Estimated value

Pfaadt is already grabbing the attention of Ottoneu players as his current FanGraphs points average salary is $4, or $3 Median. Will he increase in value by the end of 2024? ZiPs likes his chances and you can compare his projected points total for 2024 with this year’s Jordan Montgomery. If you pay over the average now, let’s say $6, and this projection comes to fruition, you’ll have a good chance of generating value in 2024. There is, however, another scenario where ZiPs is off the mark and he only brings in $4 in 2024. In that case, you’ll be overpaying. Here are the rest of the 2024 ZiPs projected prospect pitchers and what their value could be at the end of the 2024 season:

Projected Prospect Value for 2024
Name IP rPTS PTS/IP Value
Kodai Senga 142.0 688.2 4.8 $13-15
Brandon Pfaadt 153.0 738.0 4.8 $5-8
Tanner Bibee 115.0 466.0 4.1 $3-5
Grayson Rodriguez 121.7 567.4 4.7 $3-$5
Ricky Tiedemann 112.0 513.0 4.6 $3-$5
Robert Gasser 120.0 511.4 4.3 $3-$5
Gavin Stone 108.0 464.0 4.3 $3-$5
Kyle Harrison 112.0 520.7 4.6 $3-$4
Taj Bradley 120.3 528.8 4.4 $2-5
Gavin Williams 110.3 457.1 4.1 $2-$3
Andrew Painter 112.7 451.2 4.0 $2-$3
Daniel Espino 104.3 446.6 4.3 $2-$3
Bobby Miller 105.3 421.1 4.0 $2-$3
Mick Abel 105.0 371.0 3.5 $1-$2
Owen White 104.0 438.1 4.2 $1
Ben Joyce 56.3 275.9 4.9 $1
*Ottoneu FanGraphs Points Leagues
**Estimates generated by comparing players with similar projections to Justin Vibber’s Auction Calculator values

Let’s compare these estimated 2024 values with some current (2023) average/median Ottoneu salaries:

Current FanGraphs Points Leagues Avg./Med.:

Kodai Senga – Average: $15 / Median: $15
Grayson Rodriguez – Average: $4 / Median: $6
Taj Bradley – Average: $3 / Median: $3
Kyle Harrison – Average: $3 / Median: $3
Ricky Tiedemann – Average: $3 / Median: $3
Robert Gasser – Average: $2 / Median: $3
Tanner Bibee – Average: $2 / Median: $1
Gavin Stone – Average: $2 / Median: $2

This is just one way of trying to look into an uncertain future; mashing a bunch of different spreadsheets together and then estimating a value. Is it worth doing, or would you rather just pay a few dollars now to see what happens later? I think this analysis helps us do both. Remember that the goal is to identify future value and not current value. It allows us to prospect on players because we like them or we believe in them or we saw them at a AA game and were impressed. But, it also allows us to put some kind of filter on how we are rostering and for how much. Are you rostering Taj Bradley for $7 because he was bumped up during arbitration, or you got him in a rebuild trade deal when someone else realized his salary was too high? It may be time to re-examine that hold because, by this analysis at least, he won’t reach that value in 2024. Everyone has a strategy and this is just one approach, but it’s utilizing analytical tools and projections from smarter people than myself to provide insight and that can’t be a bad thing.


Beat the Shift Podcast – 2023 Draft Recap Episode w/ Steve Cozzolino

The 2023 Draft Recap episode of the Beat the Shift Podcast – a baseball podcast for fantasy baseball players.

Guest: Steve Cozzolino

The Great Fantasy Baseball Invitational (TGFBI)

LABR Mixed Auction

  • Ariel’s LABR Draft Board
  • Altering strategy based on knowing how the other competitors draft
  • General auction strategy for a 12 team mixed league
  • Shohei Ohtani at $26 as Ariel’s most expensive player
  • Saves strategy in a 12 team mixed league
  • How to pull off obtaining so many value bargains in an auction

Read the rest of this entry »