The spectacle in North Carolina's 9th District makes 2018 feel like the election that will never end. And, the looming presidential primaries are rapidly overshadowing congressional politics. But the 2020 fight for the House is already underway, with both the DCCC and NRCC working behind the scenes to identify the most ideal recruits and releasing ambitious lists of targeted districts to declare they are "on offense."

Republicans will need to gain 18 seats to win back the majority (or 19 depending on the outcome of a new election in NC-09), and have no shortage of good-looking targets, at least on paper: there are now 31 Democrats sitting in districts carried by President Trump in 2016 and just three Republicans sitting in districts carried by Hillary Clinton.

But Democrats have history on their side: the House majority hasn't flipped twice in a row since 1954 and hasn't flipped during a presidential cycle since 1952. Democrats have gained House seats in five of the past six presidential elections (save for 2004, when Republicans drew a favorable new map in Texas) and in seven of the past eight presidential cycles, the net partisan seat shift in the House has been in the single digits.

Earlier in the decade, we theorized that for Democrats to win back the House, they would need either a resettlement program to move more of their voters into competitive districts or an unpopular GOP president in a midterm year. In 2018, they got the latter. Now, it's tough to see Republicans winning the House back unless President Trump's approval rating is significantly higher than today's 42 percent come 2020.

A huge advantage for many Democratic challengers in 2018 was that they could hammer Republican incumbents for "voting with President Trump 95 percent of the time" and didn't have a voting record of their own to defend. Remarkably, of the 43 Democrats who captured Republican-held seats in 2018, only six had ever served in a state legislature and only eight had held any kind of elective office at all.

Republicans note that won't be the case 20 months from now. GOP strategists hope to make Democratic freshmen "one-term wonders" by tying them to "radical," economy-disrupting proposals such as a Green New Deal and Medicare for All.

However, financial deficits and retirements could complicate the GOP's path back. In 2018, Democratic candidates outspent Republican candidates in 59 of the 75 most competitive races, in some cases by 2-to-1 or 3-to-1, according to data from OpenSecrets.org. Democrats' dominance owed to their donor base's anger at Trump and their ability to bundle and direct small-dollar contributions efficiently through ActBlue.

Republicans argue 2020 will be different because Democratic House candidates will be competing against presidential contenders for attention and cash. But Democratic incumbents could continue to benefit from an increasingly wealthy base that's angry at the president. And, GOP candidates could find it more difficult to raise money out of power.

Republicans need to avoid a repeat of 2008, the last time they were newly in the minority and morale foundered. That cycle, 26 Republican incumbents headed for the exits and Democrats picked up nearly half of their seats. In fall 2008, the DCCC outspent the cash-strapped NRCC by a whopping $75 million to $21 million and had the airwaves to themselves in dozens of districts, ultimately helping Democrats gain 21 seats.

A key 2020 House battleground will be Texas. Democrats picked up two seats in the suburbs of Dallas and Houston last fall, but came within single digits in six more districts. The NRCC has already met with the six incumbents who survived close calls to secure commitments to run again and raise more money in 2020. But, there will likely be additional GOP members from swing seats who follow Rep. Rob Woodall (GA-07) into retirement.

It's too early to offer a range of gains and losses, but Democrats begin the cycle with an edge - one they hope can sustain them until districts are redrawn in 2021. Here are a few initial impressions of the races highest on each party's target list. View our full ratings here.

Vulnerable Democratic Seats:

CA-10: Josh Harder (D) - Central Valley: Modesto, Tracy

Lean Democratic. Despite Republicans' best efforts to paint him as an out-of-touch San Francisco venture capitalist, Harder ousted GOP Rep. Jeff Denham 52 percent to 48 percent. Denham isn't likely to run again, and it could be difficult for Republicans to keep up with Harder, who raised $8.3 million last cycle. Former Turlock Councilman Ted Howze, who ran to Denham's right in the 2018 primary, is in for 2020.

CA-21: T.J. Cox (D) - Central Valley: Hanford, parts of Bakersfield

