Author Archive

White Sox Add Two E’s to Their O

The Chicago White Sox have continued their very active offseason, inking DH Edwin Encarnación to a one-year deal worth $12 million with a $1 million signing bonus. The White Sox also have a club option for Encarnación at the same salary for 2021.

There was no Christmas vacation for the White Sox, and Encarnación is just the latest in the team’s series of relatively low-key signings. Reflecting the organization’s desire to be more aggressive in free agency as the team’s rebuild approaches its denouement, Chicago’s been “in” to some degree or another on most of this winter’s top free agents. The crème de la crème signed elsewhere, but the club was able to bring in Yasmani Grandal, Dallas Keuchel, and Gio Gonzalez, all representing significant upgrades at crucial positions for very reasonable prices.

Encarnación’s the latest variation on this theme. It’s a tough market for both 1B/DH types and players in their late 30s, and he sits in the center of this particular Venn diagram. It would be difficult to sign Encarnación if you had to pre-commit to playing him at first base for 140 games, and the DH opportunities were thin as most AL contenders already have the position set. Read the rest of this entry »


The Atlanta Braves Are the Team They Were Hoping For

Freddie Freeman has been a constant for a Braves team that is now fully rebuilt. (Photo: Thomson20192)

“Success is a science; if you have the conditions, you get the result.” – Oscar Wilde

Sometimes, the path to success is circuitous. Success in baseball is a zero-sum game, and your fortune is inevitably linked to the demise of your competitors. Those competitors strive to not make it easy, at least in those seasons where they haven’t decided to suddenly get their team payroll under, I don’t know, let’s say $208 million. Trials and tribulations make stories more interesting; Frodo and Sam going on a casual, uneventful stroll to Mt. Doom would make for painfully dull books and film adaptations. Read the rest of this entry »


2020 ZiPS Projections: New York Mets

After having typically appeared in the hallowed pages of Baseball Think Factory, Dan Szymborski’s ZiPS projections have now been released at FanGraphs for eight years. The exercise continues this offseason. Below are the projections for the New York Mets.

Batters

They took a winding road to get there, but the Mets’ core offensive talent is all on the 25-man, all still under 30, and generally speaking, are all free from odd playing time restrictions once due to the presence of inferior veterans at their same positions. Jake Marisnick will likely get a lot of time in center, but given that Brandon Nimmo is coming off of injury, having Marisnick on the roster is smart; he’s a capable fourth outfielder and not famous enough or well paid enough that a healthy Nimmo won’t be able to wrest away the lion’s share of the playing time.

ZiPS didn’t like what it saw in Robinson Canó’s 2019; he now projects as one of the team’s weaker players, but there isn’t an obvious replacement at the moment. Jed Lowrie is still hanging around, at least until the Mets convince someone to take his contract (which is unlikely given the plethora of 1.5 WAR middle infielders still available), but his health is still iffy and he’d have to be clearly better to take Canó’s job. I don’t believe he is. Sadly, Canó no longer projects to finish with 3000 hits, though he’s likely already wrapped up his Hall of Fame candidacy in any case.

Pitchers

A Jacob deGromNoah SyndergaardMarcus Stroman top of the rotation is a top three that can compete with that of any team in the majors. I’m not sure if the Mets have truly given up their strange dream to trade Thor, but as of right now, he’s a Met and that’s where he’s being projected. The Mets have at least six major league-caliber starters with the additions of Michael Wacha and Rick Porcello. The conventional wisdom is that Steven Matz is the odd man out one or the other, but I’m not convinced that’s the case. Now, Matz may very well be traded this winter, but I’m not sure it’s a given that he’s the one sent to the bullpen if he’s still a Met in April. I know Wacha joined the team with the intention of being a starter, but he’s also coming off injuries and a $3 million salary typically isn’t enough to have much leverage over what position you actually play.

The best news here is that ZiPS is projecting bounce-back seasons for Edwin Díaz and Jeurys Familia. Diaz looked awful in 2019, but who doesn’t look awful when allowing 2.33 HR/9 and a .377 BABIP? Based on the advanced hit data, ZiPS doesn’t think Díaz ought to have fared this poorly in either stat last season. After Díaz, it’s not the flashiest bunch, but the computer thinks they’ll far exceed their miserable 0.7 WAR from 2019, which was 24th in baseball and last among the contending teams.

Prospects

One problem for the Mets is that they don’t have a lot of short-term depth in the upper minors as injury replacements. That’s partially why they’ve been a Who’s Who of washed up outfielders at Triple-A the last few years. ZiPS doesn’t think Luis Guillorme will do much to force a change at second base, and doesn’t believe Andrés Giménez’s bat is quite ready, despite a glove that projects as above-average. Ronny Mauricio is farther off, and the computer doesn’t really have much to say about him at this point, but no matter what, it’s unlikely he shoots up to the majors in 2020. Of course, I said that about Juan Soto once!

The one prospect ZiPS is excited about in the short-term is David Peterson, the big lefty sinkerballer drafted in the first round in 2017. ZiPS thinks that Peterson is already in the same tier as Wacha or Porcello, but given that the Mets are likely contenders in 2020, it would be reasonable to expect the team to go with their most established players, rather than have Peterson adjust to the majors in games that matter. Like Porcello and Stroman, Peterson’s numbers are likely to be sensitive to the Mets infield defense, which will improve by having less of J.D. Davis in it.

He’s not really a prospect, but the Mets still seem inclined to let Tim Tebow get time in the upper minors for some reason, and they haven’t slammed the door on the possibility of actually giving him some kind of playing time in the majors. zDEF thinks that Tebow has improved defensively — my system estimated him at a ludicrously awful -25 runs in left field in 2017, the worst in my database — but he’s never done enough offensively to doubt the scouts who think he doesn’t have the skillset to contribute at the major league level. At least the Mets don’t have a significant prospect above Single-A for him to block!

One pedantic note for 2020: for the WAR graphic, I’m using FanGraphs’ depth charts playing time, not the playing time ZiPS spits out, so there will be occasional differences in WAR totals.

Ballpark graphic courtesy Eephus League. Depth charts constructed by way of those listed here.

