You can add leagues, big or small, to Sports Club Stats. It's free. It's easy. Just email import@sportsclubstats.com the: structure schedule and rules In a few minutes you'll get back a link to the league. Play around, have fun, you won't break anything. I look forward to seeing what you create. Info about the various settings: https://docs.google.com/document/d/1-UneDNk6tkOrc_B-WBnGnc5KGiy2kttXC2fW8dR7QzM/edit?hl=en For example, here is what created this league: LeagueBegin League: CFL (ID: cfl) (Sort: Lottery) (Playoffs: 6) Division: East (ID: d152) (Sort: Div) (Playoffs: 2) Team: Hamilton Tiger Cats (Hamilton) (ID: t1100) Team: Montreal Alouettes (Montreal) (ID: t1101) Team: Ottawa RedBlacks (Ottawa) (ID: t1bna) Team: Toronto Argonauts (Toronto) (ID: t1103) Division: West (ID: d153) (Sort: Div) (Playoffs: 2) Team: B. C. Lions (BC) (ID: t1zx) Team: Calgary Stampeders (Calgary) (ID: t1zy) Team: Edmonton Elks (Edmonton) (ID: t1zz) Team: Saskatchewan Roughriders (Saskatchewan) (ID: t1102) Team: Winnipeg Blue Bombers (Winnipeg) (ID: t1104) Kind: pro Sport: football Gender: male Country: Canada State: Level: A Season: 2023 (current: True) Author: Kyle Hird Note: The CFL playoffs begin in early November with the top team from each division having an automatic home berth in the division final, and a bye week during the division semifinal. The second-place team from each division hosts the third-place team in the division semifinal, unless a fourth-place team from one division finishes with a better record than a third place team in the other. (This provision is known as the crossover rule.)
LotteryNote: LeagueEnd SortBegin # From Section 1 Paragraph 8 of CFL Bylaws # Note that if there is a tie in goal aggregate, sorting by goal ratio is equivalent to sorting by least goals conceded. Div: Points, Wins, IfSomeTiesBrokenReturnHere, Average Wins HeadToHead, GoalsDelta HeadToHead, Least GoalsAgainst HeadToHead, Average Wins SameParent, GoalsDelta SameParent, Least GoalsAgainst SameParent, GoalsDelta, Least GoalsAgainst, DrawLots # This is different from how the crossover rule is worded, but it produces the correct result - because there are two divisions and two third-place spots affected by the crossover, sorting on points will work unless the 4th-place team in one division ties with the 3rd-place team in the other; in this case Least PositionInParent ensures that the original 3rd-place team retains its spot. Calling Div at the end quashes "meaningless" ties between two teams of equal seed in opposite divisions. Lottery: MoveClinchedToFrontBySeed, Points, Least PositionInParent, Call Div SortEnd RulesBegin PointsForWinInRegulation: 2 PointsForWinInOvertime: 2 PointsForWinInShootout: 2 PointsForLossInRegulation: 0 PointsForLossInOvertime: 0 PointsForLossInShootout: 0 PointsForTie: 1 PercentOfGamesThatEndInTie: 0.005 PercentOfGamesThatEndInOvertimeWin: 0 PercentOfGamesThatEndInShootoutWin: 0 HomeFieldAdvantage: 0.528 WeightType: Pythagorean WeightExponent: 2.37 WhatDoYouCallATie: tie WhatDoYouCallLottery: lottery WhatDoYouCallPromoted: promoted Promote: 0 PromotePlus: 0 PromotePlusPercent: 0 WhatDoYouCallDemoted: relegated Demote: 0 DemotePlus: 0 DemotePlusPercent: 0 RulesEnd GamesBegin TeamListedFirst: away 6/8/23 9:00 AM BC 25-15 Calgary (ID: g114xva) 6/9/23 8:30 AM Hamilton 31-42 Winnipeg (ID: g114xvb) 6/10/23 7:00 AM Ottawa 12-19 Montreal (ID: g114xvc) 6/11/23 7:00 AM Saskatchewan 17-13 Edmonton (ID: g114xvd) 6/15/23 7:30 AM Calgary 26-15 Ottawa (ID: g114xve) 6/16/23 9:00 AM Winnipeg 45-27 Saskatchewan (ID: g114xvf) 6/17/23 7:00 AM Edmonton 0-22 BC (ID: g114xvg) 6/18/23 7:00 AM Hamilton 14-32 Toronto (ID: g114xvh) 6/22/23 8:30 AM BC 30-6 Winnipeg (ID: g114xvi) 6/23/23 7:30 AM Montreal 38-12 Hamilton (ID: g114xvj) 6/24/23 7:00 AM Saskatchewan 29-26 (ot) Calgary (ID: g114xvk) 6/25/23 7:00 AM Toronto 43-31 Edmonton (ID: g114xvm) 6/30/23 7:30 AM Edmonton 7-26 Ottawa (ID: g114xvn) 7/1/23 7:00 AM Winnipeg 17-3 Montreal (ID: g114xvp) 7/3/23 7:00 AM BC 24-45 Toronto (ID: g114xvq) 7/6/23 9:00 AM Edmonton 11-12 Saskatchewan (ID: g114xvr) 7/7/23 8:30 AM Calgary 11-24 Winnipeg (ID: g114xvs) 7/8/23 7:00 AM Ottawa 13-21 Hamilton (ID: g114xvt) 7/9/23 7:00 AM Montreal 19-35 BC (ID: g114xvu) 7/13/23 9:00 AM Hamilton 37-29 Edmonton (ID: g114xvv) 7/14/23 7:30 AM Toronto 35-27 Montreal (ID: g114xvw) 7/15/23 4:00 AM Winnipeg 28-31 (ot) Ottawa (ID: g114xvx) 7/15/23 7:00 AM Calgary 33-31 Saskatchewan (ID: g114xvy) 7/20/23 8:30 AM Edmonton 14-28 Winnipeg (ID: g114xvz) 7/21/23 7:30 AM Toronto 31-15 Hamilton (ID: g114xw0) 7/22/23 7:00 AM Saskatchewan 9-19 BC (ID: g114xw1) 7/23/23 7:00 AM Ottawa 43-41 (ot) Calgary (ID: g114xw2) 7/28/23 7:30 AM Hamilton 16-12 Ottawa (ID: g114xw3) 7/29/23 4:00 AM Saskatchewan 13-31 Toronto (ID: g114xw4) 7/29/23 7:00 AM BC 27-0 Edmonton (ID: g114xw5) 7/30/23 7:00 AM Calgary 18-25 Montreal (ID: g114xw6) 8/3/23 8:30 AM BC 14-50 Winnipeg (ID: g114xw7) 8/4/23 9:00 AM Toronto 7-20 Calgary (ID: g114xw8) 8/5/23 7:00 AM Montreal 27-14 Hamilton (ID: g114xw9) 8/6/23 7:00 AM Ottawa 24-26 Saskatchewan (ID: g114xwa) 8/10/23 9:00 AM Winnipeg 38-29 Edmonton (ID: g114xwb) 8/11/23 7:30 AM Saskatchewan 12-41 Montreal (ID: g114xwc) 8/12/23 7:00 AM Calgary 9-37 BC (ID: g114xwd) 8/13/23 7:00 AM Ottawa 31-44 Toronto (ID: g114xwe) 8/17/23 7:30 AM Edmonton 24-10 Hamilton (ID: g114xwf) 8/18/23 9:00 AM Winnipeg 19-18 Calgary (ID: g114xwg) 8/19/23 7:00 AM Montreal 25-24 Ottawa (ID: g114xwh) 8/20/23 7:00 AM BC 29-34 Saskatchewan (ID: g114xwi) 8/24/23 8:30 AM Montreal 17-47 Winnipeg (ID: g114xwj) 8/25/23 7:30 AM Calgary 31-39 Toronto (ID: g114xwk) 8/26/23 7:00 AM Hamilton 30-13 BC (ID: g114xwm) 8/27/23 7:00 AM Ottawa 20-30 Edmonton (ID: g114xwn) 9/2/23 7:00 AM BC 34-25 Montreal (ID: g114xwp) 9/3/23 7:00 AM Winnipeg 30-32 (ot) Saskatchewan (ID: g114xwq) 9/4/23 3:30 AM Toronto 41-28 Hamilton (ID: g114xwr) 9/4/23 7:00 AM Edmonton 31-35 Calgary (ID: g114xws) 9/8/23 7:30 AM Hamilton 27-24 Ottawa (ID: g114xwt) 9/9/23 1:00 AM Montreal 10-39 Toronto (ID: g114xwu) 9/9/23 4:00 AM Saskatchewan 6-51 Winnipeg (ID: g114xwv) 9/9/23 7:00 AM Calgary 23-25 Edmonton (ID: g114xww) 9/15/23 7:00 AM Toronto 23-20 Montreal (ID: g114xwx) 9/15/23 9:30 AM Edmonton 36-27 Saskatchewan (ID: g114xwy) 9/16/23 4:00 AM Winnipeg 23-29 Hamilton (ID: g114xwz) 9/16/23 7:00 AM Ottawa 37-41 BC (ID: g114xx0) 9/22/23 7:00 AM Saskatchewan 28-36 Ottawa (ID: g114xx1) 9/22/23 9:30 AM BC 37-29 Edmonton (ID: g114xx2) 9/23/23 4:00 AM Montreal 28-11 Calgary (ID: g114xx3) 9/23/23 7:00 AM Hamilton 14-29 Toronto (ID: g114xx4) 9/29/23 8:00 AM Toronto 21-31 Winnipeg (ID: g114xx5) 9/29/23 10:30 AM Saskatchewan 26-33 BC (ID: g114xx6) 9/30/23 4:00 AM Montreal 32-15 Ottawa (ID: g114xx7) 9/30/23 7:00 AM Calgary 15-22 Hamilton (ID: g114xx8) 10/6/23 7:00 AM Edmonton 12-35 Toronto (ID: g114xx9) 10/6/23 10:00 AM Winnipeg 34-26 (ot) BC (ID: g114xxa) 10/7/23 7:00 AM Hamilton 38-13 Saskatchewan (ID: g114xxb) 10/9/23 1:00 AM Ottawa 3-29 Montreal (ID: g114xxc) 10/13/23 7:00 AM BC 33-30 Hamilton (ID: g114xxd) 10/13/23 9:30 AM Saskatchewan 19-26 Calgary (ID: g114xxe) 10/14/23 4:00 AM Montreal 35-21 Edmonton (ID: g114xxf) 10/14/23 7:00 AM Ottawa 27-40 Toronto (ID: g114xxg) 10/20/23 10:00 AM Calgary 41-16 BC (ID: g114xxh) 10/21/23 4:00 AM Toronto 29-26 Saskatchewan (ID: g114xxi) 10/21/23 7:00 AM Edmonton 25-45 Winnipeg (ID: g114xxj) 10/27/23 9:00 AM Winnipeg 36-13 Calgary (ID: g114xxk) 10/28/23 4:00 AM Hamilton 20-22 Montreal (ID: g114xxm) 10/28/23 7:00 AM Toronto 27-22 Ottawa (ID: g114xxn) GamesEnd