I admit it. I'm a logistics geek. I like to know how systems work; I like to figure out how systems work; I like to make systems work. Systems like the Major League schedule. Back in the early 80's living in the Bay Area, I got an A's and a Giants pocket schedule every year so I could plan the games I wanted to attend. I also wanted to familiarize myself with who they played during the year. Each year, I noticed patterns in the schedules. Then toward the mid-80's, before the internet, I wrote to every team during the off season asking for their pocket schedules. This way I could plan trips to other ballparks, etc. I noticed patterns in all the schedules.
This brings me to the overall schedule. Until just a few years ago, a literal mom and pop team in somewhere like Connecticut, drafted up the schedule on their kitchen table. It's now done by a corporate firm with computers. I became most familiar with the 12 team NL scheduling format (1969-1992), so I'll write mostly about that. The schedule maker grouped teams together geographically for travel efficiency. The Giants would travel to, or host, groups of teams at a time, generally. The groups were broken into 1) SF, LA & SD; 2) CIN, HOU & ATL; 3) PIT, STL & CHI and 4) NY, PHI & MON. It made sense for teams flying out to the west coast to hit all the cities to save on travel, etc. The same was generally true of the AL schedule with 14 teams, although it was more complicated, as there were an odd number of teams in each division.
Each NL team played 18 games against division teams (roughly three 3-game series at home, and three on the road) and 12 against each team in the other division (roughly two 3-game series at home, and two on the road). The even number of teams made it easy to play against only your own division the last several weeks of the season, so the pennant races could be the focus. The above number of games against each team came to a total of 162. When the early 60's expansion took place, each team played each of the other 9 teams 18 times, 162 total. They kept a similar feel when expansion took place again in '69.
The season is 26 weeks long (half of 52 weeks in a year), and each week is generally divided into a weekday series (M, Tu, W or Tu, W, Th) and a weekend series (F, Sa & Su). Sometimes there are four game series, M-Th in the week or Th-Su or F-M over a weekend. There are generally 52 series slots over a 26 week season, with one taken for the All-Star break, leaving 51 series slots for regular season play. Now, the 10 team/162 game and the 12 team/two division/162 game schedules had (six series times nine other teams = 54) and (six series times five division teams = 30 plus four series times six teams = 24 for a total of 54) series to be played. The logistical problem was to cram 54 series into 51 slots. This was accomplished by use of the two-game series. In playing six games against a team, split a three-and-three game series set into a two-and-four game series set. Put two game series back-to-back in the weekday slot on Mon-Tues and Wed-Thurs, then the accompanying four game series elsewhere in the season. Do this three times, and 54 series can fit into 51 slots. Pretty clever.
The beauty of these older schedule formats is that every team plays other teams the same number of games. An even number of games at that, so that there are equal numbers of games at home and on the road. They played each other the same number of series. The schedules were both balanced and symmetrical. With the adaptation of 14 team leagues, odd numbers of teams in a division, the three division format with differing number of teams in each division, interleague play with certain "rivalry" matchups, and a 14 team AL and 16 team NL, today's MLB schedule is a complete nightmare. It makes little sense from a position of fairness and having a level playing field for all.
The schedule makers have also had to take other factors into consideration. Maximizing attendance with strategic matchups. Teams make requests of the schedule. Holidays. Etc. Opening Days are usually sellouts, so try not to schedule good drawing road teams like the Yankees for other teams' home openers. That would be a waste of a sellout. Bad drawing teams usually play more road openers. The Reds are baseball's oldest team, so they traditionally open at home. Schedule bad weather teams to open on the road. Canadian teams are on the road for US holidays and at home for Canadian holidays to maximize attendance. Interleague games are not as popular as baseball claims, so they are generally scheduled mostly on weekends during good weather when school is out to maximize attendance and make it look like a good idea. Local holidays, too, like scheduling the Red Sox at home for Patriot's Day. An example of team requests might be wanting a home game on an anniversary date of a great moment in that team's history. The Giants requested to be at home on Oct. 3, 2001 to celebrate the 50th anniversary of Bobby Thompson's Shot Heard 'Round the World - against the Dodgers no less. New ballparks, too. When the Giants built a new yard, they wanted to both close Candlestick and open PacBell/SBC/AT&T against their arch-rival Dodgers. Back when double-headers were a popular tool to increase attendance, the well-drawing Dodgers didn't need them, so they requested no double headers on their schedule.
So, overall the schedule is a major undertaking that has only increased in complexity over the decades. The logistic geek that I am, I'd love to be part of that operation. Personally, I'd like to see baseball address this monster and get back to some kind of symmetrical format. Now that I've bored you to tears, you deserve something special if you've read this whole post. Unless you like schedules like I do.