Batters – Standard
Player B Age PO PA AB R H 2B 3B HR RBI BB SO SB CS
Pete Alonso R 25 1B 620 539 85 137 27 2 43 108 62 162 1 2
Jeff McNeil L 28 3B 573 519 77 152 32 4 19 71 35 73 7 4
Michael Conforto L 27 RF 607 516 83 132 27 1 31 96 78 148 6 3
Amed Rosario R 24 SS 638 598 76 164 28 9 14 64 31 118 21 10
Brandon Nimmo L 27 CF 431 355 57 84 18 4 13 45 63 116 5 3
Wilson Ramos R 32 C 460 421 42 115 19 0 14 68 34 69 1 0
Todd Frazier R 34 3B 504 444 60 101 18 1 20 72 47 113 4 4
Jed Lowrie B 36 2B 506 452 53 110 24 1 13 56 49 99 0 0
J.D. Davis R 27 LF 497 452 62 120 24 1 21 65 38 122 3 1
Rene Rivera R 36 C 325 297 31 64 8 0 14 44 21 101 0 0
Yoenis Cespedes R 34 LF 255 230 32 59 11 1 13 41 21 61 1 0
Robinson Cano L 37 2B 377 346 40 90 23 0 9 39 25 59 0 0
Joe Panik L 29 2B 497 443 54 113 21 3 7 46 43 47 4 2
Jake Marisnick R 29 CF 311 285 45 64 15 2 11 33 17 90 10 4
Luis Guillorme L 25 2B 431 381 44 93 15 1 5 31 41 69 3 3
Dominic Smith L 25 LF 503 462 61 117 24 1 16 58 36 117 2 2
Max Moroff B 27 SS 321 271 39 52 10 1 9 39 45 102 4 2
Juan Lagares R 31 CF 270 247 33 56 11 2 4 22 17 64 5 2
Andres Gimenez L 21 SS 508 463 49 101 20 5 9 41 24 129 23 16
Jarrett Parker L 31 RF 371 325 44 66 12 1 15 46 42 133 2 2
David Rodriguez R 24 C 342 314 31 63 13 2 6 30 21 95 3 2
Austin Bossart R 26 C 267 240 23 45 9 0 5 21 21 74 1 0
Ruben Tejada R 30 3B 344 313 35 72 16 1 4 27 21 62 2 2
Danny Espinosa B 33 SS 453 407 45 78 14 0 12 47 32 140 9 3
Ali Sanchez R 23 C 373 348 33 76 16 1 4 27 21 70 2 2
Tomas Nido R 26 C 311 293 27 64 14 1 7 33 13 70 0 0
Patrick Mazeika L 26 C 426 384 42 83 17 1 10 42 33 89 1 0
Carlos Gómez R 34 CF 329 294 32 61 13 1 9 32 20 92 10 5
Gavin Cecchini R 26 2B 389 357 39 83 15 1 6 32 27 79 4 3
Aaron Altherr R 29 RF 318 281 36 57 13 2 9 40 29 92 5 3
Rymer Liriano R 29 RF 366 324 40 63 9 1 12 38 36 135 7 4
Will Toffey L 25 3B 335 291 33 54 13 1 5 24 41 105 3 2
Arismendy Alcantara B 28 LF 392 360 45 79 14 5 12 44 28 116 14 4
Barrett Barnes R 28 RF 370 325 37 61 14 1 7 33 33 120 4 3
Quinn Brodey L 24 CF 474 435 42 87 18 3 9 41 31 148 9 4
Braxton Lee L 26 CF 458 412 41 91 14 2 3 28 35 113 8 7
Luis Carpio R 22 2B 439 400 40 83 17 1 8 35 33 95 4 11
Sam Haggerty B 26 2B 406 355 40 68 14 5 4 26 43 127 18 6
Rajai Davis R 39 CF 307 285 33 61 7 2 5 21 12 73 14 6
Jeremy Vasquez L 23 1B 558 502 51 113 22 3 7 45 48 119 2 3
Austin Jackson R 33 CF 272 248 26 59 13 1 3 23 21 77 2 2
Carlos Cortes L 23 2B 503 457 49 99 18 4 9 46 36 100 4 5
Travis Taijeron R 31 1B 450 392 49 73 18 2 16 51 46 183 2 2
Michael Paez R 25 2B 431 388 39 78 16 1 7 33 30 100 3 6
Gregor Blanco L 36 RF 352 315 37 67 10 3 6 25 32 90 9 4
Wagner Lagrange R 24 LF 407 378 36 82 16 3 5 31 22 91 2 3
Edgardo Fermin R 22 2B 379 353 32 64 13 5 6 31 17 126 8 6
David Thompson R 26 1B 464 425 44 87 20 1 9 41 27 123 7 3
Blake Tiberi L 25 3B 486 437 46 88 18 1 4 29 42 121 9 4
Tim Tebow L 32 LF 328 303 25 49 10 1 4 20 19 138 2 2

