Baseball's regular season is less than six weeks away from concluding. As such, it's an appropriate time to begin reflecting on the year that was. In doing our part, we've decided to put together a team of players who were acquired at meager costs over the past year -- either signing for less than $5 million as a free agent or being swapped in exchange for a non-top prospect in trade -- who had quality seasons. 

We do this not to glorify surplus value or bargain-bin shopping by teams, but to highlight the steep odds the players faced in making meaningful contributions. After all, if they were expected to be good, then they would've likely cost more, right? We're calling this collection the All-Opportunity Team, because these players have proven that sometimes all you need is a chance.

As always, be mindful that this exercise is more art than science. Now, onto the team.

Starting lineup

Catcher

James McCann
BAL • C • #27
BA0.290
R52
HR14
RBI49
SB4
View Profile

For as justifiable as it was last winter for the Tigers to non-tender James McCann -- he had a career 76 OPS+ in more than 1,650 plate appearances -- he's since made them look silly. McCann entered Wednesday with a 116 OPS+ on the season, fueled in large part by a career-high batting average (.290) and home run total (14). His defense remains substandard, but he's hitting the ball harder than before, and at a lower trajectory. Thus far, that combination has proven effective, and should ensure he's properly tendered this winter. 

First base

Danny Santana
BOS • 1B • #22
BA0.308
R63
HR21
RBI59
SB13
View Profile

Yes, that Danny Santana. The one who signed a minor-league deal in January and who has appeared 31 times at the cold corner despite entering the season with a reputation for being a slap-hitting speedster. Santana can still run, but he's also hitting the ball harder and at a better angle, resulting in 21 home runs and a 124 OPS+ on the year. There are still nits to pick with his game -- his strikeout-to-walk ratio is hideous thanks to his free-swinging ways -- yet he doesn't have to retain all of his offensive gains to be worth rostering due to his defensive versatility.

Second base

Eric Sogard
CHC • 2B • #4
BA0.304
R57
HR13
RBI38
SB8
View Profile

For as improbable as Santana's season has been, Eric Sogard's year isn't far behind. The 33-year-old has hit .304/.369/.494 while splitting time between the Blue Jays and Rays. He's averaged a home run every 26 at-bats, too, which is impressive considering his career rate entering this year was one home run every 133 at-bats. The funny thing is that Sogard's exit velocity ranks in the seventh percentile. Nonetheless, he's clearly making his hard-hit balls count.

Third base

J.D. Davis
OAK • LF • #5
BA0.312
R45
HR15
RBI43
SB2
View Profile

Ditto for J.D. Davis, who the Mets landed over the offseason as part of a five-player trade. The book on Davis was that he had good raw strength and a strong arm, but that he was limited by his hit tool and other defensive skills. He entered Wednesday hitting .312/.374/.522 with 15 home runs. That'll work. We're giving him the nod here despite the Mets mostly playing him in left field. Do note that Gio Urshela was acquired last August, making him ineligible for this team.

Shortstop

Freddy Galvis
PHI • 2B • #8
BA0.276
R61
HR21
RBI60
SB4
View Profile

Technically Freddy Galvis could make $5 million this year if the Reds decline his option for next season. We have to think someone out there -- be it Cincinnati or another club -- will value Galvis enough following this year to pay him $5.5 million in 2020. He's already set his career-high in home runs (21) and he's at minimum a durable shortstop who is supposedly an asset in the clubhouse. It is worth noting that Galvis, like Sogard, his former double-play partner in Toronto, doesn't look so hot through the exit-velocity prism.

Outfield

Jordan Luplow
PHI • RF • #8
BA0.271
R31
HR11
RBI29
SB3
View Profile

When Cleveland acquired Jordan Luplow from the Pirates, the hope was that he could be an improvement over Brandon Guyer. He's been that, and more. Luplow has homered 11 times and has a 120 OPS+ in 69 games. He minds the strike zone well and he's been particularly effective against left-handed pitching -- he has a 1.073 OPS this season when blessed with the platoon advantage. 

Mike Tauchman
CHC • LF • #40
BA0.293
R41
HR12
RBI42
SB5
View Profile

Obviously Mike Tauchman was going to find a place in this outfield -- how could he not? The Yankees nabbed Tauchman from the Rockies in spring for a prospect you've never heard of, and he's since hit .289/.370/.545 in 71 games. Tauchman's emergence would've been welcomed regardless, but proved crucial given the injuries to other Yankees outfielders. 

Mike Yastrzemski
SF • LF • #5
BA0.276
R45
HR16
RBI45
SB1
View Profile

Another late-spring trade acquisition, no one seemed to care when the Giants added Mike Yastrzemski to their organization. Famous last name aside, he was 28 and hadn't been able to break into the majors with the lowly Orioles. Yet Yastrzemski received the call in late May and has posted a 126 OPS+ over his first 274 plate appearances. He also grades well as a fielder. 