Lean Democratic. Cox's razor-thin victory over GOP Rep. David Valadao was stunning, considering Valadao had finished with 63 percent in the all-party primary in June. But Cox raised $2.9 million with the help of ActBlue and Valadao's family farm was seized by the bank in the middle of the summer. Valadao is considering a comeback, but President Trump lost this heavily Latino seat by 15 points in 2016 and won't be any help.

CA-39: Gil Cisneros (D) - Northern Orange County: Fullerton, Yorba Linda

Lean Democratic. Cisneros, a Navy veteran and mega-millions jackpot winner, spent a whopping $12.2 million to defeat GOP Assemblywoman Young Kim 52 percent to 48 percent. Republicans believe Kim, a former aide to previous GOP Rep. Ed Royce, would benefit from an earlier start in 2020. But she might be even worse off with President Trump on the ballot, considering he lost this seat by nine points in 2016.

CA-45: Katie Porter (D) - Inland Orange County: Irvine, Mission Viejo

Lean Democratic. Republicans insist that Porter, a law professor and protege of Sen. Elizabeth Warren, is way too liberal for this upscale Orange County seat. But all Porter had to do in 2018 was hammer home that GOP Rep. Mimi Walters had voted with President Trump over 95 percent of the time, and she beat her 52 percent to 48 percent. Walters or Orange County Supervisor Michelle Park Steel could run in 2020.

CA-48: Harley Rouda (D) - Coastal Orange County: Huntington Beach

Lean Democratic. Rouda, who hails from a prominent Ohio real estate family, completed Democrats' sweep of Orange County by unseating Russia-friendly GOP Rep. Dana Rohrabacher 54 percent to 46 percent. But, Republicans hope replacing Rohrabacher with someone else will return this district to its old form. Janet Nguyen, who lost her state senate seat by a razor-thin margin in 2018, is considering running here.

FL-26: Debbie Mucarsel-Powell (D) - South: Homestead, The Keys, The Everglades

Lean Democratic. GOP Rep. Carlos Curbelo ran a top-flight reelection campaign, but Democrats pounded away at his vote for the GOP healthcare bill and Mucarsel-Powell beat him 51 percent to 49 percent. President Trump lost this district by 16 points in 2016, so Curbelo might be the only Republican with a chance of winning it back in 2020. But he's also considering a bid for Miami-Dade's open mayor's office.

GA-06: Lucy McBath (D) - Atlanta suburbs: Roswell, Alpharetta

Toss Up. McBath, who lost her teenage son in a tragic shooting in 2012, beat GOP Rep. Karen Handel 51 percent to 49 percent with help from Democratic gubernatorial nominee Stacey Abrams at the top of the ticket. The northern Atlanta suburbs are getting worse for Republicans every year, but state Sen. Brandon Beach has already announced he's running. And, Handel and state Sen. Judson Hill are considering bids too.

IA-01: Abby Finkenauer (D) - Northeast: Cedar Rapids, Waterloo, Dubuque

Toss Up. Republicans believe Finkenauer is highly vulnerable after casting her first vote for Nancy Pelosi from a district that supported President Trump by four points in 2016. And they're excited that state Rep. Ashley Hinson, a former TV anchor who represents suburban Cedar Rapids, could match up better against Finkenauer than irascible former GOP Rep. Rod Blum. But Blum hasn't ruled out running again.

IA-03: Cindy Axne (D) - Southwest: Des Moines, Council Bluffs

Toss Up. Republicans are eager to take on Axne after her vote for Nancy Pelosi from a district that backed President Trump by four points. Axne unseated GOP Rep. David Young 49 percent to 47 percent, and Republicans have reportedly urged state Sen. Zach Nunn and state Rep. Jon Jacobsen to consider bids.

IL-06: Sean Casten (D) - Chicago west suburbs: Wheaton, Palatine

Lean Democratic. Clean energy entrepreneur defeated GOP Rep. Peter Roskam 54 percent to 46 percent, closely tracking Hillary Clinton's margin in the district. In 2011, Democrats had drawn this seat to elect a Republican and Casten wasn't one of Democrats' most charismatic candidates, but Trump's unpopularity proved too much for Roskam. DuPage County Board Member Greg Hart could run, but it's an uphill battle for the GOP.