Batters – Advanced
Player BA OBP SLG OPS+ ISO BABIP RC/27 Def WAR No. 1 Comp
Pete Alonso .254 .347 .551 139 .297 .281 6.9 1 4.1 Justin Morneau
Jeff McNeil .293 .355 .480 125 .187 .311 6.5 2 4.0 Carney Lansford
Michael Conforto .256 .361 .492 130 .236 .300 6.4 2 3.8 Austin Kearns
Amed Rosario .274 .313 .421 98 .147 .322 4.9 -3 2.3 Garry Templeton
Brandon Nimmo .237 .365 .420 114 .183 .314 5.4 -4 2.0 Ron Roenicke
Wilson Ramos .273 .328 .418 102 .145 .299 5.1 -6 1.6 Eddie Taubensee
Todd Frazier .227 .312 .408 94 .180 .260 4.3 0 1.4 Clete Boyer
Jed Lowrie .243 .318 .387 91 .144 .285 4.4 -1 1.4 Todd Zeile
J.D. Davis .265 .324 .462 111 .197 .320 5.5 -6 1.3 Mark Quinn
Rene Rivera .215 .275 .384 77 .168 .275 3.6 6 1.1 Terry Kennedy
Yoenis Cespedes .257 .322 .483 115 .226 .295 5.7 1 1.1 Jim Rice
Robinson Cano .260 .316 .405 95 .145 .291 4.7 -1 1.0 Cal Ripken
Joe Panik .255 .323 .363 87 .108 .272 4.3 -1 1.0 Alex Cora
Jake Marisnick .225 .282 .407 85 .182 .288 4.1 4 1.0 Brad Snyder
Luis Guillorme .244 .319 .328 78 .084 .287 3.7 2 0.8 Scott Campbell
Dominic Smith .253 .310 .413 95 .160 .307 4.6 -2 0.7 Mark Quinn
Max Moroff .192 .310 .336 77 .144 .269 3.5 -1 0.6 Lauro Felix
Juan Lagares .227 .284 .336 68 .109 .291 3.4 6 0.5 Tony Scott
Andres Gimenez .218 .273 .341 66 .123 .283 3.0 4 0.4 Juan Uribe
Jarrett Parker .203 .299 .385 85 .182 .288 3.8 0 0.2 Alan Zinter
David Rodriguez .201 .255 .312 54 .111 .268 2.7 6 0.2 Jon Aceves
Austin Bossart .188 .259 .288 49 .100 .248 2.5 5 0.2 Matt Garrick
Ruben Tejada .230 .289 .326 68 .096 .275 3.2 3 0.2 Mike Tyson
Danny Espinosa .192 .264 .314 57 .123 .259 2.8 5 0.1 Rabbit Warstler
Ali Sanchez .218 .265 .305 55 .086 .263 2.7 5 0.1 Tom Wieghaus
Tomas Nido .218 .252 .345 61 .126 .264 3.0 1 0.0 Jeff Winchester
Patrick Mazeika .216 .286 .344 71 .128 .256 3.4 -7 -0.1 Dave Van Gorder
Carlos Gomez .207 .281 .350 71 .143 .269 3.4 -3 -0.2 Dann Howitt
Gavin Cecchini .232 .287 .331 68 .098 .283 3.3 -2 -0.3 Javier Fierro
Aaron Altherr .203 .289 .359 76 .157 .267 3.5 -1 -0.3 Nate Murphy
Rymer Liriano .194 .279 .340 68 .145 .288 3.1 2 -0.3 Jed Hansen
Will Toffey .186 .290 .289 59 .103 .271 2.7 0 -0.4 Ronald Bourquin
Arismendy Alcantara .219 .276 .386 78 .167 .289 3.9 -3 -0.4 Kenny Kelly
Barrett Barnes .188 .279 .302 59 .114 .273 2.7 4 -0.5 Alberto Concepcion
Quinn Brodey .200 .256 .317 55 .117 .281 2.8 4 -0.5 Justin Justice
Braxton Lee .221 .284 .286 57 .066 .297 2.7 2 -0.6 Vernon Thomas
Luis Carpio .208 .269 .315 59 .108 .253 2.4 3 -0.6 Vicente Garcia
Sam Haggerty .192 .283 .293 58 .101 .286 2.9 -3 -0.6 Juan Bell
Rajai Davis .214 .257 .305 53 .091 .271 2.8 0 -0.6 Lou Brock
Jeremy Vasquez .225 .296 .323 69 .098 .282 3.2 3 -0.6 Andy Barkett
Austin Jackson .238 .298 .335 73 .097 .333 3.4 -7 -0.7 Steve Henderson
Carlos Cortes .217 .279 .333 66 .116 .259 3.1 -4 -0.7 Javier Colina
Travis Taijeron .186 .284 .365 76 .179 .295 3.4 -4 -0.7 Alan Zinter
Michael Paez .201 .266 .302 55 .101 .253 2.5 -1 -1.0 Ryan Stegall
Gregor Blanco .213 .286 .321 65 .108 .279 3.2 -6 -1.1 Michael Tucker
Wagner Lagrange .217 .264 .315 57 .098 .273 2.8 0 -1.2 Roberto Alvarez
Edgardo Fermin .181 .225 .297 41 .116 .262 2.1 2 -1.3 Preston Mattingly
David Thompson .205 .261 .320 58 .115 .266 2.9 2 -1.3 Edward Lowery
Blake Tiberi .201 .274 .275 51 .073 .269 2.6 -6 -1.6 Ryan Stegall
Tim Tebow .162 .220 .241 26 .079 .280 1.6 -9 -3.0 Frank Charles