Hunter Pence
SF • DH • #8
BA0.299
R53
HR18
RBI56
SB5
View Profile

There aren't a whole lot of multiple-time All-Stars who would be willing to reinvent their swing, play winter ball, and take a minor-league deal as a 35-year-old. Yet that's what Hunter Pence did last year. His dedication has paid off. He made his fourth career All-Star Game in July and has raised both his batting average and on-base percentage in the second half. (His slugging has dipped significantly.) Pence appeared near the end of his career this time last season. Now? He's well-positioned for another deal entering the winter.

Bench

Tom Murphy
SF • C • #19
BA0.293
R23
HR16
RBI35
SB2
View Profile

With due respect to Travis d'Arnaud, Tom Murphy has had the better season offensively and defensively -- to the extent that Baseball Prospectus has him ranked 14th in WARP for catchers. Remember, Murphy was acquired in late March for a prospect you'll likely never think of again.

Jose Iglesias
NYM • SS • #11
BA0.293
R51
HR8
RBI47
SB5
View Profile

It's still a little surprising that Jose Iglesias was available for $2.5 million in late February. He's a tremendous fielder and he's on pace for an 88 OPS+ for a second consecutive season -- not incredible, but tolerable given his glove.

Tommy La Stella
SEA • 2B • #4
BA0.300
R49
HR16
RBI44
SB0
View Profile

Tommy La Stella was named to his first All-Star team before breaking his leg. The Angels lassoed him from the Cubs last winter for a prospect who hasn't played this year due to injury.

Hanser Alberto
CHW • 2B • #26
BA0.318
R41
HR8
RBI40
SB4
View Profile

Hanser Alberto doesn't walk, doesn't hit the ball hard, and doesn't mind the strike zone. But he's hitting .319/.340/.429 and he's been a bright spot for an Orioles team without many.

Rotation

Wade Miley
MIL • SP • #20
ERA3.18
WHIP1.20
IP147.1
BB48
K125
View Profile

Had we put together a preseason version of this team, Wade Miley would've been on it. He pitched fine enough for the Brewers last season, and the Astros have a strong reputation for player evaluation and development -- or, in other words, you knew they were probably going to get their money's worth for $4.5 million. Sure enough, Miley has a 141 ERA+ and 2.60 strikeout-to-walk ratio. He's going to be Houston's fourth starter come the playoffs. Wild. 

Brett Anderson
MIL • SP • #25
ERA4.06
WHIP1.29
IP144.0
BB40
K74
View Profile

Throughout most of Brett Anderson's career, he's been effective when healthy. He's been healthy enough this year to start 25 times -- his most since 2015 -- and has a 107 ERA+ to show for his efforts. Anderson doesn't miss many bats, but he generates grounders by the bushel and that formula continues to work.

Merrill Kelly
ARI • SP • #29
ERA4.63
WHIP1.32
IP142.0
BB38
K114
View Profile

The Diamondbacks signed Merrill Kelly to a two-year deal worth less than $6 million with a couple club options over the winter. He hadn't pitched in the majors at that point, having instead spent his career in the minors and overseas in Korea. Through 25 starts, Kelly has a 98 ERA+ and a 3.00 strikeout-to-walk ratio, which is probably better than anyone expected.

Martin Perez
PIT • SP • #54
ERA4.60
WHIP1.47
IP133.0
BB56
K111
View Profile

Martin Perez hasn't been nearly as effective in the second half (5.21 ERA, .932 OPS against) as he was in the first half (4.26 ERA, .678 OPS against). Nonetheless, we're giving him the nod because it's a weak starting-pitching class and the aggregate is better than anyone expected.

Jordan Lyles
KC • SP • #24
ERA4.96
WHIP1.42
IP103.1
BB44
K108
View Profile

For another example of that, consider Jordan Lyles. He has a 90 ERA+ in 21 starts this season. Unremarkable, given the average starter checks in around 93. Yet Lyles entered the year with a career 80 ERA+.

Bullpen

Cleveland's

Is this cheating? Probably. But Cleveland has the best bullpen in baseball in terms of ERA, and it was built through the scrapheap. There's Tyler Clippard (minor-league deal; 2.64 ERA in nearly 50 innings), there's Nick Wittgren (minor trade; 2.77 ERA in nearly 50 innings), there's Oliver Perez (cheap one-year deal; 2.76 ERA in 32 innings), and there's A.J. Cole (waiver claim; 3.81 ERA in 26 innings). Sure, we'd need a few more relievers to fill out an actual team, but the bullpen remains the area where players are able to author unexpected seasons the easiest. Cleveland's bullpen, if nothing else, is a great example of that.