custom_header <- glue::glue("<div style='display: flex; justify-content: space-between; align-items: center;'> <div> <img src='https://a.espncdn.com/combiner/i?img=/i/teamlogos/ncaa_conf/500/acc.png' style='height: 105px; width: auto; vertical-align: middle;'> </div> <div style='flex-grow:1; margin-left: 30px; margin-right: 30px'> <span style='display: block; font-weight: bold; text-align: center; font-size: 24px;'>ACC standings through October 26 games</span> <span style='font-size: 14px; font-weight: normal; display: block; text-align: center;'>Sorted by overall conference win percentage.<br> Table includes opponent win percentages and point differentials in league play.</span> </div> <div> <img src='https://a.espncdn.com/combiner/i?img=/redesign/assets/img/icons/ESPN-icon-football-college.png' style='height: 45px; width: auto; vertical-align: middle;'> </div> </div> <br>")# add in new column for opponents opp_teams <-c(# UGA plays Alabama, Texas, Ole Miss, Tennessee "<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/333.png' style='height: 25px; width: auto; vertical-align: -30%;'><img src='http://a.espncdn.com/i/teamlogos/ncaa/500/251.png' style='height: 25px; width: auto; vertical-align: -30%;'><img src='http://a.espncdn.com/i/teamlogos/ncaa/500/145.png' style='height: 25px; width: auto; vertical-align: -30%;'><img src='http://a.espncdn.com/i/teamlogos/ncaa/500/2633.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Oregon plays Ohio State and Boise State"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/68.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/194.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Miami plays no one!" ",# BYU plays SMU and Kansas St"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/2567.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/2306.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Ohio State plays Oregon, Penn State, Indiana"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/2483.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/213.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/84.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Penn State plays Ohio State"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/194.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Indiana plays Ohio State"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/194.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Tennessee plays Alabama, UGA "<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/333.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/61.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Texas plays UGA and Texas A&M"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/61.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/245.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Alabama plays UGA, Tenn, LSU"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/61.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/2633.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/99.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Texas A&M plays Notre Dame, LSU, Texas"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/87.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/99.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/251.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# LSU plays Ole Miss, Texas A&M, Alabama"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/145.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/245.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/333.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# SMU plays BYU and Pitt"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/252.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/221.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Pitt plays SMU "<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/2567.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Notre Dame plays Texas A&M and Army"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/245.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/349.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Boise State plays Oregon, UNLV, Washington State"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/2483.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/265.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/2439.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Iowa St plays Kansas St"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/2306.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Ole Miss plays LSU, UGA"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/99.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/61.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Kansas St plays BYU, Colorado, Iowa State"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/252.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/38.png' style='height: 25px; width: auto; vertical-align: -30%;'> <img src='http://a.espncdn.com/i/teamlogos/ncaa/500/66.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Wash St plays Boise State"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/68.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Army plays Notre Dame"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/87.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Colorado plays Kansas St"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/2306.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# Tulane plays Kansas St"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/2306.png' style='height: 25px; width: auto; vertical-align: -30%;'>",# UNLV plays Boise Sate"<img src='http://a.espncdn.com/i/teamlogos/ncaa/500/68.png' style='height: 25px; width: auto; vertical-align: -30%;'>")sor_fei_comp <- fei_espn |> dplyr::select(conf, team_name, record, sor, fpi_ptile, fei_resume, fei_resume_rank, fei_ptile) |> cbbplotR::gt_cbb_teams(team_name, team_name) |> dplyr::arrange(sor, fei_resume_rank) |> dplyr::mutate(opp = opp_teams) |> dplyr::group_by(conf) |> gt::gt() |> gtUtils::gt_theme_gtutils() |> gt::fmt_markdown(team_name) |> gt::fmt_markdown(opp) |> gt::cols_align(columns =c(team_name, opp), align ="left") |> gtExtras::gt_merge_stack(col1 ="fei_resume_rank",col2 ="fei_resume", ) |> gtUtils::gt_color_pills(fpi_ptile,domain =c(0.6, 1), format_type ="percent", digits =1,palette =c("#FF4500", "#ADFF2F", "#008000") ) |> gtUtils::gt_color_pills(fei_ptile,domain =c(0.6, 1), format_type ="percent", digits =1,palette =c("#FF4500", "#ADFF2F", "#008000") ) |> gtUtils::gt_column_subheaders(sor =list(heading ="SOR", subtitle ="Rank"),fpi_ptile =list(heading ="FPI", subtitle ="% Tile"),fei_resume_rank =list(heading ="Résumé", subtitle ="Rank"),fei_ptile =list(heading ="Rating", subtitle ="% Tile"),opp =list(heading ="Opponents", subtitle ="Common"),heading_color ="black",subtitle_color ="gray" ) |> gt::cols_label(team_name ="",record ="W-L" ) |> gt::tab_style(style =list( gt::cell_text(weight ="bold") ),locations = gt::cells_body(columns = sor, ) ) |> gt::tab_spanner(columns =c(sor, fpi_ptile),label = gt::html("ESPN") ) |> gt::tab_spanner(columns =c(fei_resume_rank, fei_resume, fei_ptile),label = gt::html("FEI") ) |> gtExtras::gt_add_divider(columns =c(record, fpi_ptile, fei_ptile),sides ="right",color ="black") |> gt::tab_header(title ="2024 College Football Playoff Résumé Comparison",subtitle ="Shows the 24 teams with at least a 10% chance or greater to make the 12-team playoff according to ESPN. Table compares résumé metrics from ESPN.com and bcftoys.com (FEI).") |> gt::tab_source_note(source_note = gt::html("<hr>Data from {cfbfastR} and theme for {gtUtils}<br> SOR is from ESPN and it stands for strength of record. This metric reflects the chance that an average Top 25 team would have the team's record or better, given the team's schedule.<br> FEI résumé uses GWD or 'good' team win differential as teams that are one standard deviation above average, showing the difference between actual wins and strength of schedule.<br> Notre Dame and Washington State are not eligible to play in a conference championship game. <hr><b>Table by Chris at Bless your chart | November 4, 2024</b>" ) ) |> gt::tab_style(locations = gt::cells_column_spanners(),style = gt::cell_text(font = gt::google_font("Signika Negative"),weight =850,size = gt::px(15) ) ) |> gt::tab_style(locations = gt::cells_row_groups(),style =list( gt::cell_text(font = gt::google_font("Signika Negative"),weight =850,size = gt::px(16),color ="black",align ="left" ), gt::cell_fill(color ="#C5C5FF" ) ) ) |> gt::tab_style(locations = gt::cells_source_notes(),style = gt::cell_text(font = gt::google_font("Signika Negative"),size = gt::px(11.5),weight =250 ) ) |> gt::tab_style(style =list( gt::cell_text(font = gt::google_font("Signika Negative") ) ),locations = gt::cells_body(columns = team_name ) ) |> gt::tab_options(table.width = gt::px(650))gtUtils::gt_save_crop( sor_fei_comp,file ="sor_fei_comp.png",whitespace =40,bg ="#FFFDF5")sor_fei_comp
2024 College Football Playoff Résumé Comparison
Shows the 24 teams with at least a 10% chance or greater to make the 12-team playoff according to ESPN. Table compares résumé metrics from ESPN.com and bcftoys.com (FEI).
W-L
ESPN
FEI
Opponents Common
SOR Rank
FPI % Tile
Résumé Rank
Rating % Tile
SEC
Georgia
7-1
1
97.7%
2
2.38
98.5%
Tennessee
7-1
8
94.7%
7
1.35
92.5%
Texas
7-1
9
100.0%
12
1.02
97.0%
Alabama
6-2
10
98.5%
9
1.34
96.2%
Texas A&M
7-2
11
89.5%
10
1.22
86.5%
LSU
6-2
12
91.7%
11
1.08
91.7%
Mississippi
7-2
18
96.2%
19
0.42
97.7%
Big Ten
Oregon
9-0
2
95.5%
1
2.61
99.2%
Ohio St.
7-1
5
99.2%
4
1.87
100.0%
Penn St.
7-1
6
92.5%
6
1.6
94.0%
Indiana
9-0
7
93.2%
8
1.35
95.5%
ACC
Miami FL
9-0
3
94.0%
3
2.01
94.0%
SMU
8-1
13
88.7%
15
0.78
85.0%
Pittsburgh
7-1
14
74.4%
13
0.89
66.2%
Big 12
BYU
8-0
4
79.7%
5
1.81
85.7%
Iowa St.
7-1
17
85.0%
14
0.83
88.7%
Kansas St.
7-2
19
84.2%
26
-0.03
82.0%
Colorado
6-2
26
82.7%
28
-0.13
77.4%
N/A
Notre Dame
7-1
15
97.0%
17
0.63
93.2%
Washington St.
7-1
20
64.7%
20
0.41
66.9%
Mountain West
Boise St.
7-1
16
86.5%
18
0.62
91.0%
UNLV
6-2
35
69.2%
36
-0.66
69.2%
American
Army
8-0
25
61.7%
24
0.07
81.2%
Tulane
7-2
34
82.7%
41
-0.92
71.4%
Data from {cfbfastR} and theme for {gtUtils}
SOR is from ESPN and it stands for strength of record. This metric reflects the chance that an average Top 25 team would have the team's record or better, given the team's schedule.
FEI résumé uses GWD or 'good' team win differential as teams that are one standard deviation above average, showing the difference between actual wins and strength of schedule.
Notre Dame and Washington State are not eligible to play in a conference championship game.
Table by Chris at Bless your chart | November 4, 2024