Pitchers – Standard
Player T Age W L ERA G GS IP H ER HR BB SO
Jacob deGrom R 32 12 6 2.88 29 29 184.3 150 59 21 42 223
Noah Syndergaard R 27 11 7 3.33 31 30 186.7 174 69 19 45 197
Marcus Stroman R 29 11 9 3.72 29 29 169.3 163 70 17 53 144
Steven Matz L 29 9 9 4.11 28 27 140.0 137 64 20 48 136
Rick Porcello R 31 12 12 4.29 29 29 167.7 169 80 28 41 152
David Peterson L 24 6 5 4.04 25 25 122.7 119 55 12 45 106
Edwin Diaz R 26 5 3 2.98 69 0 66.3 47 22 9 22 105
Seth Lugo R 30 6 3 3.15 60 0 74.3 60 26 9 18 88
Michael Wacha R 28 6 7 4.42 25 22 118.0 119 58 17 47 106
Walker Lockett R 26 6 7 4.55 24 20 114.7 123 58 17 27 83
Chris Flexen R 25 6 6 4.41 31 16 96.0 95 47 15 35 94
Stephen Gonsalves L 25 7 8 4.57 24 21 104.3 97 53 12 59 100
Ervin Santana R 37 6 7 4.64 19 19 114.3 111 59 19 34 89
Drew Gagnon R 30 6 7 4.64 30 16 110.7 113 57 17 36 96
Jeurys Familia R 30 4 3 3.66 67 0 64.0 56 26 4 36 68
Justin Wilson L 32 4 3 3.50 54 0 46.3 37 18 5 24 59
Daniel Zamora L 27 2 2 3.57 47 0 45.3 39 18 5 18 52
Brad Brach R 34 4 4 3.74 56 0 55.3 48 23 5 26 59
Franklyn Kilome R 25 4 5 4.81 19 19 91.7 92 49 9 55 70
Joe Cavallaro R 24 6 7 4.69 31 13 94.0 93 49 11 52 80
Chris Mazza R 30 4 5 4.80 25 16 101.3 109 54 15 35 74
Tylor Megill R 24 6 7 4.64 22 11 66.0 61 34 10 36 75
Luis Avilan L 30 3 2 3.80 56 0 42.7 39 18 4 18 44
Robert Gsellman R 26 3 3 4.02 62 0 71.7 69 32 8 26 65
Marcel Renteria R 25 3 3 4.41 33 4 65.3 63 32 6 36 57
Donnie Hart L 29 3 3 3.98 53 0 54.3 55 24 5 18 38
Yeizo Campos R 24 3 3 4.50 26 4 56.0 56 28 8 20 49
Corey Taylor R 27 3 3 4.20 34 1 49.3 50 23 5 16 36
Corey Oswalt R 26 6 8 5.03 22 20 102.0 107 57 19 33 88
Mickey Jannis R 32 6 8 5.10 21 20 118.3 129 67 17 46 78
Adonis Uceta R 26 4 4 4.44 35 2 52.7 51 26 6 26 48
Austin McGeorge R 25 2 2 4.59 26 3 49.0 50 25 7 21 42
Thomas Szapucki L 24 2 2 5.07 20 17 55.0 53 31 9 33 54
Brooks Pounders R 29 3 3 4.50 43 2 58.0 57 29 10 22 61
Tim Peterson R 29 3 4 4.34 48 0 58.0 56 28 10 18 58
Paul Sewald R 30 4 4 4.36 56 0 66.0 64 32 11 20 69
Louis Coleman R 34 2 2 4.43 41 0 40.7 37 20 5 23 39
Jacob Rhame R 27 3 3 4.41 44 0 49.0 46 24 9 19 55
Chasen Shreve L 29 3 3 4.39 54 0 55.3 48 27 9 28 67
Zach Lee R 28 6 8 5.19 23 21 118.0 133 68 20 37 81
Drew Smith R 26 3 3 4.43 37 0 44.7 44 22 5 20 37
Luc Rennie R 26 6 9 5.22 23 22 110.3 124 64 17 46 70
Sean Burnett L 37 1 1 5.01 24 0 23.3 25 13 3 10 17
AJ Ramos R 33 2 2 4.81 37 0 33.7 30 18 5 22 38
Ryley Gilliam R 23 2 3 4.82 29 0 37.3 32 20 6 25 49
Tommy Wilson R 24 6 8 5.38 21 20 100.3 109 60 18 40 77
Harol Gonzalez R 25 7 9 5.89 24 23 122.3 145 80 24 46 85
Tony Dibrell R 24 7 11 5.34 25 23 116.3 118 69 17 76 99
Joe Zanghi R 25 2 3 4.80 38 1 60.0 60 32 7 35 48
Jake Simon L 23 1 1 5.24 24 3 44.7 44 26 6 32 42
Stephen Villines R 24 2 2 4.69 45 0 63.3 62 33 10 27 59
Ryder Ryan R 25 2 3 5.04 32 1 44.7 44 25 6 27 41
Pedro Payano R 25 5 8 5.40 25 22 108.3 112 65 17 63 89
Tyler Bashlor R 27 3 4 4.85 54 0 55.7 51 30 8 33 57
Matt Blackham R 27 4 5 4.93 40 0 49.3 43 27 7 35 59
Nick Rumbelow R 28 2 2 5.25 27 0 36.0 37 21 6 16 31
Darwin Ramos R 24 3 4 4.98 42 1 65.0 66 36 9 35 53
Stephen Nogosek R 25 2 3 5.37 43 0 52.0 51 31 9 34 53
Christian James R 22 5 8 5.74 23 20 102.0 119 65 15 54 58