IL-14: Lauren Underwood (D) - Chicago north and west exurbs: Batavia, McHenry

Toss Up. Underwood, a former Obama HHS official, came out of seemingly nowhere to dominate the Democratic primary and defeat GOP Rep. Randy Hultgren 52 percent to 48 percent. Now, GOP dairy mogul and state Sen. Jim Oberweis, is running, but his age (he's 40 years older than Underwood) and long history of self-funding his way to defeat could give Republicans pause. Navy veteran Matt Quigley is in too.

KS-03: Sharice Davids (D) - East: Greater Kansas City

Lean Democratic. Davids, an attorney and former MMA fighter, gained pseudo-celebrity on her way to defeating GOP Rep. Kevin Yoder 54 percent to 44 percent. This moderate seat voted for Hillary Clinton by a point in 2016. GOP strategists believe a woman would match up better against Davids than Yoder, and former Kansas GOP Chair Amanda Adkins and former National Down Syndrome Society CEO Sara Weir are both looking at running.

ME-02: Jared Golden (D) - North: Bangor, Lewiston, "Down East"

Toss Up. Republicans are still smarting from Maine's new ranked-choice voting system. GOP Rep. Bruce Poliquin initially finished ahead, but Golden overtook him 51 percent to 49 percent with second-choice votes. Golden voted against Nancy Pelosi and was one of just two Democrats to vote against an expanded background checks bill. Poliquin hasn't indicated his 2020 plans, but President Trump on the ballot could boost the GOP here.

MI-08: Elissa Slotkin (D) - Central: Lansing, Detroit exurbs

Toss Up. Slotkin, a former intelligence analyst and assistant Secretary of Defense, raised an impressive $7.4 million and ousted GOP Rep. Mike Bishop 51 percent to 47 percent in 2018. This district voted for President Trump by seven points in 2016, so Slotkin has her work cut out for her. She voted "present" for speaker after being sworn in. Republicans may try to recruit state Sen. Lana Theis, who represents populous Livingston County.

MI-11: Haley Stevens (D) - Detroit west suburbs: Livonia, Novi

Lean Democratic. Stevens, the former chief of staff for the Obama auto task force, defeated GOP businesswoman and former Trump state chair Lena Epstein 52 percent to 45 percent. Republicans eagerly point out Stevens went back on her pledge of "new leadership" by voting for Nancy Pelosi. 2018 GOP Senate nominee John James lives here and could run after being passed over for UN Ambassador, but he could also run for Senate again.

MN-02: Angie Craig (D) - Twin Cities south suburbs: Eagan, Burnsville

Lean Democratic. Aided by a revamped campaign team and a much more favorable political environment, Craig won her rematch against GOP Rep. Jason Lewis 53 percent to 47 percent. Craig, a former St. Jude Medical executive, outspent Lewis nearly two to one and Lewis hasn't indicated whether he'll seek round three. But Republicans might be better off with a more conventional candidate than the former conservative radio host.

MN-07: Collin Peterson (D) - Northwest: Moorhead, Willmar, Fergus Falls

Lean Democratic. Peterson, 74, is the only Democrat on the planet who could win this rural seat President Trump carried by 30 points. But he's seen his margin fall in three straight elections, and in 2018 he won a 13th term by just four points against underfunded pilot Dave Hughes. Democrats hope Peterson's return as chair of the Agriculture Committee will entice him to run one final time in 2020, but look for Republicans to recruit a more serious opponent.

NH-01: Chris Pappas (D) - East: Manchester, Portsmouth

Lean Democratic. Pappas, a restaurateur who already represented much of the 1st CD on New Hampshire's executive council, outspent GOP former South Hampton Police Chief Eddie Edwards two to one en route to winning this Trump-carried district 54 percent to 45 percent. Edwards could run again, but Republican strategists will be looking for alternatives.

NJ-02: Jeff Van Drew (D) - South: Cape May, Atlantic City, Vineland

Lean Democratic. Van Drew, a moderate dentist and former state senator, had a closer-than-expected victory over an opponent the NRCC had disavowed for his past remarks about race. In what was supposed to be a cakewalk, Van Drew won by just 53 percent to 45 percent. Republicans would do just about anything to prevent Grossman from becoming their nominee again and would love for state Sen. Chris Brown to run.

NJ-03: Andy Kim (D) - South central: Burlington, Toms River

Toss Up. Kim, a former Obama White House defense adviser, successfully tagged GOP Rep. Tom MacArthur as the "architect" of the House GOP's healthcare bill on the way to a 50 percent to 49 percent upset. Some Republicans grumble MacArthur, an insurance executive, could have cut his campaign a bigger check. MacArthur isn't likely to run again, but an interesting GOP possibility could be former Lt. Gov. Kim Guadagno, who doesn't live in the district.

NJ-07: Tom Malinowski (D) - North central: Flemington, Bridgewater, Summit

Lean Democratic. President Trump's drag proved too much for GOP Rep. Leonard Lance, who had compiled a very moderate voting record. Malinowski, the former DC director of Human Rights Watch, defeated him 52 percent to 47 percent in this central Jersey seat. Already, Republicans are looking at attorney Rosemary Becchi and state Sen. Tom Kean, Jr., though Kean could also wait to pursue a gubernatorial bid in 2021.

NM-02: Xochitl Torres Small (D) - Southern half: Las Cruces, Roswell, Hobbs

Toss Up. Torres Small's youth, charisma and appealing ads featuring her hunting allowed her to capture a mostly rural district that had voted for President Trump by ten points. She upset state Rep. Yvette Herrell, who had clashed with more moderate GOP Gov. Susana Martinez, 51 percent to 49 percent. Herrell immediately announced she'd run again in 2020, but not all Republicans are enamored. Expect a fierce GOP primary.

NV-03: Susie Lee (D) - South: south Las Vegas suburbs, Henderson

Lean Democratic. Lee, a philanthropist and education non-profit executive, made it to Congress on her second try by defeating lackluster perennial GOP candidate Danny Tarkanian 52 percent to 43 percent. President Trump carried this seat by a point in 2016, so Republicans should have an opportunity here if they nominate someone other than Tarkanian, whose personal financial problems have now cast a pall over four bids for federal office.

NY-11: Max Rose (D) - Staten Island, Brooklyn: Bay Ridge, Bensonhurst

Toss Up. Rose, an Army veteran of Afghanistan, upset GOP Rep. Dan Donovan 53 percent to 47 percent in a Staten Island district President Trump had carried by ten points. It's possible the scrappy Rose benefited from lingering ill will from the GOP primary, in which Donovan thrashed ex-convict and former Rep. Michael Grimm. Republicans believe they have an ideal challenger in Assemblywoman Nicole Malliotakis, but Grimm hasn't ruled out another bid.

NY-19: Antonio Delgado (D) - Northern Hudson Valley: Kingston, the Catskills

Toss Up. In retrospect, Republicans' decision to attack Delgado, an African-American Rhodes Scholar, as a "big-city rapper" - rather than another Ivy League elitist with weak connections to the district - likely backfired. Delgado unseated GOP Rep. John Faso 51 percent to 46 percent in a district President Trump had carried by seven points. If Republicans can make more light of Delgado's voting record than his race in 2020, they should have a good chance.

NY-22: Anthony Brindisi (D) - Central Upstate: Utica, Binghamton

Toss Up. Brindisi, a former assemblyman, was the only 2018 Democrat to flip a district President Trump had won by more than 15 points. A big reason: GOP Rep. Claudia Tenney's polarizing style and unpopularity. GOP Broome County prosecutor Steve Cornwell is exploring a bid, and might even be the favorite against Brindisi if he can get past a possible primary against Tenney, who hasn't ruled out running again.

OK-05: Kendra Horn (D) - Central: Oklahoma City and suburbs

Toss Up. Horn, a former congressional aide, pulled off the upset of the midterms by defeating GOP Rep. Steve Russell 51 percent to 49 percent. Republicans blame Russell's lack of effort and outgoing Gov. Mary Fallin's severe unpopularity. Horn cast her first vote for Nancy Pelosi to be speaker and starts 2020 as the GOP's top target in the country. Former Oklahoma City Mayor Mick Cornett and state Sen. Greg Treat are possibilities.

PA-08: Matt Cartwright (D) - Northeast: Scranton, Wilkes-Barre

Lean Democratic. Cartwright managed to turn back self-funding GOP businessman John Chrin's challenge 55 percent to 45 percent, but the underlying fundamentals of this Scranton seat are shifting away from Democrats and Republicans believe they'll have a better shot in 2020 with President Trump on the ballot. Trump carried this seat by ten points in 2016. Republicans wouldn't mind if Chrin runs again.

SC-01: Joe Cunningham (D) - Southeast: Charleston, Hilton Head

Toss Up. Cunningham, an aw-shucks attorney and ocean engineer, took advantage of the offshore drilling issue to upset polarizing GOP state Rep. Katie Arrington 51 percent to 49 percent. Cunningham will be hard-pressed to win a second term in a seat Trump won by 13 points. Possible GOP candidates include Arrington, Beaufort Councilman Mike Covert, state Sens. Larry Grooms and Tom Davis and state Rep. Nancy Mace.

TX-07: Lizzie Fletcher (D) - Houston northwest suburbs: Jersey Village

Lean Democratic. Fletcher, an EMILY's List-backed attorney, unseated GOP Rep. John Culberson 53 percent to 47 percent. Culberson wasn't a particularly strong incumbent and Republicans have plenty of local officeholders in these upscale Houston suburbs, including socially moderate state Rep. Sarah Davis. But the underlying trend line - the 7th CD voted for Mitt Romney and Hillary Clinton - is positive for Fletcher.

TX-32: Colin Allred (D) - North Dallas and suburbs: Richardson

Lean Democratic. Democrats took special pleasure in former NFL player Allred's 52 percent to 46 percent victory over GOP Rep. Pete Sessions, who had chaired the House Rules Committee and the NRCC. Sessions is headed for the private sector, but likely GOP candidates include Dallas County GOP Chair Missy Shorey and venture capitalist George Seay. This high-income, Clinton-won seat is moving rapidly towards Democrats, which helps Allred.

UT-04: Ben McAdams (D) - Central: southern Salt Lake City suburbs

Toss Up. After weeks of counting, McAdams, the mayor of Salt Lake County, prevailed over GOP Rep. Mia Love by 694 votes. President Trump failed to crack 40 percent here in 2016 and almost certainly dragged Love down, despite Trump's assertions to the contrary. Love isn't likely to run again, but Utah observers have pegged state Sen. Dan McCay, state Rep. Kim Coleman and former West Jordan Mayor Dave Alvord as possibilities.

VA-02: Elaine Luria (D) - Southeast: Virginia Beach, Williamsburg, Eastern Shore

Toss Up. Luria, a former Navy nuclear engineer, unseated former Navy SEAL and GOP Rep. Scott Taylor 51 percent to 49 percent after Taylor's campaign was found to have forged petitions to seek to get an independent on the ballot to drain votes from Luria. Taylor hasn't decided on a comeback, but Republicans would probably be better off with a new candidate, perhaps a member of Virginia Beach's influential Stolle family.

VA-07: Abigail Spanberger (D) - Central: Richmond suburbs, Culpeper

Toss Up. Spanberger, a former CIA undercover operative, took advantage of the rapidly changing Richmond suburbs to unseat Freedom Caucus Rep. Dave Brat 50 percent to 48 percent. Spanberger raised an impressive $7.2 million, but now sits in a district President Trump won by six points. Brat is unlikely to run again, but one possibility could be GOP Del. Nick Freitas, who narrowly lost the 2018 Senate primary but handily carried the 7th CD.

Vulnerable Republican Seats:

CA-50: Duncan Hunter (R) - Inland San Diego County: Escondido, Santee

Lean Republican. Some Democrats grumble that they could have beaten the indicted Hunter had former Navy SEAL Josh Butner advanced from the primary instead of progressive Ammar Campa-Najjar, whom Hunter beat 52 percent to 48 percent. GOP former San Diego Councilman Carl DeMaio could run if Hunter is forced to step down after his September trial. Campa-Najjar is running again, as is Democratic attorney Alex Balkin.

FL-15: Ross Spano (R) - Central: Lakeland, Brandon, Plant City

Lean Republican. Just weeks after Spano beat Democratic attorney Kristen Carlson 53 percent to 47 percent, he drew an FEC complaint for taking $180,000 in potentially illegal campaign loans from friends. Democrats insist Spano is in hot water, but voters may or may not care in 20 months. Some Democrats believe retired county judge Bob Doyel would make a good fit here, and Carlson could run again as well.

GA-07: OPEN (Woodall) (R) - Atlanta suburbs: most of Gwinnett County

Toss Up. Republicans might be better off without the retiring Woodall, who failed to run ads until the final week and came within 433 votes of losing to Democrat Carolyn Bourdeaux. U.S. Attorney B.J. Pak and state Sen. Renee Unterman are rumored on the GOP side. Bourdeaux is back, but Democratic state Reps. Sam Park and Brenda Lopez are considering as well, all hoping to take advantage of Gwinnett County's rapid demographic shift.

IL-13: Rodney Davis (R) - South central: Champaign, Decatur, Springfield

Lean Republican. Davis, a member of the moderate Republican Main Street Partnership, nearly got swept up in the wave, turning back an unexpectedly strong challenge from Democratic fundraiser Betsy Dirksen Londrigan by less than a point. Londrigan is likely to seek a rematch and Democrats believe Davis handed them a new talking point when he was spotted flying first class during the shutdown.

MO-02: Ann Wagner (R) - East: Western St. Louis suburbs

Lean Republican. Wagner began the 2018 cycle toying with a Senate bid. Instead, she faced an unexpectedly stiff reelection challenge from 30-year old Democratic attorney Cort VanOstran, who held her to a 51 percent to 47 percent win. VanOstran could run again, but Wagner won't be caught off-guard and there's no guarantee the political environment will be as good for Democrats as it was in 2018.

NC-02: George Holding (R) - Central: Raleigh suburbs, Harnett County

Lean Republican. Holding, who once prosecuted John Edwards, survived 51 percent to 46 percent over former state Rep. Linda Coleman. Coleman was one of the only underfunded Democratic challengers of the cycle, and Democrats believe Holding will be vulnerable in this Research Triangle start if their candidate can get an earlier start this time. Former Marine Lt. Col. Scott Cooper, now the director of a human rights non-profit, is considering.

NC-09: Vacant (R) - South: Charlotte suburbs, parts of Fayetteville

Toss Up. Democrat Dan McCready will have a serious financial head start in a do-over election still to be scheduled. A Republican will need at least 30 percent to avoid a primary runoff. Disgraced former GOP nominee Mark Harris endorsed Union County Commissioner Stony Rushing, but the self-styled "boss" won't clear the GOP field. Former state Sen. Tommmy Tucker and Marine veteran Matthew Ridenhour are contemplating bids.

NE-02: Don Bacon (R) - East: Omaha and suburbs

Lean Republican. Democrats believe they could have beaten Bacon had business-friendly former Rep. Brad Ashford been their nominee. Instead, he lost the primary to single-payer healthcare activist Kara Eastman, who lost 49 percent to 51 percent. Now Ashford's wife, attorney Ann Ferlic Ashford, has announced she's running. But first she'll have to get past Eastman, who is back for another round.

NY-27: Chris Collins (R) - West: suburbs of Buffalo, Rochester

Lean Republican. After initially seeking to be replaced on the ballot following his indictment for insider trading, Collins ultimately decided to run and beat Democrat Nate McMurray by less than half a percent. Collins's trial is set for next February, and this very Republican seat would only be competitive if he remains on the ballot. McMurray is gearing up to run again, but only raised $1.3 million last time and could be joined by others.

OH-01: Steve Chabot (R) - Southwest corner: Cincinnati, Warren County

Lean Republican. In a year when dozens of other Democratic campaigns caught fire, Democratic Aftab Pureval's campaign went up in smoke after allegedly using county campaign funds for the congressional race. Chabot held on, 51 percent to 47 percent. Democrats are eyeing a new candidate, either Hamilton County Commissioner Denise Drieahus (whose younger brother held the seat for a term) or state Rep. Brigid Kelly.

PA-01: Brian Fitzpatrick (R) - Southeast: Bucks County

Lean Republican. Democratic attorney Scott Wallace spent a massive $14 million, but the wealthy philanthropist and recent Maryland resident turned out to be a poor fit for Bucks County's blue-collar voters. Fitzpatrick held on 51 percent to 49 percent in a Clinton-won seat, an impressive feat in 2018. Navy veteran Rachel Reddick, who fell short in the 2018 primary, could run, and Democrats are eyeing another recruit with a military resume.

PA-10: Scott Perry (R) - Central: Harrisburg, York

Lean Republican. Democrats were thrilled when a new court-ordered map placed Perry, a Freedom Caucus member, in a much more competitive Harrisburg district. But he still hung on against Democratic pastor and Army veteran George Scott, 51 percent to 49 percent. The Harrisburg region is growing more metropolitan and Democrats hope Scott, who outspent Perry $2.1 million to $1.4 million, runs again.

TX-10: Michael McCaul (R) - Central: Austin and Houston suburbs

Lean Republican. McCaul, the former chair of the Homeland Security Committee, defeated underfunded Democratic prosecutor Mike Siegel by just four points in a race that was on no one's radar. Beto O'Rourke carried the 10th CD, owing to gargantuan turnout in its Travis County portion. Siegel is running again, but Democrats are hunting for someone new.

TX-21: Chip Roy (R) - South central: San Antonio and Austin suburbs

Lean Republican. The I-35 corridor is experiencing heavy Democratic vote growth, and Army veteran and tech entrepreneur Joseph Kopser held Roy, a former top aide to Sen. Ted Cruz, to a narrower-than-expected 50 percent to 48 percent victory. Kopser is currently developing a new app and hasn't indicated whether he'll run again, but Democratic recruiters may not feel like waiting on him.

TX-22: Pete Olson (R) - Houston southwest suburbs: Sugar Land

Lean Republican. This Sugar Land district, once held by Tom DeLay, is experiencing a surge in non-white professionals and isn't the reliable GOP bastion it used to be. President Trump took just 52 percent here in 2016 and Olson defeated Democratic former foreign service officer Sri Preston Kulkarni just 51 percent to 47 percent. Kulkarni is likely to run again and raise more than the $1.5 million he put together at the last minute in 2018.

TX-23: Will Hurd (R) - West: San Antonio and El Paso suburbs

Toss Up. Hurd's steadfast anti-wall stance and vocal criticism of President Trump have allowed the former CIA officer to survive in a 68 percent Hispanic seat that voted for Hillary Clinton. But his narrower-than-expected 926-vote margin over Democratic Air Force veteran Gina Ortiz Jones will keep him near the top of Democrats' target list. Ortiz Jones is expected to run again but may not clear the primary field. Hurd is in for another tough fight.

TX-24: Kenny Marchant (R) - Dallas/Ft. Worth suburbs: Grapevine, Irving

Toss Up. Not even Democratic operatives had heard of Jan McDowell, but the CPA came within three points of denying Marchant an eighth term despite spending just $88,000. How? The rapidly changing demographics of this Irving seat, and Beto O'Rourke, who carried it. Democrats will likely field a much more credible candidate in 2020. State Rep. Julie Johnson represents a good chunk of the 24th CD, but she just won her seat in 2018.

TX-31: John Carter (R) - Central: Round Rock, Temple, Killeen

Lean Republican. Carter, who turned 77 on Election Day 2018, eked out a 51 percent to 48 percent victory over Democratic former Air Force fighter pilot M.J. Hegar, who outspent him $5 million to $1.7 million. President Trump carried this seat by 13 points in 2016, but the northern Austin suburbs are rapidly changing. Democrats are courting Hegar to seek a rematch, but she could also opt to run for Senate. And, Carter could opt to retire.