With the 2020 Census data now available, I drew a nonpartisan map for which I'd be able to justify each decision.
https://davesredistricting.org/join/74e0c458-f669-494a-980e-01ea3fb48f2eIf you want to follow along, here are the steps I took to arrive at this map:
1. Assign every county to a district or grouping of multiple districts
a. Group together metro areas (using Census CSA definitions) larger than 1 district
i. Metro Philadelphia (Berks, Bucks, Chester, Delaware, Montgomery, and Philadelphia) will contain 6 districts
ii. Metro Pittsburgh (Allegheny, Beaver, Butler, Fayette, Washington, and Westmoreland), plus Greene (which would otherwise be isolated), will contain 3 districts
iii. Metro Harrisburg (Adams, Cumberland, Dauphin, Lebanon, Perry, and York), plus Lancaster (which would otherwise be stuck between Metro Philadelphia and Metro Harrisburg, and is more culturally connected to the latter), will contain 2 districts
b. Starting from the corners of the state and moving inward, group remaining counties into roughly district-sized groups, while avoiding splitting metro areas
i. Carbon, Lehigh, and Northampton counties get a district (Lehigh Valley)
ii. Lackawanna, Luzerne, Monroe, and Wyoming counties get a district (Wyoming Valley)
iii. Armstrong, Clarion, Crawford, Erie, Forest, Lawrence, Mercer, Venango, and Warren counties get a district (NWPA)
iv. Bradford, Columbia, Lycoming, Montour, Northumberland, Pike, Schuylkill, Snyder, Sullivan, Susquehanna, Tioga, Union, and Wayne counties get a district (E. Central PA)
v. Blair, Cambria, Cameron, Centre, Clearfield, Clinton, Elk, Indiana, Jefferson, McKean, and Potter counties get a district (W. Central PA)
vi. Bedford, Franklin, Fulton, Huntingdon, Juniata, Mifflin, and Somerset counties get a district (smaller than the others because it will take on some population from the Metro Harrisburg grouping) (S. Central PA)
2. Shift population between districts or district groupings so that each has a whole number of population quotas
a. Metro Philadelphia has 57,790 more people than needed for 6 districts. The most exurban portion of Berks County will be moved to the Lehigh Valley district, the only neighboring district/grouping that’s short on population.
i. Shift whole municipalities. Albany, Greenwich, Lenhartsville, Windsor, Hamburg, Maxatawny, Kutztown, Lyons, Tilden, Perry, Shoemakersville, Richmond, Fleetwood, Longswamp, Topton, Maidencreek, and Upper Bern are shifted into the Lehigh Valley district. Metro Philadelphia now has 508 too many people.
ii. Split a precinct. Part of Ontelaunee is shifted into the Lehigh Valley district.
b. The Lehigh Valley district now has 45,180 more people than needed. The most exurban portion of Carbon County will be moved to the Wyoming Valley district, the only neighboring district/grouping that’s short on population.
i. Shift whole municipalities. Kidder, East Side, Penn Forest, Lehigh, Weatherly, Lausanne, Banks, Beaver Meadows, Packer, Jim Thorpe, Nesquehoning, Lansford, Summit Hill, Towamensing, Franklin, Parryville, and Weissport are shifted into the Wyoming Valley district. The Lehigh Valley district now has 2,216 too many people.
ii. Shift whole precincts. Lower Towamensing District North is shifted into the Wyoming Valley district. The Lehigh Valley district now has 467 too many people.
iii. Split a precinct. Part of Lower Towamensing District South is shifted into the Wyoming Valley district.
c. The Wyoming Valley district now has 16,206 more people than needed. To avoid splitting any more whole counties, part of Carbon County will be shifted into the E. Central PA district.
i. Shift whole municipalities. Summit Hill, Lansford, Nesquehoning, Packer, Banks, Beaver Meadows, and Weatherly are shifted into the E. Central PA district. The Wyoming Valley district now has 22 too few people.
ii. Split a precinct. Part of Banks is shifted back into the Wyoming Valley district.
d. Metro Pittsburgh has 46,731 more people than needed for 3 districts. The most exurban portion of Butler County will be moved to the NWPA district, which will make both the Metro Pittsburgh grouping and the NWPA district more compact.
i. Shift whole municipalities. Harrisville, Mercer, Marion, Venango, Cherry Valley, Eau Claire, Allegheny, Slippery Rock, Cherry, Washington, Parker, Bruin, Worth, West Liberty, Brady, Clay, West Sunbury, Concord, Fairview, Petrolia, Karns City, Muddycreek, Portersville, Franklin, Center, Oakland, Chicora, and Donegal are shifted into the NWPA district. Metro Pittsburgh now has 666 too many people.
ii. Split a precinct. Part of Prospect is shifted into the NWPA district.
e. The NWPA district now has 32,220 more people than needed. The most southeastern portion of Armstrong County will be moved to the W. Central PA district, because this area is geographically the furthest from the City of Erie which anchors the NWPA district.
i. Shift whole municipalities. Kiskiminetas, Apollo, North Apollo, Parks, South Bend, Burrell, Plumcreek, Elderton, Gilpin, Leechburg, Bethel, Manor, Manorville, Ford City, Ford Cliff, Kittanning Township, Rayburn, Valley, and Atwood are shifted into the W. Central PA district. The NWPA district now has 151 too many people.
ii. Split a precint. Part of Cadogan is shifted into the W. Central PA district.
f. The W. Central PA district now has 19,934 more people than needed. The most southeastern portion of Blair County will be moved to the S. Central PA district, the only neighboring district/grouping that’s short on population, to improve the compactness of that district.
i. Shift whole municipalities. North Woodbury, Martinsburg, Taylor, Roaring Spring, Huston, Woodbury, Williamsburg, Greenfield, and Freedom are shifted into the S. Central PA district. The W. Central PA district now has 233 too many people.
ii. Split a precinct. Part of Catharine is shifted into the S. Central PA district.
g. The E. Central PA district has 20,481 more people than needed. The most southwestern portion of Snyder County will be moved to the S. Central PA district, the only neighboring district/grouping that’s short on population, because this is the best option to retain the compactness of both districts.
i. Shift whole municipalities. McClure, West Beaver, Spring, West Perry, Beaver, Beavertown, Adams, Perry, Franklin, Middleburg, Center, Chapman, Union, Washington, and Freeburg are shifted into the S. Central PA district. The E. Central PA district now has 55 too few people.
ii. Split a precinct. Part of Union is shifted back into the E. Central PA district.
h. Metro Harrisburg has 318,513 more people than needed for 2 districts. That amount of population needs to be shifted into the S. Central PA district, the last remaining district grouping that is off on population.
i. Shift whole counties. Of the Metro Harrisburg counties that border the S. Central PA district, Adams and Perry are the most exurban, so they will be shifted first. Metro Harrisburg now has 168,819 too many people.
ii. Shift whole municipalities. The westernmost portion of Cumberland County will be shifted to the S. Central PA district, which will make both the Metro Harrisburg grouping and the S. Central PA district more compact. Southampton, Shippensburg, Hopewell, Newburg, Upper Mifflin, Lower Mifflin, North Newtown, South Newtown, Newville, Cooke, Penn, West Pennsboro, Upper Frankford, Lower Frankford, Dickinson, South Middleton, Mount Holly Springs, Carlisle, North Middleton, Middlesex, Monroe, Silver Spring, Mechanicsburg, and Hampden are shifted into the S. Central PA district. Metro Harrisburg now has 1,485 too few people.
iii. Split a precinct. Part of Hampden’s 4th precinct is shifted back into the Metro Harrisburg grouping.
i. The S. Central PA district now has the correct number of people.
3. Assign every county within the remaining groupings to a district or grouping of multiple districts
a. Metro Philadelphia
i. The City of Philadelphia will contain 2 districts
ii. Suburban Philadelphia (Bucks, Chester, Delaware, Montgomery, and a portion of Berks) gets 4 districts, and will take on some population from Philadelphia County
b. Metro Pittsburgh
i. Allegheny County will contain a district (Urban Pittsburgh)
ii. Fayette, Greene, Washington, and Westmoreland counties get a district (Exurban Pittsburgh)
iii. Beaver County and part of Butler County get a district, which will take on some population from Allegheny County (Suburban Pittsburgh)
c. Metro Harrisburg
i. Lancaster and Lebanon counties get a district (Lancaster-Lebanon)
ii. Dauphin and York counties and part of Cumberland County get a district (Harrisburg-York)
4. Shift population between districts or district groupings so that each has a whole number of population quotas
a. The City of Philadelphia has 74,067 more people than needed for 2 districts. The most suburban portion of Northeast Philadelphia will be moved to the Suburban Philadelphia grouping.
i. Shift whole wards. Ward 58 is shifted into the Suburban Philadelphia grouping. The City of Philadelphia now has 20,214 too many people.
ii. Shift whole precincts within a ward. Precincts 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 22, 23, 34, 38, and 41 of Ward 66 are shifted into the Suburban Philadelphia grouping. The City of Philadelphia now has 279 too many people.
iii. Split a precinct. Part of Precinct 10 of Ward 66 is shifted into the Suburban Philadelphia grouping.
b. Suburban Philadelphia now has the number of people needed for 4 districts.
c. The Exurban Pittsburgh district has 36,095 fewer people than needed. It will take on the westernmost portion of Beaver County.
i. Shift whole municipalities. Frankfort Springs, Hanover, Greene, Hookstown, Georgetown, Independence, Shippingport, Raccoon, Potter, Glasgow, Ohioville, Midland, Industry, Brighton, Vanport, Beaver, and Bridgewater are shifted into the Exurban Pittsburgh district, which now has 1,432 too few people.
ii. Split a precinct. Part of South Beaver is shifted into tbe Exurban Pittsburgh district.
d. The Suburban Pittsburgh district now has 485,717 too few people. It will take on the northernmost and westernmost suburban areas of Allegheny County.
i. Shift geographic areas of Allegheny County. The portion of Allegheny County north of the Ohio River, the Allegheny River, and the City of Pittsburgh is shifted into the Suburban Pittsburgh district, which now has 191,670 too few people.
ii. Shift whole municipalities. Crescent, Moon, Carnot-Moon, Coraopolis, Neville, Findlay, Clinton, Imperial, Enlow, North Fayette, Robinson, Pennsbury Village, Kennedy, Stowe, McKees Rocks, Oakdale, Noblestown, Sturgeon, McDonald, Thornburg, Rosslyn Farms, Crafton, Ingram, Carnegie, Collier, Rennerdale, South Fayette, Bridgeville, Heidelberg, Scott, and Upper St. Clair are shifted into the Suburban Pittsburgh district, which now has 2,913 too few people.
iii. Shift whole precincts. Green Tree Districts 1 and 2 are shifted into the Suburban Pittsburgh district, which now has 546 too few people.
iv. Split a precinct. Part of Green Tree District 3 is shifted into the Suburban Pittsburgh district.
e. The Urban Pittsburgh district now has the correct number of people.
f. The Harrisburg-York district has 68,632 too many people. The northernmost portion of Dauphin County will be shifted into the Lancaster-Lebanon district.
i. Shift whole municipalities. Rush, Jefferson, Jackson, Williams, Williamstown, Wiconisco, Lykens, Gratz, Pillow, Washington, Elizabethville, Mifflin, Berrysburg, Upper Paxton, Millersburg, Lenkerville, Wayne, Halifax Township, Halifax Borough, Reed, Middle Paxton, Dauphin, East Hanover, West Hanover, and Skyline View are shifted into the Lancaster-Lebanon district. The Harrisburg-York district now has 3,672 too many people.
ii. Shift whole precincts. Derry Precincts 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, and 13 are shifted into the Lancaster-Lebanon district. The Harrisburg-York district now has 389 too many people.
iii. Split a precinct. Part of Derry Precinct 10 is shifted into the Lancaster-Lebanon district.
g. The Lancaster-Lebanon district now has the correct number of people.
5. Assign every county within the remaining groupings to a district or grouping of multiple districts, and for any grouping contained within a county, assign every ward to a district
a. City of Philadelphia
i. All wards west of Broad Street get assigned to a West Philadelphia district
ii. All wards east of Broad Street get assigned to an East Philadelphia district
b. Suburban Philadelphia
i. Bucks County gets a district, and will also be assigned the portion of Philadelphia County in the Suburban Philadelphia grouping
ii. Montgomery County gets a district
iii. Delaware County gets a district
iv. Chester County gets a district, and will also be assigned the portion of Berks County in the Suburban Philadelphia grouping
6. Shift population between districts so that each has the correct population
a. The West Philadelphia district has 20,867 too few people. It will take on population from the southernmost portion of the East Philadelphia district.
i. Shift whole precincts. Precincts 1, 2, 4, 11, 12, 13, 14, 16, 17, 18, 22, 23, 24, 25, 29, 31, 33, 36, 39, 41, 43, and 44 of Ward 39 are shifted into the West Philadelphia district, which now has 96 too few people.
ii. Split a precinct. Part of Precinct 40 of Ward 39 is shifted into the West Philadelphia district.
b. The East Philadelphia district now has the correct number of people.
c. The Bucks County district has 44,265 too few people. It will take on the easternmost portion of Montgomery County.
i. Shift whole municipalities. Lower Moreland, Bryn Athyn, Upper Moreland, and Hatboro are shifted into the Bucks County district, which now has 5,278 too many people.
ii. Shift whole precincts. Upper Moreland District 2, Divisions 1 and 2 back to the Montgomery County district. The Bucks County district now has 1,211 too many people.
iii. Split a precinct. Part of Upper Moreland District 4, Division 1 is shifted back to the Montgomery County district.
d. The Montgomery County district now has 47,423 too many people. The southernmost portion of Montgomery County will be shifted into the Delaware County district.
i. Shift whole wards. Lower Merion wards 3, 4, 5, 7, 8, 9, 10, 12, 13, and 14 are shifted into the Delaware County district. The Montgomery County district now has 1,287 too many people.
ii. Split a precinct. Part of Lower Merion Ward 6, Precinct 1 is shifted into the Delaware County district.
e. The Delaware County district now has 140,611 too few people. It will take on
i. Shift whole municipalities. Birmingham, Thornbury, Pennsbury, Westtown, Tredyffrin, Easttown, Willistown, Malvern, East Goshen, West Goshen, and West Chester are shifted into the Delaware County district, which now has 598 too few people.
ii. Split a precinct. Part of Pocopson is shifted into the Delaware County district.
f. The Chester County district now has the correct number of people.