Pitchers – Advanced
Player K/9 BB/9 HR/9 BB% K% BABIP ERA+ ERA- FIP WAR No. 1 Comp
Jacob deGrom 10.9 2.1 1.0 5.7% 30.2% .288 140 72 2.93 4.7 Greg Maddux
Noah Syndergaard 9.5 2.2 0.9 5.8% 25.5% .306 121 83 3.12 3.8 Rick Reuschel
Marcus Stroman 7.7 2.8 0.9 7.4% 20.1% .293 108 92 3.72 2.7 Willard Nixon
Steven Matz 8.7 3.1 1.3 8.0% 22.6% .299 98 102 4.12 1.6 Scott Karl
Rick Porcello 8.2 2.2 1.5 5.8% 21.5% .294 94 107 4.27 1.6 Ron Reed
David Peterson 7.8 3.3 0.9 8.5% 20.0% .297 100 100 3.82 1.5 Jim O’Toole
Edwin Diaz 14.2 3.0 1.2 8.2% 39.0% .295 135 74 2.77 1.2 Jose Valverde
Seth Lugo 10.7 2.2 1.1 6.0% 29.4% .282 128 78 3.11 1.1 Rick Camp
Michael Wacha 8.1 3.6 1.3 9.1% 20.6% .298 91 110 4.45 0.9 Jim Hannan
Walker Lockett 6.5 2.1 1.3 5.5% 16.9% .296 88 113 4.37 0.7 Lary Sorensen
Chris Flexen 8.8 3.3 1.4 8.4% 22.6% .300 91 109 4.35 0.7 Dan Smith
Stephen Gonsalves 8.6 5.1 1.0 12.6% 21.4% .292 88 114 4.45 0.7 Ryan Brewer
Ervin Santana 7.0 2.7 1.5 7.0% 18.4% .273 87 115 4.68 0.6 Jim Perry
Drew Gagnon 7.8 2.9 1.4 7.5% 20.0% .296 87 115 4.42 0.5 John Doherty
Jeurys Familia 9.6 5.1 0.6 12.8% 24.1% .302 110 91 3.56 0.5 Sean Green
Justin Wilson 11.5 4.7 1.0 12.1% 29.8% .294 115 87 3.59 0.5 Marshall Bridges
Daniel Zamora 10.3 3.6 1.0 9.3% 26.9% .296 113 89 3.51 0.4 Shane Rawley
Brad Brach 9.6 4.2 0.8 11.0% 25.0% .295 108 93 3.63 0.4 Ted Abernathy
Franklyn Kilome 6.9 5.4 0.9 13.1% 16.7% .295 84 120 4.73 0.4 Rick Berg
Joe Cavallaro 7.7 5.0 1.1 12.2% 18.8% .296 86 117 4.66 0.3 Walt Masterson
Chris Mazza 6.6 3.1 1.3 7.8% 16.6% .297 84 119 4.68 0.3 Ownie Carroll
Tylor Megill 10.2 4.9 1.4 12.2% 25.4% .300 87 115 4.51 0.3 Mike Lumley
Luis Avilan 9.3 3.8 0.8 9.8% 23.9% .302 106 94 3.60 0.2 Juan Agosto
Robert Gsellman 8.2 3.3 1.0 8.4% 21.0% .296 100 100 3.91 0.2 Adrian Devine
Marcel Renteria 7.9 5.0 0.8 12.2% 19.4% .298 91 110 4.28 0.2 Walt Masterson
Donnie Hart 6.3 3.0 0.8 7.7% 16.2% .292 101 99 3.97 0.2 Leo Kiely
Yeizo Campos 7.9 3.2 1.3 8.2% 20.2% .294 89 112 4.36 0.2 Jon George
Corey Taylor 6.6 2.9 0.9 7.5% 17.0% .294 96 104 4.01 0.1 Casey Cox
Corey Oswalt 7.8 2.9 1.7 7.4% 19.8% .294 80 125 4.85 0.1 Bobby Keppel
Mickey Jannis 5.9 3.5 1.3 8.7% 14.8% .295 79 127 4.90 0.1 Charlie Robertson
Adonis Uceta 8.2 4.4 1.0 11.1% 20.5% .298 91 110 4.32 0.0 Casey Daigle
Austin McGeorge 7.7 3.9 1.3 9.7% 19.4% .299 88 114 4.61 0.0 Bob Miller
Thomas Szapucki 8.8 5.4 1.5 13.2% 21.6% .291 79 126 5.14 0.0 Todd James
Brooks Pounders 9.5 3.4 1.6 8.7% 24.2% .301 89 112 4.46 0.0 Marc Valdes
Tim Peterson 9.0 2.8 1.6 7.3% 23.5% .291 93 108 4.35 0.0 Brian Schmack
Paul Sewald 9.4 2.7 1.5 7.1% 24.6% .298 92 108 4.16 -0.1 Jay Tessmer
Louis Coleman 8.6 5.1 1.1 12.6% 21.4% .286 91 110 4.56 -0.1 Turk Lown
Jacob Rhame 10.1 3.5 1.7 9.0% 26.1% .294 91 110 4.49 -0.1 Mark Brown
Chasen Shreve 10.9 4.6 1.5 11.6% 27.8% .289 92 109 4.39 -0.1 Scott Wiegandt
Zach Lee 6.2 2.8 1.5 7.1% 15.5% .300 78 129 4.95 -0.1 Pat Ahearne
Drew Smith 7.5 4.0 1.0 10.1% 18.7% .293 91 110 4.32 -0.1 Newt Kimball
Luc Rennie 5.7 3.8 1.4 9.2% 14.1% .298 77 130 5.16 -0.1 Jake Joseph
Sean Burnett 6.6 3.9 1.2 9.6% 16.3% .301 80 125 4.68 -0.2 Darold Knowles
AJ Ramos 10.2 5.9 1.3 14.5% 25.0% .291 84 120 4.81 -0.2 Moe Burtschy
Ryley Gilliam 11.8 6.0 1.4 14.7% 28.8% .299 83 120 4.65 -0.2 Jeff Smith
Tommy Wilson 6.9 3.6 1.6 8.9% 17.2% .296 75 134 5.17 -0.3 Preston Larrison
Harol Gonzalez 6.3 3.4 1.8 8.3% 15.3% .308 76 132 5.47 -0.3 Nate Cornejo
Tony Dibrell 7.7 5.9 1.3 14.0% 18.3% .294 75 133 5.34 -0.3 Rick Berg
Joe Zanghi 7.2 5.3 1.1 12.8% 17.5% .293 84 119 4.85 -0.3 Lloyd Allen
Jake Simon 8.5 6.4 1.2 15.2% 20.0% .299 77 130 5.19 -0.3 Mike Venafro
Stephen Villines 8.4 3.8 1.4 9.7% 21.1% .291 86 116 4.65 -0.3 Dan Reichert
Ryder Ryan 8.3 5.4 1.2 13.2% 20.0% .297 80 125 4.90 -0.3 Cuddles Marshall
Pedro Payano 7.4 5.2 1.4 12.7% 17.9% .294 75 134 5.32 -0.3 Edwin Morel
Tyler Bashlor 9.2 5.3 1.3 13.2% 22.8% .289 83 120 4.78 -0.4 Jake Robbins
Matt Blackham 10.8 6.4 1.3 15.5% 26.1% .295 82 122 4.76 -0.4 Terry Bross
Nick Rumbelow 7.8 4.0 1.5 10.0% 19.4% .295 77 130 4.96 -0.4 Tom Dukes
Darwin Ramos 7.3 4.8 1.2 11.9% 18.0% .294 81 124 4.96 -0.5 Lloyd Allen
Stephen Nogosek 9.2 5.9 1.6 14.2% 22.1% .298 75 133 5.35 -0.7 Rick Greene
Christian James 5.1 4.8 1.3 11.3% 12.2% .302 70 142 5.54 -0.7 Jake Joseph

Players are listed with their most recent teams wherever possible. This includes players who are unsigned, players who will miss 2020 due to injury, and players who were released in 2019. So yes, if you see Joe Schmoe, who quit baseball back in June to form a ska-cowpunk Luxembourgian bubblegum pop-death metal band, he’s still listed here intentionally.

Both hitters and pitchers are ranked by projected zWAR — which is to say, WAR values as calculated by me, Dan Szymborski, whose surname is spelled with a z. WAR values might differ slightly from those which appear in the full release of ZiPS. Finally, I will advise anyone against — and might karate chop anyone guilty of — merely adding up WAR totals on a depth chart to produce projected team WAR.

ZiPS is agnostic about future playing time by design. For more information about ZiPS, please refer to this article.


2020 ZiPS Projections: San Diego Padres

After having typically appeared in the hallowed pages of Baseball Think Factory, Dan Szymborski’s ZiPS projections have now been released at FanGraphs for eight years. The exercise continues this offseason. Below are the projections for the San Diego Padres.

Batters

It may be the world’s most depressing bounce-back season, but Eric Hosmer’s .262/.320/.425, 1.1 WAR projection would be his best season so far in San Diego. It’s shocking there are still six seasons left on Hosmer’s deal, short of an ill-advised opt-out after year five. Hosmer’s contract creates an awkward situation for the Padres, in that he represents the starting player most in need of an upgrade. Josh Naylor already projects to be as good a player and Ty France, projected at second, has a higher-projected OPS+. I actually held my breath to see if Aderlin Rodriguez, a minor league free agent who spent 2019 in El Paso, also projected to have a better bat (he didn’t).

Outside of Hosmer, there’s very little to complain about. Jurickson Profar had a weak 2019, but ran a BABIP nearly 20 points below the average pitcher’s, so ZiPS is highly skeptical that represents anything near a true ability. It would have seemed crazy to trade for Trent Grisham a year ago, but he was one of the players who most outperformed their projection, finally putting up a terrific minor league season (albeit in a supercharged offensive environment). Read the rest of this entry »


The Cardinals Are Baseball’s Above-Averagest Team

St. Louis continued to set the bar for consistently solid, never-lousy baseball teams. (Photo: Jonathan Cutrer)

“I am, as I’ve said, merely competent. But in an age of incompetence, that makes me extraordinary.” – Billy Joel

The Cardinals are never really thought of as a small-market franchise, but in terms of the size of its media market — which is where the money comes from — St. Louis ranks between Cleveland and Pittsburgh. Yet historically, the Cardinals have been able to punch above their weight, and built a fanbase much larger than you would expect from the size of the city.

One of the ways they’ve been able to do this is by building a consistent culture of winning. They don’t always make the playoffs, but the Cardinals are rarely a lousy team. There’s almost certainly no one alive who remembers a 100-loss Cardinals squad, unless I’m drastically underestimating the probability that one of the few remaining 116-year-olds was a Cardinals fan in 1908. The last time the team even lost 90 games was nearly 30 years ago, in 1990. And while I roll my eyes at the Best Fans in Baseball business, during the team’s three-year stretch without a playoff appearance from 2016-18, their longest drought in 20 years, attendance at Busch Stadium was practically unchanged.

Since John Mozeliak, now the team’s president of baseball operations, was named general manager after the 2007 season, the Cards have reached the Platonic ideal of Cardinalia. Only once has a Moz-led team finished below 85 wins, but even in the 100-win season, the team didn’t feel like an unstoppable juggernaut; no Cardinal that year garnered serious MVP or Cy Young support. Instead, the team projected steady competence.

The Setup

The St. Louis Cardinals have been baseball’s most consistently above-average team in recent years. But how does one measure that above-averageness? I like to set 90 wins as kind of the benchmark for a very-good-yet-not-great team; like most humans, I’ve been programmed to like pretty numbers that end in zero. And since Mozeliak took over from Walt Jocketty, the Cardinals have been the closest to the 90-win mark year in and year out:

Above-Averagest Teams, 2008-19
Team Average Deviation From 90 Wins
Cardinals 3.5
Dodgers 6.2
Yankees 6.3
Rays 6.9
Red Sox 8.3
Rangers 8.4
Brewers 9.2
Angels 9.3
Giants 9.3
Braves 9.6
Indians 10.3
Mets 10.7
Blue Jays 10.9
Athletics 11.6
Nationals 11.8
Diamondbacks 12.4
Cubs 12.6
Tigers 12.8
Phillies 13.0
Rockies 14.0
Reds 14.1
White Sox 14.1
Twins 14.2
Mariners 14.7
Pirates 15.3
Royals 16.0
Marlins 16.8
Padres 16.9
Orioles 17.6
Astros 17.8

In a dozen years, the Cardinals missed 90 wins by a total of 42 wins. The 2019 Detroit Tigers missed 90 wins by a larger margin in a single year! And it’s not just chance either; in the 12 years of ZiPS projected standings, the Cardinals had the smallest difference between their 10th and 90th percentile win projections in six of 12 seasons. At the top end, only a single Cardinal since 2014 has been in the top five in the NL in WAR for a pitcher or a hitter: low-key NPB pickup Miles Mikolas in 2018. And by the same token, the Cardinals lows are quite high; only two teams in baseball received fewer replacement-level plate appearances or batters faced than the Cardinals:

Replacement-Level Performances, 2008-19
Team PA/TBF WAR
Rays 21282 -45.4
Yankees 22471 -46.7
Cardinals 24220 -54.0
Indians 28238 -59.5
Blue Jays 29600 -59.9
Brewers 29850 -60.4
Athletics 27082 -61.4
Red Sox 25064 -61.5
Dodgers 24830 -64.0
Cubs 27649 -64.1
Twins 33043 -64.6
Nationals 28037 -66.5
Mets 29313 -66.6
Giants 32272 -67.9
Rangers 28176 -68.1
Angels 28560 -69.8
Diamondbacks 31580 -70.8
Tigers 31256 -71.3
Astros 32677 -71.8
Phillies 32365 -73.1
Braves 29945 -74.8
Royals 34948 -77.0
White Sox 32953 -79.0
Reds 33919 -79.1
Padres 35047 -80.0
Orioles 36701 -84.2
Rockies 39341 -85.8
Mariners 38162 -90.6
Pirates 36930 -91.8
Marlins 34707 -92.8

After the 2018 season, their third straight year without postseason baseball, St. Louis had a new problem: how do you shake up this situation? And, from the point of view of the people paying the salaries, how do you make that happen without spending $300 million on a Bryce Harper or a Manny Machado? As with Matt Holliday and Jason Heyward, the Cardinals decided to aggressively acquire a star before signing him to a long-term extension. This worked well with Holliday, as the team was able to re-sign him after he hit free agency; they had less success keeping Heyward, a failure that, in hindsight, I’m sure they’re positively giddy about.

This time, the big move was Paul Goldschmidt, who had a year left on his contract. The price was steep, with Luke Weaver and Carson Kelly looking like real major leaguers, but it was a refreshing gamble from a team that tends to go the safe ‘n’ sensible route. Let’s name all the first basemen who were worth more wins from 2013-18:

[crickets]

So, the Cardinals expected they had secured their plug-and-play offensive powerhouse. The winter was quiet otherwise, with the team’s other big pickup being Andrew Miller, formerly of the Cleveland Indians. There was a real need for added bullpen depth, as the team’s relief corps struggled in 2018, ranking 26th in bullpen WAR. Miller was just as eager to wipe out memories from the previous season, one in which his ERA rose to 4.24 and his FIP to 3.51, both worsts since the Red Sox converted him to relief in 2012. The hope was that Miller, along with continued improvement from flamethrowing standout Jordan Hicks, would give the Cards a potent one-two punch in the bullpen.

The Projection

ZiPS projected St. Louis to finish a close second behind the Chicago Cubs, with a mean projection of 86 wins. While a few years ago it looked like the NL Central would struggle against the Cubs juggernaut, that team’s frugal payroll strategy and weakening farm system left them more of a jugger-not. (Yes, I’m ashamed of that sentence.)

There was no concern about their first-base acquisition, with ZiPS projecting a .270/.379/.479, 4.4 WAR line for Goldschmidt, putting him behind only Freddie Freeman and Cody Bellinger. ZiPS thought the Cardinals had a two-win player at every single position in the lineup, plus Jose Martinez and Tyler O’Neill.

But ZiPS had concerns about the rotation. The computer projected Carlos Martinez to be the team’s best starting pitcher, but due to injury, he was ticketed for the bullpen. The system was skeptical of both Michael Wacha, who was coming off 2018 injuries, and Dakota Hudson and his big fastball but erratic command.

The Results

The season got off to an auspicious start before it even actually began when St. Louis was able to sign Goldschmidt to an extension a week before Opening Day. And while the Cardinals eventually won 91 games — an unsurprising result for the eternal 90-win team — the specific events that got them the NL Central title were far from anticipated.

Imagine you woke up from a coma in November, were unable to access the internet, and asked me to tell you how the Cardinals did in 2019. Now, let’s say I was a bit of a jerk, and rather than just telling you the team’s record, I detailed the list below and made you guess how many wins the team ended up with:

  • Paul Goldschmidt had his worst year since 2012, hitting .260/.346/.476, and failing to hit the three-win threshold despite playing in 161 games.
  • Matt Carpenter struggled all year, hit .226, and ended up with 1.2 WAR.
  • Michael Wacha had shoulder problems and an ERA near five.
  • Carlos Martinez never got back into the rotation.
  • Harrison Bader regressed significantly.
  • Jordan Hicks needed Tommy John surgery.
  • Miles Mikolas went from leading the NL in wins to leading the NL in losses.
  • Jedd Gyorko barely avoided being released.
  • Yadier Molina had his worst OPS since 2007. [2010 -DS]
  • Andrew Miller pitched even worse than he did in 2018.
  • At this point, the doctors would kindly-yet-firmly ask me to stop, as you cried out, “Sweet mother of mercy, are we the Orioles now?”

    But nope! 91 wins.

    St. Louis needed a lot of quality production to win the division, even as one of the baseball’s weaker ones, but it was largely from unexpected places.

    Jack Flaherty becoming a serious Cy Young candidate was a monster addition to the roster. I still like Luke Weaver, but appears the Cardinals picked the right young starting pitcher to send to Arizona.

    And despite the setbacks to Miller and Hicks, the bullpen was a real plus for the team in 2019. Martinez may not have made it back to the rotation, but he stayed healthy after his May return and earned his 2.86 FIP. Giovanny Gallegos — one of ZiPS’s favorite little-known pitchers entering the season, who was projected for a 137 ERA+ (24th among all pitchers in baseball) — actually beat that lofty forecast. Fringe prospect Tommy Edman came up midseason, hit .304/.350/.500 while playing multiple positions, and finished the year worth more wins than Goldschmidt, Marcell Ozuna, or Carpenter.

    The Cardinals rode into the playoffs and advanced to the NLCS after beating the Braves in an exciting five-game series, capped off with a 13-1 shellacking in Game 5 so forceful it might have knocked Atlanta out of the 2020 playoffs as well. But what the team did to poor Mike Foltynewicz didn’t continue against the Nationals, as the offense was shut down by Stephen Strasburg, Max Scherzer, and Anibal Sanchez.

    What Comes Next?

    It has been an exciting winter around baseball so far, but a very quiet one in St. Louis. The team extended a qualifying offer to Ozuna, but they don’t appear to be among the leaders bidders for his services. The team’s luxury tax number is around $179 million, and they have shown little inclination to push towards the $208 million limit. It’s likely the Cardinals will make a few lower-key free agent signings in the next two months — their signing on Tuesday of Korean left-handed pitcher Kwang-Hyun Kim is a start — but with the club having few gaping holes, it’s unlikely there will be any serious upgrades among those.

    While that sounds like horrible news for the Cardinals and their fans, it’s unlikely they’ll will be punished for not being more financially aggressive. The Brewers, two games behind the Cardinals in 2019, have shown no movement towards a big-spending winter. And if the Cards and Brewers are being thrifty, the Cubs are being an unrepentant Ebenezer Scrooge, focusing less on how to get more outfield offense and more on finding trade partners for Kris Bryant. Pittsburgh is rebuilding, and while the Reds will likely improve to relevance — and have the best pitching staff in the division — the lineup is still a work in progress. Even treading water, St. Louis still looks to have one of the fastest boats in the division.

    2020 ZiPS Projection – Jack Flaherty

    How about some good ol’ fashioned fan service? If the season had lasted two months longer, it might have been Flaherty who ended up with the Cy Young award. He was a monster after the All-Star break, putting up a comically low 0.91 ERA and 2.22 FIP in the second half. Much of St. Louis’s late-season surge was due to the fact that Flaherty didn’t have a single bad game after early July. His improvement was largely the result of him developing a better feel for the rest of his repertoire. As he threw fewer fastballs, he saw both an uptick in velocity and an greater ability to get hitters to offer at pitches out of the zone. Being less fastball-reliant made Flaherty the best version of himself.

    My colleague Craig Edwards went into greater detail the change in Flaherty’s approach that helped him get into baseball’s elite tier.

    ZiPS Projection – Jack Flaherty
    Year W L ERA G GS IP H HR BB SO ERA+ WAR
    2020 13 7 3.13 33 33 189.7 146 23 54 236 131 4.4
    2021 13 7 3.04 34 34 192.7 146 23 54 240 136 4.7
    2022 13 7 3.02 33 33 187.7 141 22 52 236 136 4.6
    2023 12 6 3.03 30 30 172.3 129 21 47 217 136 4.2
    2024 11 6 2.95 29 29 167.7 124 20 46 215 139 4.2
    2025 11 6 2.96 28 28 161.3 118 20 44 210 139 4.1

    As far as regressions go, that’s a fairly mild one. 4.4 WAR is within a win of both Jacob deGrom and Scherzer, both pitchers who are rumored to be at least adequate at this baseball stuff. Jack Flaherty is a legitimate ace, even when his career .254 BABIP inevitably rises.


2020 ZiPS Projections: Los Angeles Dodgers

After having typically appeared in the hallowed pages of Baseball Think Factory, Dan Szymborski’s ZiPS projections have now been released at FanGraphs for eight years. The exercise continues this offseason. Below are the projections for the Los Angeles Dodgers.

Batters

Looking at the hitting projections, it’s not hard to see why the Dodgers didn’t go all-out to sign Anthony Rendon. Rendon, of course, would be an upgrade for any team, but it’s difficult to see how the Dodgers would have gotten maximum benefit. Their worst projected position is right field, manned primarily by Alex Verdugo, and with his projected WAR of 2.0 in 476 plate appearances, even he falls into the above-average category. And it’s possible that WAR slightly underrates the Dodger lineup simply because positional versatility is one of those things that we foggily know is meaningful, though exactly how meaningful we don’t quite know.

ZiPS has been keen on Cody Bellinger for a while. Indeed, this is quite an aggressive win projection for a first baseman. Bellinger’s career home run projection has gone well past 500 at this point, and ZiPS is even baking in a mildish drop in league home run totals, which we don’t know will actually happen. Read the rest of this entry »


2020 ZiPS Projections: Arizona Diamondbacks

After having typically appeared in the hallowed pages of Baseball Think Factory, Dan Szymborski’s ZiPS projections have now been released at FanGraphs for eight years. The exercise continues this offseason. Below are the projections for the Arizona Diamondbacks.

Batters

ZiPS projects Ketel Marte to regress a bit towards the mean, but not by enough to prevent him from remaining a star center fielder. The outfield corners remain more troublesome, and I believe it is extremely dodgy to assume that a healthier shoulder will be enough to return David Peralta to his career-best 2018 form. Peralta’s quite old for a player with just five years’ worth of playing time — he’ll turn 33 late in 2020 — and it’s quite likely that some age-related decline will counteract a portion of the benefits of (hopefully) avoiding further injury. I’m a fan of Josh Rojas, but I’m not sure his value will really come as a starter in a corner outfield position, where I think his bat will be stretched a bit.

I really would have liked to see Arizona go after Marcell Ozuna, who may actually be underrated at this point, including by me; I was leery of a team chasing after two seasons after him failing to hit the three-win line, but after running his ZiPS projection and looking at my BABIP model (zBABIP), I may have been too hasty to dismiss him. ZiPS thinks Ozuna should have had a .316 BABIP in 2019 based on his profile (his actual was .259) and gives him a .281/.346/.509, 3.1 WAR projection in 141 projected games in Arizona.

The projections aren’t completely sold on Christian Walker, still seeing him as a league-average first baseman. Problem is, ZiPS also is a fan of Kevin Cron — his emergence was huge even by Pacific Coast League standards — and projects him as the slightly better player right now. If trading Walker at some point can get the Diamondbacks another corner outfielder or a starting pitcher, it’s going to be hard to say no to. I don’t think Arizona is a top offense, but I don’t think there are any serious holes at the moment, an impressive turnaround for a team that had an 86 wRC+ as recently as 2018. Read the rest of this entry »


Dan Szymborski FanGraphs Chat – 12/12/19

12:03
Avatar Dan Szymborski: It’s a-me, Szymio!

12:04
Mark6: When will Jays 2020 ZiPS projections be published?

12:04
Avatar Dan Szymborski: At a time I am aware of!

12:04
Kiermaier’s Piercing Green Eyes: You know what the Yankee pinstripes always needed? A curvy swoosh advertisement right on the front. Thank you MLB for continuing to advocate for what’s best for baseball.

12:04
tommy timberlake: Do you think the Mets are simply adding depth by signing both Porcello and Wacha, or could it be a precursor to a trade involving Syndergaard, Stroman or Matz?

12:04
Avatar Dan Szymborski: Who knows with the Mets. I think it’s more likely a trade would happen in the spring than now.

Read the rest of this entry »


Giants Add Veterans Gausman and Cozart

The Giants made two acquisitions Tuesday evening, signing pitcher Kevin Gausman to a one-year contract and acquiring infielders Zack Cozart and Will Wilson from the Los Angeles Angels for future considerations.

These moves aren’t quite as earth-shattering as the Gerrit Cole signing, but both have short term upside for the Giants, which is consistent with the team’s goal of not completely gutting the roster while rebuilding.

Kevin Gausman is a long-term favorite of mine, and the $9 million the Giants will pay him in 2020 strikes me as a reasonable risk to take given the upside he represents. His stint with the Braves in 2019 is one he’d be happy to forget thanks to the 3-7, 6.19 ERA line he put up in 16 starts. It’s very easy to lose sight of the fact that his 4.20 FIP was nearly two runs better than his actual ERA, which was inflated by a .344 BABIP. Gausman’s strikeout rate had faded in recent years, dipping to a lackluster 7.3 K/9 in 2018, so his 9.6 K/9 in Atlanta was roughly a 30% improvement, which generally portends pleasant results rather than what actually happened.

When looking at Gausman’s 2019 hit data, the ZiPS projection system expects a BABIP of .309 rather than his actual .334. That’s still on the high side, but is enough to drop his batting average against in Atlanta from .290 to .252. Batters actually had the lowest exit velocity against Gausman since 2015 at 86.9 mph, which partially explains why even a struggling Gausman didn’t see his homer rate tick up. Read the rest of this entry »


2020 ZiPS Projections: Chicago White Sox

After having typically appeared in the hallowed pages of Baseball Think Factory, Dan Szymborski’s ZiPS projections have now been released at FanGraphs for eight years. The exercise continues this offseason. Below are the projections for the Chicago White Sox.

Batters

Yasmani Grandal was a tremendously important addition for the White Sox, giving the team an instant star behind the plate. He’s a good enough hitter that if the physical rigors of catching start to wear on him as he ages, he will still retain some value at first base or DH. ZiPS has been all over the map with Yoan Moncada, but believes that he’s finally turned the corner for good. I’ve declared this several times and been burned before, but I’m going to again make the claim, hopefully for the last time.

ZiPS sees Luis Robert and Nick Madrigal as instant contributors, though just how much the White Sox wring out of those positions will depend on how quickly they reach the majors in 2020. The computer thinks Danny Mendick is a serviceable stopgap who will have value as a utility guy when he eventually loses his job to Madrigal. The non-tendering of Yolmer Sanchez really makes the way the White Sox managed second base in 2019 seem odd in retrospect. If Sanchez’s performance was such that there was a chance the team wasn’t going to offer him a contract for 2020, why not give Mendick more time at second base? It’s not as if Sanchez’s projection got worse between September and November, so the team had to have been at least on the fence by late in the season. A more extensive audition for Mendick would have given the team more information. Read the rest of this entry »