10 “intrigued” graphs from ‘Bama vs. East Carolina


Welcome back, folks
Roll Tide! In some ways, it was a long offseason coming off of an absolutely sour Rose Bowl. On the other hand, it never ceases to surprise me when one more Week 1 has already appeared! Summer is gone, football is here.
For anyone new here: the “Graphing” series is a football analytics column based on the SP+ system. Basically, we try to look beyond the scoreboard, the highlights, and box score results — there’s plenty of good writing already on those, results, personnel, etc. — and instead try to glean more insight as to “measured team performance” across all downs.
To filch from my own writeup at the beginning of last season (albeit under better Week 1 circumstances):
Most of you know the drill here, but feel free to drop in any comments if you have questions about the metrics. As a brief reminder, success rate (SR) — based on Bill Connelly’s SP+ analytics system — is supposed to measure whether an individual play was successful, that is:
– A first down gains 50% of needed yardage
– A second down gains 70% of needed yardage
– A third or fourth down gains 100% of the needed yardage to get a first down or score
And Explosiveness Rate (XR), is the percentage of plays that gain 15 yards or more. You can also use the little drop-down on each of the chart embeds to see a brief explanation of metrics. Fancy stuff.
Now, onto the game
I mean, sure, I’m coming out of this game much happier than after that debacle against Florida State to open last season. (Though, per my article, it really was an odd game where the score wasn’t totally indicative of play by play performance!). With big wins like this, I have the privilege of analyzing a game that … doesn’t need all that much analysis:
body {
font-family: -apple-system, BlinkMacSystemFont, ‘Segoe UI’, ‘Roboto’, sans-serif;
margin: 0;
padding: 0;
background: #f8fafc;
}
.embed-container {
background: white;
border-radius: 12px;
border: 1px solid #e5e5e5;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
overflow: hidden;
max-width: 800px;
margin: 0 auto;
padding: 0;
}
.header {
padding: 18px 24px 14px;
border-bottom: 1px solid #e5e5e5;
background: white;
}
.title {
font-size: 18px;
font-weight: 600;
color: #171717;
margin: 0;
}
.subtitle {
font-size: 11px;
font-weight: 400;
color: #737373;
margin: 4px 0 0 0;
}
.table-wrapper {
padding: 0;
}
table {
min-width: 100%;
table-layout: fixed;
border-collapse: collapse;
}
.col-stat { width: auto; }
.col-team { width: 140px; }
thead tr {
background-color: #525252;
color: white;
}
th {
padding: 12px 16px;
text-align: left;
font-size: 14px;
font-weight: 600;
border-bottom: 4px solid #475569;
text-align: center;
}
th.stat-header {
text-align: left;
}
tbody tr {
border-bottom: 1px solid #e5e5e5;
}
.bg-white {
background-color: #ffffff;
}
.bg-neutral-50 {
background-color: #fafafa;
}
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.text-sm { font-size: 0.875rem; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.text-neutral-900 { color: #171717; }
.text-center { text-align: center; }
.embed-footer {
border-top: 1px solid #e5e5e5;
font-size: 12px;
color: #737373;
}
.embed-footer-top {
display: flex;
justify-content: center;
align-items: center;
padding: 12px 16px;
}
.embed-footer-link {
color: #737373;
text-decoration: none;
font-weight: 500;
}
.embed-footer-link:hover {
color: #525252;
text-decoration: underline;
}
@media (max-width: 640px) {
.header { padding: 12px 16px; }
th, td { padding: 8px 12px; }
.title { font-size: 16px; }
.embed-footer-top { padding: 8px 12px; }
.col-team { width: 80px; }
th, td { font-size: 13px; }
}
Box Score
Alabama vs. East Carolina • Sep 5, 2026
| Stats | Alabama | East Carolina |
|---|---|---|
| Points | 48 | 10 |
| Game Excitement | 3.4 | 3.4 |
| Total yards | 487 | 162 |
| Rush yards | 227 | 2 |
| Rush attempts | 49 | 22 |
| Yards per rush | 4.6 | 0.1 |
| Pass yards | 260 | 160 |
| Pass attempts | 19-32 | 11-19 |
| Yards per pass | 8.1 | 8.4 |
| 1st downs | 28 | 5 |
| 3rd down eff | 8-15 | 0-9 |
| 4th down eff | 1-1 | 0-0 |
| Explosiveness | 1.11 | 1.55 |
| Turnovers | 1 | 1 |
| Tackles | 21 | 37 |
| Sacks | 3 | 1 |
| Penalties-Yds | 6-29 | 7-61 |
| Possession | 38:53 | 21:07 |
In many ways, a blowout is a blowout: one team’s got most of the points and yards. Roll Tide! But it’s interesting that we get some real “road grader” vibes from these numbers, too: >200 rushing yards, lots of 1st downs, high time of possession, and low explosiveness (1.11). That speaks of a team just grinding it out and racking up points the ol’ fashioned way. Fine by me!
So let’s talk about #RTDB
Running the dang ball is an evergreen topic around these parts. Don’t mind that Heisman-winning Bama QB or the Heisman-winning WR in Bama’s recent past: this is a team and a fanbase that would prefer thank you very much to #RTDB. So let’s skip ahead to the good part.
Here’s a look at Alabama’s rushing success (FBS opponents only) from 2025:
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 {
font-family: -apple-system, BlinkMacSystemFont, ‘Segoe UI’, ‘Roboto’, sans-serif;
margin: 0;
padding: 0;
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .chart-container {
background: white;
border-radius: 12px;
border: 1px solid #e5e5e5;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
overflow: hidden;
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .chart-header {
padding: 18px 24px 14px;
border-bottom: 1px solid #e5e5e5;
background: white;
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .chart-title {
font-size: 18px;
font-weight: 600;
color: #171717;
margin: 0;
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .chart-subtitle {
font-size: 11px;
font-weight: 400;
color: #737373;
margin: 4px 0 0 0;
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .chart-content {
padding: 20px 24px 24px !important;
height: 325px;
}
@media (max-width: 640px) {
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .chart-content {
padding: 12px 16px 20px !important;
height: 280px !important;
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .chart-header {
padding: 12px 16px 12px !important;
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .embed-footer-top {
padding: 8px 12px !important;
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .data-definitions {
padding: 12px !important;
}
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .embed-footer {
border-top: 1px solid #e5e5e5;
font-size: 12px;
color: #737373;
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .embed-footer-top {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 16px;
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .embed-footer-link {
color: #737373;
text-decoration: none;
font-weight: 500;
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .embed-footer-link:hover {
color: #525252;
text-decoration: underline;
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .data-definitions-toggle {
background: none;
border: none;
color: #737373;
font-size: 12px;
font-weight: 500;
cursor: pointer;
display: flex;
align-items: center;
gap: 4px;
padding: 0;
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .data-definitions-toggle:hover {
color: #525252;
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .caret {
transition: transform 0.2s ease;
font-size: 10px;
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .caret.expanded {
transform: rotate(180deg);
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .data-definitions {
display: none;
padding: 16px;
background: #fafafa;
border-top: 1px solid #e5e5e5;
font-size: 12px;
line-height: 1.4;
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .data-definitions.expanded {
display: block;
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .data-definitions ul {
margin: 0;
padding-left: 0;
list-style: none;
}
.cfb-chart-embed-cfb-chart-1788734528091-ozb5yus54 .data-definitions li {
margin-bottom: 4px;
}
SR and XR by Play Type (each game)
Alabama – 2025 Season (14 games)
- Based roughly on the SP+ analytic system
- Successful play: Gains enough needed yards (50% 1st down, 70% on 2nd, 100% on 3rd/4th)
- Success Rate (SR): Percentage of plays that were successful
- Explosiveness Rate (XR): Percentage of plays gaining 15+ yards
- Per-Game Trends: Each point represents a single game
- X-Axis: Opponent names (@ = away game, * = postseason)
// Toggle data definitions accordion
function toggleDefinitions_cfb_chart_1788734528091_ozb5yus54() {
const definitions = document.getElementById(‘dataDefinitions_cfb-chart-1788734528091-ozb5yus54’);
const caret = document.getElementById(‘caret_cfb-chart-1788734528091-ozb5yus54’);
if (definitions.classList.contains(‘expanded’)) {
definitions.classList.remove(‘expanded’);
caret.classList.remove(‘expanded’);
} else {
definitions.classList.add(‘expanded’);
caret.classList.add(‘expanded’);
}
}
// Initialize chart
(function() {
‘use strict’;
let retryCount = 0;
const maxRetries = 50;
function showError(message) {
const canvas = document.getElementById(‘cfb-chart-1788734528091-ozb5yus54’);
if (canvas && canvas.parentNode) {
canvas.parentNode.innerHTML = ‘
‘;
}
}
function initChart() {
retryCount++;
if (typeof Chart === ‘undefined’) {
if (retryCount >= maxRetries) {
showError(‘Chart library failed to load. Please refresh the page.’);
return;
}
setTimeout(initChart, 100);
return;
}
if (typeof ChartDataLabels === ‘undefined’) {
if (retryCount >= maxRetries) {
showError(‘Chart plugin failed to load. Please refresh the page.’);
return;
}
setTimeout(initChart, 100);
return;
}
const canvas = document.getElementById(‘cfb-chart-1788734528091-ozb5yus54’);
if (!canvas) {
console.warn(‘Canvas element not found yet, retrying…’);
setTimeout(initChart, 100);
return;
}
if (canvas.chartInstance) {
return;
}
try {
Chart.register(ChartDataLabels);
const chartData = {
“labels”: [
“@ Florida State”,
“vs UL Monroe”,
“vs Wisconsin”,
“@ Georgia”,
“vs Vanderbilt”,
“@ Missouri”,
“vs Tennessee”,
“@ South Carolina”,
“vs LSU”,
“vs Oklahoma”,
“@ Auburn”,
“vs Georgia”,
“@ Oklahoma*”,
“@ Indiana*”
],
“datasets”: [
{
“type”: “line”,
“label”: “NCAA Avg SR”,
“data”: [
42,
42,
42,
42,
42,
42,
42,
42,
42,
42,
42,
42,
42,
42
],
“backgroundColor”: “rgba(0,0,0,0.03)”,
“borderColor”: “transparent”,
“pointRadius”: 0,
“fill”: “origin”,
“tension”: 0,
“datalabels”: {
“display”: false
},
“order”: 10
},
{
“label”: “Alabama Rush SR”,
“data”: [
38.46153846153847,
47.22222222222222,
38.095238095238095,
29.72972972972973,
50,
35,
48.38709677419355,
38.095238095238095,
28.000000000000004,
44.827586206896555,
41.17647058823529,
23.076923076923077,
23.809523809523807,
23.076923076923077
],
“borderColor”: “rgba(101, 0, 20, 0.8)”,
“backgroundColor”: “transparent”,
“borderWidth”: 2.5,
“pointRadius”: 3.5,
“pointStyle”: “circle”,
“tension”: 0.15,
“datalabels”: {
“display”: false
},
“order”: 1
},
{
“label”: “Alabama Pass SR”,
“data”: [
37.77777777777778,
69.6969696969697,
64.51612903225806,
50,
48.57142857142857,
45.714285714285715,
55.172413793103445,
44.44444444444444,
41.66666666666667,
47.72727272727273,
28.947368421052634,
30.23255813953488,
27.27272727272727,
40
],
“borderColor”: “rgba(101, 0, 20, 0.8)”,
“backgroundColor”: “transparent”,
“borderWidth”: 2.5,
“borderDash”: [
4,
4
],
“pointRadius”: 4.5,
“pointStyle”: “triangle”,
“tension”: 0.15,
“datalabels”: {
“display”: false
},
“order”: 2
},
{
“label”: “Opp Rush SR”,
“data”: [
41.66666666666667,
22.58064516129032,
46.666666666666664,
45.16129032258064,
35.294117647058826,
52,
60,
40,
22.727272727272727,
19.230769230769234,
47.05882352941176,
32.5,
32.142857142857146,
46.808510638297875
],
“borderColor”: “#9CA3AF”,
“backgroundColor”: “transparent”,
“borderWidth”: 2,
“pointRadius”: 3.5,
“pointStyle”: “circle”,
“tension”: 0.15,
“datalabels”: {
“display”: false
},
“order”: 3
},
{
“label”: “Opp Pass SR”,
“data”: [
26.666666666666668,
33.33333333333333,
42.857142857142854,
42.857142857142854,
52.77777777777778,
33.33333333333333,
38.297872340425535,
38.23529411764706,
30.303030303030305,
37.5,
31.57894736842105,
40.74074074074074,
31.914893617021278,
63.1578947368421
],
“borderColor”: “#9CA3AF”,
“backgroundColor”: “transparent”,
“borderWidth”: 2,
“borderDash”: [
4,
4
],
“pointRadius”: 4.5,
“pointStyle”: “triangle”,
“tension”: 0.15,
“datalabels”: {
“display”: false
},
“order”: 4
}
]
};
const chartOptions = {
responsive: true,
maintainAspectRatio: false,
animation: {
duration: 1
},
elements: {
line: {
tension: 0.15,
borderWidth: 2.5
},
point: {
radius: 3.5
}
},
plugins: {
datalabels: {
display: false,
formatter: function(value, context) {
// Use play count data if available (for bar charts)
if (context.dataset.playCountData && context.dataset.playCountData[context.dataIndex] != null) {
return context.dataset.playCountData[context.dataIndex];
}
// Fallback for other cases
if (typeof value === ‘number’) {
if (value >= 0 && value 0 ? ‘#26262660’ : ‘transparent’;
},
borderColor: function(context) {
const value = context.dataset.data[context.dataIndex];
return value > 0 ? ‘rgba(255, 255, 255, 0.2)’ : ‘transparent’;
},
borderRadius: 4,
align: ‘center’,
anchor: ‘center’
},
legend: {
position: ‘top’,
align: ‘start’,
labels: {
usePointStyle: false,
boxWidth: 12,
boxHeight: 12,
padding: 12,
filter: function(legendItem) {
return !legendItem.text.includes(‘NCAA Avg SR’);
}
}
},
tooltip: {
enabled: true,
mode: ‘index’,
intersect: false,
filter: function(tooltipItem) {
const l = tooltipItem.dataset.label || ”;
return !l.includes(‘NCAA Avg SR’) &&
!l.includes(’50/50′) &&
!l.includes(‘< 0’) &&
!l.includes(‘Quarters’);
},
callbacks: {
label: function(context) {
const label = context.dataset.label || ”;
return label + ‘: ‘ + context.parsed.y.toFixed(1) + ‘%’;
}
}
}
},
scales: {
// For vertical bar charts and line charts
x: {
grid: {
display: false
},
ticks: {
maxRotation: 45,
minRotation: 45,
font: { size: 11 }
}
},
y: {
max: 100,
min: 0,
ticks: {
callback: function(value) {
return value + ‘%’;
}
}
}
}
};
const chart = new Chart(canvas, {
type: ‘line’,
data: chartData,
options: chartOptions
});
canvas.chartInstance = chart;
} catch (error) {
console.error(‘Error initializing chart:’, error);
showError(‘Failed to initialize chart: ‘ + error.message);
}
}
if (document.readyState === ‘loading’) {
document.addEventListener(‘DOMContentLoaded’, initChart);
} else {
initChart();
}
})();
The high water mark last season was that Vanderbilt game, with a 50% Rushing SR. Yep, we only hit a ~47% Rushing SR against UL Monroe early in the season, and the other results from 2025 were relative bummers.
But this 2026 season opener vs. East Carolina was a category change: the Tide’s 64% Rushing SR in this one is a huge improvement, more in line with our 2025 FCS cupcake game (vs. Eastern Illinois) than the FBS ones. And it’s a sight for sore eyes.
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj {
font-family: -apple-system, BlinkMacSystemFont, ‘Segoe UI’, ‘Roboto’, sans-serif;
margin: 0;
padding: 0;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .chart-container {
background: white;
border-radius: 12px;
border: 1px solid #e5e5e5;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
overflow: hidden;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .chart-header {
padding: 18px 24px 14px;
border-bottom: 1px solid #e5e5e5;
background: white;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .chart-title {
font-size: 18px;
font-weight: 600;
color: #171717;
margin: 0;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .chart-subtitle {
font-size: 11px;
font-weight: 400;
color: #737373;
margin: 4px 0 0 0;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .chart-content {
padding: 20px 24px 24px !important;
height: 325px;
}
@media (max-width: 640px) {
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .chart-content {
padding: 12px 16px 20px !important;
height: 280px !important;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .chart-header {
padding: 12px 16px 12px !important;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .embed-footer-top {
padding: 8px 12px !important;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .data-definitions {
padding: 12px !important;
}
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .embed-footer {
border-top: 1px solid #e5e5e5;
font-size: 12px;
color: #737373;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .embed-footer-top {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 16px;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .embed-footer-link {
color: #737373;
text-decoration: none;
font-weight: 500;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .embed-footer-link:hover {
color: #525252;
text-decoration: underline;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .data-definitions-toggle {
background: none;
border: none;
color: #737373;
font-size: 12px;
font-weight: 500;
cursor: pointer;
display: flex;
align-items: center;
gap: 4px;
padding: 0;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .data-definitions-toggle:hover {
color: #525252;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .caret {
transition: transform 0.2s ease;
font-size: 10px;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .caret.expanded {
transform: rotate(180deg);
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .data-definitions {
display: none;
padding: 16px;
background: #fafafa;
border-top: 1px solid #e5e5e5;
font-size: 12px;
line-height: 1.4;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .data-definitions.expanded {
display: block;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .data-definitions ul {
margin: 0;
padding-left: 0;
list-style: none;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .data-definitions li {
margin-bottom: 4px;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .details-table {
width: 100%;
border-collapse: collapse;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .details-table td {
padding: 5px 8px 5px 0;
border-bottom: 1px solid #ececec;
vertical-align: top;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .details-table tr:last-child td {
border-bottom: none;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .details-label {
font-weight: 600;
color: #171717;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .details-value {
color: #404040;
}
.cfb-chart-embed-cfb-chart-1788734780148-kgqodqtcj .details-hint {
color: #737373;
text-align: right;
}
SR and XR by play type
Alabama vs. East Carolina • Sep 5, 2026
- Based roughly on the SP+ analytic system
- Successful play: Gains enough needed yards (50% 1st down, 70% on 2nd, 100% on 3rd/4th)
- Success Rate (SR): Percentage of plays that were successful
- Explosiveness Rate (XR): Percentage of plays gaining 15+ yards
- # Plays: Numbers shown in bars represent total play counts
- NCAA Avg: Dashed line shows 42% (roughly NCAA average) success rate
// Toggle details accordion
function toggleDefinitions_cfb_chart_1788734780148_kgqodqtcj() {
const definitions = document.getElementById(‘dataDefinitions_cfb-chart-1788734780148-kgqodqtcj’);
const caret = document.getElementById(‘caret_cfb-chart-1788734780148-kgqodqtcj’);
if (definitions.classList.contains(‘expanded’)) {
definitions.classList.remove(‘expanded’);
caret.classList.remove(‘expanded’);
} else {
definitions.classList.add(‘expanded’);
caret.classList.add(‘expanded’);
}
}
// Initialize chart
(function() {
‘use strict’;
let retryCount = 0;
const maxRetries = 50;
function showError(message) {
const canvas = document.getElementById(‘cfb-chart-1788734780148-kgqodqtcj’);
if (canvas && canvas.parentNode) {
canvas.parentNode.innerHTML = ‘
‘;
}
}
function initChart() {
retryCount++;
if (typeof Chart === ‘undefined’ || typeof ChartDataLabels === ‘undefined’) {
if (retryCount >= maxRetries) {
showError(‘Chart library failed to load. Please refresh the page.’);
return;
}
setTimeout(initChart, 100);
return;
}
const canvas = document.getElementById(‘cfb-chart-1788734780148-kgqodqtcj’);
if (!canvas) {
setTimeout(initChart, 100);
return;
}
if (canvas.chartInstance) {
return;
}
try {
// The app’s global Chart.js defaults are pre-merged into the
// options below, and the datalabels plugin is attached to
// this chart only — nothing global is touched, so the host
// page’s own Chart.js charts stay unaffected.
const chart = new Chart(canvas, {
type: ‘bar’,
data: {“labels”:[“Rush”,”Pass”],”datasets”:[{“data”:[0.06382978723404255,0.25],”stack”:”Team”,”label”:”Alabama XR”,”backgroundColor”:”rgba(101, 0, 20, 0.8)”,”datalabels”:{“display”:false},”embedTooltipLabels”:[[“Alabama XR: 6%”],[“Alabama XR: 25%”]],”embedDataLabels”:[0.06382978723404255,0.25]},{“data”:[0.6382978723404256,0.375],”stack”:”Team”,”label”:”Alabama SR”,”backgroundColor”:”rgba(175, 40, 60, 0.8)”,”datalabels”:{“display”:true},”embedTooltipLabels”:[[“Alabama SR: 64%”],[“Alabama SR: 38%”]],”embedDataLabels”:[47,32]},{“data”:[0,0.13636363636363635],”stack”:”Opponent”,”label”:”East Carolina XR”,”backgroundColor”:”rgba(63, 30, 98, 0.8)”,”datalabels”:{“display”:false},”embedTooltipLabels”:[[“East Carolina XR: 0%”],[“East Carolina XR: 14%”]],”embedDataLabels”:[null,0.13636363636363635]},{“data”:[0.15789473684210525,0.2727272727272727],”stack”:”Opponent”,”label”:”East Carolina SR”,”backgroundColor”:”rgba(139, 91, 190, 0.8)”,”datalabels”:{“display”:true},”embedTooltipLabels”:[[“East Carolina SR: 16%”],[“East Carolina SR: 27%”]],”embedDataLabels”:[19,22]},{“type”:”line”,”data”:[0.42,0.42],”label”:”NCAA Avg SR”,”borderColor”:”#757575″,”borderWidth”:2,”borderDash”:[3,3],”pointRadius”:0,”datalabels”:{“display”:false},”embedTooltipLabels”:[[“NCAA Avg SR: 42%”],[“NCAA Avg SR: 42%”]],”embedDataLabels”:[0.42,0.42]},{“type”:”line”,”data”:[null,null],”label”:”# Plays”,”backgroundColor”:”rgba(0, 0, 0, 0)”,”borderColor”:”rgba(0, 0, 0, 0)”,”borderWidth”:0,”pointRadius”:0,”showLine”:false,”fill”:false,”datalabels”:{“display”:false},”embedTooltipLabels”:[[“# Plays: 0%”],[“# Plays: 0%”]],”embedDataLabels”:[null,null]}]},
options: {“responsive”:true,”maintainAspectRatio”:false,”plugins”:{“datalabels”:{“display”:true,”color”:”white”,”font”:{“weight”:”normal”,”size”:12},”formatter”:function(c,n){const i=n.dataset&&n.dataset.embedDataLabels;return i!=null?i[n.dataIndex]:c},”anchor”:”center”,”align”:”center”,”backgroundColor”:function(e){return e.dataset.data[e.dataIndex]>0?”#26262660″:”transparent”},”borderColor”:function(e){return e.dataset.data[e.dataIndex]>0?”rgba(255, 255, 255, 0.2)”:”transparent”},”padding”:4,”borderRadius”:4},”legend”:{“position”:”top”,”align”:”start”,”labels”:{“usePointStyle”:false,”boxWidth”:12,”boxHeight”:12,”padding”:12,”filter”:e=>!e.text.includes(“NCAA Avg SR”)&&!e.text.includes(“50/50”)&&!e.text.includes(“{let i=n.backgroundColor;return n.label===”# Plays”?i=”white”:Array.isArray(n.backgroundColor)&&(i=n.backgroundColor[0]),{text:n.label,fillStyle:i,strokeStyle:n.label===”# Plays”?”#666″:n.borderColor,lineWidth:n.label===”# Plays”?1:n.borderWidth,hidden:!r.isDatasetVisible(o),datasetIndex:o}}).filter((n,o)=>{const i=r.data.datasets[o];return!i||!i.data?!1:i.label===”# Plays”?!0:i.data.some(s=>typeof s==”number”?s>0:s&&typeof s==”object”&&”y”in s?s.y>0:!1)}):[]},”borderRadius”:15}},”tooltip”:{“filter”:e=>!e.dataset.label.includes(“NCAA Avg SR”)&&!e.dataset.label.includes(“50/50”)&&!e.dataset.label.includes(“`${Math.round(e*100)}%`}}},”animation”:{“duration”:1},”elements”:{“line”:{“tension”:0.25,”borderWidth”:1},”point”:{“radius”:3,”pointHoverRadius”:8,”pointBorderWidth”:1}}},
plugins: [ChartDataLabels]
});
canvas.chartInstance = chart;
} catch (error) {
console.error(‘Error initializing chart:’, error);
showError(‘Failed to initialize chart: ‘ + error.message);
}
}
if (document.readyState === ‘loading’) {
document.addEventListener(‘DOMContentLoaded’, initChart);
} else {
initChart();
}
})();
That’s more like it! And as an added bonus, Alabama’s rushing defense was absolutely suffocating, holding the Purple Pirates to a horrid 16% Rushing SR with zero explosive Rushes. Shades of the Tide teams of old, at least in this particular aspect.
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj {
font-family: -apple-system, BlinkMacSystemFont, ‘Segoe UI’, ‘Roboto’, sans-serif;
margin: 0;
padding: 0;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .chart-container {
background: white;
border-radius: 12px;
border: 1px solid #e5e5e5;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
overflow: hidden;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .chart-header {
padding: 18px 24px 14px;
border-bottom: 1px solid #e5e5e5;
background: white;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .chart-title {
font-size: 18px;
font-weight: 600;
color: #171717;
margin: 0;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .chart-subtitle {
font-size: 11px;
font-weight: 400;
color: #737373;
margin: 4px 0 0 0;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .chart-content {
padding: 20px 24px 24px !important;
height: 372px;
}
@media (max-width: 640px) {
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .chart-content {
padding: 12px 16px 20px !important;
height: 372px !important;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .chart-header {
padding: 12px 16px 12px !important;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .embed-footer-top {
padding: 8px 12px !important;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .data-definitions {
padding: 12px !important;
}
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .embed-footer {
border-top: 1px solid #e5e5e5;
font-size: 12px;
color: #737373;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .embed-footer-top {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 16px;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .embed-footer-link {
color: #737373;
text-decoration: none;
font-weight: 500;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .embed-footer-link:hover {
color: #525252;
text-decoration: underline;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .data-definitions-toggle {
background: none;
border: none;
color: #737373;
font-size: 12px;
font-weight: 500;
cursor: pointer;
display: flex;
align-items: center;
gap: 4px;
padding: 0;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .data-definitions-toggle:hover {
color: #525252;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .caret {
transition: transform 0.2s ease;
font-size: 10px;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .caret.expanded {
transform: rotate(180deg);
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .data-definitions {
display: none;
padding: 16px;
background: #fafafa;
border-top: 1px solid #e5e5e5;
font-size: 12px;
line-height: 1.4;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .data-definitions.expanded {
display: block;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .data-definitions ul {
margin: 0;
padding-left: 0;
list-style: none;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .data-definitions li {
margin-bottom: 4px;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .details-table {
width: 100%;
border-collapse: collapse;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .details-table td {
padding: 5px 8px 5px 0;
border-bottom: 1px solid #ececec;
vertical-align: top;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .details-table tr:last-child td {
border-bottom: none;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .details-label {
font-weight: 600;
color: #171717;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .details-value {
color: #404040;
}
.cfb-chart-embed-cfb-chart-1788734902517-3n2y7ltaj .details-hint {
color: #737373;
text-align: right;
}
Top rushers
Alabama vs. East Carolina • Sep 5, 2026
- Based roughly on the SP+ analytic system
- Successful play: Gains enough needed yards (50% 1st down, 70% on 2nd, 100% on 3rd/4th)
- Success Rate (SR): Percentage of plays that were successful
- Explosiveness Rate (XR): Percentage of plays gaining 15+ yards
// Toggle details accordion
function toggleDefinitions_cfb_chart_1788734902517_3n2y7ltaj() {
const definitions = document.getElementById(‘dataDefinitions_cfb-chart-1788734902517-3n2y7ltaj’);
const caret = document.getElementById(‘caret_cfb-chart-1788734902517-3n2y7ltaj’);
if (definitions.classList.contains(‘expanded’)) {
definitions.classList.remove(‘expanded’);
caret.classList.remove(‘expanded’);
} else {
definitions.classList.add(‘expanded’);
caret.classList.add(‘expanded’);
}
}
// Initialize chart
(function() {
‘use strict’;
let retryCount = 0;
const maxRetries = 50;
function showError(message) {
const canvas = document.getElementById(‘cfb-chart-1788734902517-3n2y7ltaj’);
if (canvas && canvas.parentNode) {
canvas.parentNode.innerHTML = ‘
‘;
}
}
function initChart() {
retryCount++;
if (typeof Chart === ‘undefined’ || typeof ChartDataLabels === ‘undefined’) {
if (retryCount >= maxRetries) {
showError(‘Chart library failed to load. Please refresh the page.’);
return;
}
setTimeout(initChart, 100);
return;
}
const canvas = document.getElementById(‘cfb-chart-1788734902517-3n2y7ltaj’);
if (!canvas) {
setTimeout(initChart, 100);
return;
}
if (canvas.chartInstance) {
return;
}
try {
// The app’s global Chart.js defaults are pre-merged into the
// options below, and the datalabels plugin is attached to
// this chart only — nothing global is touched, so the host
// page’s own Chart.js charts stay unaffected.
const chart = new Chart(canvas, {
type: ‘bar’,
data: {“labels”:[“K.Russell”,”D.Hill”,”T.Brown”,”E.Crowell”,”K.Riley”,”K.Keith”,”L.Brooks”,”R.Coleman-Wil…”,”A.Mack”],”datasets”:[{“label”:”Explosive rushes”,”data”:[3,0,0,0,0,0,0,0,0],”backgroundColor”:[“#3c000cCC”,”#3c000cCC”,”#3c000cCC”,”#3c000cCC”,”#3c000cCC”,”#3c000cCC”,”#3c000cCC”,”#3c000cCC”,”#3c000cCC”],”borderColor”:”#374151″,”borderWidth”:1,”embedTooltipLabels”:[[“Explosive rushes: 3 plays”],[“Explosive rushes: 0 plays”],[“Explosive rushes: 0 plays”],[“Explosive rushes: 0 plays”],[“Explosive rushes: 0 plays”],[“Explosive rushes: 0 plays”],[“Explosive rushes: 0 plays”],[“Explosive rushes: 0 plays”],[“Explosive rushes: 0 plays”]],”embedDataLabels”:[3,null,null,null,null,null,null,null,null]},{“label”:”Successful rushes”,”data”:[5,8,3,5,3,1,0,1,1],”backgroundColor”:[“rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”],”borderColor”:”#374151″,”borderWidth”:1,”embedTooltipLabels”:[[“Successful rushes: 5 plays”],[“Successful rushes: 8 plays”],[“Successful rushes: 3 plays”],[“Successful rushes: 5 plays”],[“Successful rushes: 3 plays”],[“Successful rushes: 1 play”],[“Successful rushes: 0 plays”],[“Successful rushes: 1 play”],[“Successful rushes: 1 play”]],”embedDataLabels”:[5,8,3,5,3,1,null,1,1]},{“label”:”Unsuccessful rushes”,”data”:[3,1,4,2,3,2,1,0,0],”backgroundColor”:”#FFFFFF”,”borderColor”:”#374151″,”borderWidth”:1,”embedTooltipLabels”:[[“Unsuccessful rushes: 3 plays”],[“Unsuccessful rushes: 1 play”],[“Unsuccessful rushes: 4 plays”],[“Unsuccessful rushes: 2 plays”],[“Unsuccessful rushes: 3 plays”],[“Unsuccessful rushes: 2 plays”],[“Unsuccessful rushes: 1 play”],[“Unsuccessful rushes: 0 plays”],[“Unsuccessful rushes: 0 plays”]],”embedDataLabels”:[3,1,4,2,3,2,1,null,null]}]},
options: {“responsive”:true,”maintainAspectRatio”:false,”plugins”:{“datalabels”:{“display”:true,”color”:”white”,”font”:{“weight”:”normal”,”size”:12},”formatter”:function(c,n){const i=n.dataset&&n.dataset.embedDataLabels;return i!=null?i[n.dataIndex]:c},”anchor”:”center”,”align”:”center”,”backgroundColor”:function(e){return e.dataset.data[e.dataIndex]>0?”#26262660″:”transparent”},”borderColor”:function(e){return e.dataset.data[e.dataIndex]>0?”rgba(255, 255, 255, 0.2)”:”transparent”},”padding”:4,”borderRadius”:4},”legend”:{“position”:”top”,”align”:”start”,”labels”:{“usePointStyle”:false,”boxWidth”:12,”boxHeight”:12,”padding”:12,”filter”:e=>!e.text.includes(“NCAA Avg SR”)&&!e.text.includes(“50/50”)&&!e.text.includes(“< 0”)&&!e.text.includes(“Quarters”),”borderRadius”:15}},”tooltip”:{“callbacks”:{“label”:function(n){const i=n.dataset&&n.dataset.embedTooltipLabels;return i&&i[n.dataIndex]!==void 0&&i[n.dataIndex]!==null?i[n.dataIndex]:(n.dataset&&n.dataset.label?n.dataset.label+”: “:””)+n.formattedValue}}}},”indexAxis”:”y”,”scales”:{“x”:{“stacked”:true},”y”:{“stacked”:true}},”animation”:{“duration”:1},”elements”:{“line”:{“tension”:0.25,”borderWidth”:1},”point”:{“radius”:3,”pointHoverRadius”:8,”pointBorderWidth”:1}}},
plugins: [ChartDataLabels]
});
canvas.chartInstance = chart;
} catch (error) {
console.error(‘Error initializing chart:’, error);
showError(‘Failed to initialize chart: ‘ + error.message);
}
}
if (document.readyState === ‘loading’) {
document.addEventListener(‘DOMContentLoaded’, initChart);
} else {
initChart();
}
})();
But, yes yes yes, of course you’re right: a lot of this rushing wasn’t the classic tailback flavor. New QB Keelon Russell was our leading rusher by attempts, and was by far the rushing yardage leader (86 yds was nearly double what Daniel Hill accrued). Some of it was a little nerve-wracking — wild 3rd down scrambles that result in solid hits on the new kid, anyone? — but the offense definitely has a tool at their disposal here with Keelon’s speed and escapability. Let’s just please use it wisely instead of wildly.
And the other rushing was, generally, very efficient! Surprise potential breakout RB Trae’shawn Brown had some impressive plays, but more times when the play didn’t work out for him (some not his fault). But other than that, the other “starters” all delivered 50% or greater Rushing SR’s.
And we’re at that point in the season when I — yes, your perfectly scientifically sound neutral observer :cough cough: — start realizing who my favorite Tide players are this year. And I’ll admit to a few developing patterns, including rooting for the “they’ve earned it” upperclassmen backs that Saban used to prize. I’m talking: T.J. Yeldon, Damien Harris, Brian Robinson, Jase McClellan, and even Jam Miller last season.
And, yep, despite some real promising talent showing among the young lads, I’m a Daniel Hill guy this year. And I feel rewarded this game, given he played the “RB1” role and put up an 89% rushing SR (8/9). Wow! Yeah, some of that was short-yardage and goal line stuff that we leaned on Hill for the most in this game, but those are the kinds of short yardage efficiency we would’ve loved to have last season.
(So, props to the rebuilt OL, at least on short yardage rushing in this one).
We also apparently have this new QB
In case you haven’t heard, this Keelon kid is also supposed to throw the pigskin well, too. So that’s an exciting prospect, though the results were a little more variable on that side of the ball:
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 {
font-family: -apple-system, BlinkMacSystemFont, ‘Segoe UI’, ‘Roboto’, sans-serif;
margin: 0;
padding: 0;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .chart-container {
background: white;
border-radius: 12px;
border: 1px solid #e5e5e5;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
overflow: hidden;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .chart-header {
padding: 18px 24px 14px;
border-bottom: 1px solid #e5e5e5;
background: white;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .chart-title {
font-size: 18px;
font-weight: 600;
color: #171717;
margin: 0;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .chart-subtitle {
font-size: 11px;
font-weight: 400;
color: #737373;
margin: 4px 0 0 0;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .chart-content {
padding: 20px 24px 24px !important;
height: 280px;
}
@media (max-width: 640px) {
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .chart-content {
padding: 12px 16px 20px !important;
height: 280px !important;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .chart-header {
padding: 12px 16px 12px !important;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .embed-footer-top {
padding: 8px 12px !important;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .data-definitions {
padding: 12px !important;
}
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .embed-footer {
border-top: 1px solid #e5e5e5;
font-size: 12px;
color: #737373;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .embed-footer-top {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 16px;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .embed-footer-link {
color: #737373;
text-decoration: none;
font-weight: 500;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .embed-footer-link:hover {
color: #525252;
text-decoration: underline;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .data-definitions-toggle {
background: none;
border: none;
color: #737373;
font-size: 12px;
font-weight: 500;
cursor: pointer;
display: flex;
align-items: center;
gap: 4px;
padding: 0;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .data-definitions-toggle:hover {
color: #525252;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .caret {
transition: transform 0.2s ease;
font-size: 10px;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .caret.expanded {
transform: rotate(180deg);
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .data-definitions {
display: none;
padding: 16px;
background: #fafafa;
border-top: 1px solid #e5e5e5;
font-size: 12px;
line-height: 1.4;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .data-definitions.expanded {
display: block;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .data-definitions ul {
margin: 0;
padding-left: 0;
list-style: none;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .data-definitions li {
margin-bottom: 4px;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .details-table {
width: 100%;
border-collapse: collapse;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .details-table td {
padding: 5px 8px 5px 0;
border-bottom: 1px solid #ececec;
vertical-align: top;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .details-table tr:last-child td {
border-bottom: none;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .details-label {
font-weight: 600;
color: #171717;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .details-value {
color: #404040;
}
.cfb-chart-embed-cfb-chart-1788738132443-bpislso98 .details-hint {
color: #737373;
text-align: right;
}
Top passers
Alabama vs. East Carolina • Sep 5, 2026
- Based roughly on the SP+ analytic system
- Successful play: Gains enough needed yards (50% 1st down, 70% on 2nd, 100% on 3rd/4th)
- Success Rate (SR): Percentage of plays that were successful
- Explosiveness Rate (XR): Percentage of plays gaining 15+ yards
// Toggle details accordion
function toggleDefinitions_cfb_chart_1788738132443_bpislso98() {
const definitions = document.getElementById(‘dataDefinitions_cfb-chart-1788738132443-bpislso98’);
const caret = document.getElementById(‘caret_cfb-chart-1788738132443-bpislso98’);
if (definitions.classList.contains(‘expanded’)) {
definitions.classList.remove(‘expanded’);
caret.classList.remove(‘expanded’);
} else {
definitions.classList.add(‘expanded’);
caret.classList.add(‘expanded’);
}
}
// Initialize chart
(function() {
‘use strict’;
let retryCount = 0;
const maxRetries = 50;
function showError(message) {
const canvas = document.getElementById(‘cfb-chart-1788738132443-bpislso98’);
if (canvas && canvas.parentNode) {
canvas.parentNode.innerHTML = ‘
‘;
}
}
function initChart() {
retryCount++;
if (typeof Chart === ‘undefined’ || typeof ChartDataLabels === ‘undefined’) {
if (retryCount >= maxRetries) {
showError(‘Chart library failed to load. Please refresh the page.’);
return;
}
setTimeout(initChart, 100);
return;
}
const canvas = document.getElementById(‘cfb-chart-1788738132443-bpislso98’);
if (!canvas) {
setTimeout(initChart, 100);
return;
}
if (canvas.chartInstance) {
return;
}
try {
// The app’s global Chart.js defaults are pre-merged into the
// options below, and the datalabels plugin is attached to
// this chart only — nothing global is touched, so the host
// page’s own Chart.js charts stay unaffected.
const chart = new Chart(canvas, {
type: ‘bar’,
data: {“labels”:[“K.Russell”,”A.Mack”,”M.Griffis”,”E.Williams”],”datasets”:[{“label”:”Explosive”,”data”:[8,0,2,1],”backgroundColor”:[“#3c000cCC”,”#3c000cCC”,”#30144dCC”,”#30144dCC”],”borderColor”:”#374151″,”borderWidth”:1,”embedTooltipLabels”:[[“Explosive: 8 plays”],[“Explosive: 0 plays”],[“Explosive: 2 plays”],[“Explosive: 1 play”]],”embedDataLabels”:[8,null,2,1]},{“label”:”Successful”,”data”:[4,0,3,0],”backgroundColor”:[“rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(139, 91, 190, 0.8)”,”rgba(139, 91, 190, 0.8)”],”borderColor”:”#374151″,”borderWidth”:1,”embedTooltipLabels”:[[“Successful: 4 plays”],[“Successful: 0 plays”],[“Successful: 3 plays”],[“Successful: 0 plays”]],”embedDataLabels”:[4,null,3,null]},{“label”:”Other catches”,”data”:[5,1,5,0],”backgroundColor”:[“rgba(245, 229, 233, 0.8)”,”rgba(245, 229, 233, 0.8)”,”rgba(242, 235, 249, 0.8)”,”rgba(242, 235, 249, 0.8)”],”borderColor”:”#374151″,”borderWidth”:1,”embedTooltipLabels”:[[“Other catches: 5 plays”],[“Other catches: 1 play”],[“Other catches: 5 plays”],[“Other catches: 0 plays”]],”embedDataLabels”:[5,1,5,null]},{“label”:”Incompletes”,”data”:[12,1,5,2],”backgroundColor”:”#FFFFFF”,”borderColor”:”#374151″,”borderWidth”:1,”embedTooltipLabels”:[[“Incompletes: 12 plays”],[“Incompletes: 1 play”],[“Incompletes: 5 plays”],[“Incompletes: 2 plays”]],”embedDataLabels”:[12,1,5,2]},{“label”:”Interceptions”,”data”:[0,0,1,0],”backgroundColor”:”#4B5563″,”borderColor”:”#374151″,”borderWidth”:1,”embedTooltipLabels”:[[“Interceptions: 0 plays”],[“Interceptions: 0 plays”],[“Interceptions: 1 play”],[“Interceptions: 0 plays”]],”embedDataLabels”:[null,null,1,null]}]},
options: {“responsive”:true,”maintainAspectRatio”:false,”plugins”:{“datalabels”:{“display”:true,”color”:”white”,”font”:{“weight”:”normal”,”size”:12},”formatter”:function(c,n){const i=n.dataset&&n.dataset.embedDataLabels;return i!=null?i[n.dataIndex]:c},”anchor”:”center”,”align”:”center”,”backgroundColor”:function(e){return e.dataset.data[e.dataIndex]>0?”#26262660″:”transparent”},”borderColor”:function(e){return e.dataset.data[e.dataIndex]>0?”rgba(255, 255, 255, 0.2)”:”transparent”},”padding”:4,”borderRadius”:4},”legend”:{“position”:”top”,”align”:”start”,”labels”:{“usePointStyle”:false,”boxWidth”:12,”boxHeight”:12,”padding”:12,”filter”:e=>!e.text.includes(“NCAA Avg SR”)&&!e.text.includes(“50/50”)&&!e.text.includes(“< 0”)&&!e.text.includes(“Quarters”),”borderRadius”:15}},”tooltip”:{“callbacks”:{“label”:function(n){const i=n.dataset&&n.dataset.embedTooltipLabels;return i&&i[n.dataIndex]!==void 0&&i[n.dataIndex]!==null?i[n.dataIndex]:(n.dataset&&n.dataset.label?n.dataset.label+”: “:””)+n.formattedValue}}}},”indexAxis”:”y”,”scales”:{“x”:{“stacked”:true},”y”:{“stacked”:true}},”animation”:{“duration”:1},”elements”:{“line”:{“tension”:0.25,”borderWidth”:1},”point”:{“radius”:3,”pointHoverRadius”:8,”pointBorderWidth”:1}}},
plugins: [ChartDataLabels]
});
canvas.chartInstance = chart;
} catch (error) {
console.error(‘Error initializing chart:’, error);
showError(‘Failed to initialize chart: ‘ + error.message);
}
}
if (document.readyState === ‘loading’) {
document.addEventListener(‘DOMContentLoaded’, initChart);
} else {
initChart();
}
})();
Look, I give all the same caveats that others do for Keelon’s game here: he’s a young QB, it was his first start, he barely passed in live situations last season — it’s all fair!
But there was room for us to have a “truly impressive” passing debut, and I’d say we landed slightly shy of that.
- A 27.6% passing XR is pretty dang good, I’ll say! 1-in-4 passes resulting in 15+ yard gains is nothing to turn your nose up at.
- But, we didn’t see many successful passes otherwise: Keelon’s 41.4% Passing SR is respectable, but basically league average.
- Hey, at least he was better than the ECU QB!
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl {
font-family: -apple-system, BlinkMacSystemFont, ‘Segoe UI’, ‘Roboto’, sans-serif;
margin: 0;
padding: 0;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .chart-container {
background: white;
border-radius: 12px;
border: 1px solid #e5e5e5;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
overflow: hidden;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .chart-header {
padding: 18px 24px 14px;
border-bottom: 1px solid #e5e5e5;
background: white;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .chart-title {
font-size: 18px;
font-weight: 600;
color: #171717;
margin: 0;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .chart-subtitle {
font-size: 11px;
font-weight: 400;
color: #737373;
margin: 4px 0 0 0;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .chart-content {
padding: 20px 24px 24px !important;
height: 325px;
}
@media (max-width: 640px) {
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .chart-content {
padding: 12px 16px 20px !important;
height: 280px !important;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .chart-header {
padding: 12px 16px 12px !important;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .embed-footer-top {
padding: 8px 12px !important;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .data-definitions {
padding: 12px !important;
}
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .embed-footer {
border-top: 1px solid #e5e5e5;
font-size: 12px;
color: #737373;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .embed-footer-top {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 16px;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .embed-footer-link {
color: #737373;
text-decoration: none;
font-weight: 500;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .embed-footer-link:hover {
color: #525252;
text-decoration: underline;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .data-definitions-toggle {
background: none;
border: none;
color: #737373;
font-size: 12px;
font-weight: 500;
cursor: pointer;
display: flex;
align-items: center;
gap: 4px;
padding: 0;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .data-definitions-toggle:hover {
color: #525252;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .caret {
transition: transform 0.2s ease;
font-size: 10px;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .caret.expanded {
transform: rotate(180deg);
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .data-definitions {
display: none;
padding: 16px;
background: #fafafa;
border-top: 1px solid #e5e5e5;
font-size: 12px;
line-height: 1.4;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .data-definitions.expanded {
display: block;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .data-definitions ul {
margin: 0;
padding-left: 0;
list-style: none;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .data-definitions li {
margin-bottom: 4px;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .details-table {
width: 100%;
border-collapse: collapse;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .details-table td {
padding: 5px 8px 5px 0;
border-bottom: 1px solid #ececec;
vertical-align: top;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .details-table tr:last-child td {
border-bottom: none;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .details-label {
font-weight: 600;
color: #171717;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .details-value {
color: #404040;
}
.cfb-chart-embed-cfb-chart-1788738760089-87kgx7nnl .details-hint {
color: #737373;
text-align: right;
}
SR by play type: Alabama
Alabama vs. East Carolina • Sep 5, 2026
- Based roughly on the SP+ analytic system
- Successful play: Gains enough needed yards (50% 1st down, 70% on 2nd, 100% on 3rd/4th)
- Success Rate (SR): Percentage of plays that were successful
- Explosiveness Rate (XR): Percentage of plays gaining 15+ yards
- Gray area: Represents 42% (roughly NCAA average) success rate
// Toggle details accordion
function toggleDefinitions_cfb_chart_1788738760089_87kgx7nnl() {
const definitions = document.getElementById(‘dataDefinitions_cfb-chart-1788738760089-87kgx7nnl’);
const caret = document.getElementById(‘caret_cfb-chart-1788738760089-87kgx7nnl’);
if (definitions.classList.contains(‘expanded’)) {
definitions.classList.remove(‘expanded’);
caret.classList.remove(‘expanded’);
} else {
definitions.classList.add(‘expanded’);
caret.classList.add(‘expanded’);
}
}
// Initialize chart
(function() {
‘use strict’;
let retryCount = 0;
const maxRetries = 50;
function showError(message) {
const canvas = document.getElementById(‘cfb-chart-1788738760089-87kgx7nnl’);
if (canvas && canvas.parentNode) {
canvas.parentNode.innerHTML = ‘
‘;
}
}
function initChart() {
retryCount++;
if (typeof Chart === ‘undefined’ || typeof ChartDataLabels === ‘undefined’) {
if (retryCount >= maxRetries) {
showError(‘Chart library failed to load. Please refresh the page.’);
return;
}
setTimeout(initChart, 100);
return;
}
const canvas = document.getElementById(‘cfb-chart-1788738760089-87kgx7nnl’);
if (!canvas) {
setTimeout(initChart, 100);
return;
}
if (canvas.chartInstance) {
return;
}
try {
// The app’s global Chart.js defaults are pre-merged into the
// options below, and the datalabels plugin is attached to
// this chart only — nothing global is touched, so the host
// page’s own Chart.js charts stay unaffected.
const chart = new Chart(canvas, {
type: ‘line’,
data: {“datasets”:[{“label”:”NCAA Avg SR”,”data”:[{“x”:1,”y”:0},{“x”:1,”y”:0.42},{“x”:79,”y”:0.42},{“x”:79,”y”:0}],”backgroundColor”:”rgba(0,0,0,0.03)”,”borderColor”:”transparent”,”pointRadius”:0,”fill”:true,”tension”:0,”showLine”:true,”datalabels”:{“display”:false},”embedTooltipLabels”:[[“NCAA Avg SR: 0%”],[“NCAA Avg SR: 42%”],[“NCAA Avg SR: 42%”],[“NCAA Avg SR: 0%”]]},{“data”:[{“x”:1,”y”:0,”text”:”Keelon Russell run for 1 yd to the ALA 32″},{“x”:2,”y”:0,”text”:”Daniel Hill run for 3 yds to the ALA 35″},{“x”:3,”y”:0.3333333333333333,”text”:”Keelon Russell run for 23 yds to the ECU 42 for a 1ST down”},{“x”:4,”y”:0.5,”text”:”Daniel Hill run for 8 yds to the ECU 34″},{“x”:5,”y”:0.6,”text”:”Daniel Hill run for 10 yds to the ECU 24 for a 1ST down”},{“x”:6,”y”:0.5,”text”:”Trae’shawn Brown run for a loss of 6 yards to the ECU 30″},{“x”:7,”y”:0.5,”text”:”Keelon Russell pass complete to Daniel Hill for 7 yds to the ECU 28″},{“x”:8,”y”:0.5,”text”:”Keelon Russell pass complete to Lotzeir Brooks for 5 yds to the ECU 23″},{“x”:9,”y”:0.5,”text”:”Keelon Russell pass complete to Ryan Coleman-Williams for 18 yds to the ALA 32 for a 1ST down”},{“x”:10,”y”:0.5714285714285714,”text”:”Trae’shawn Brown run for 6 yds to the ALA 38″},{“x”:11,”y”:0.625,”text”:”Keelon Russell run for 6 yds to the ALA 44 for a 1ST down”},{“x”:12,”y”:0.625,”text”:”Keelon Russell pass incomplete to Ryan Coleman-Williams Alabama Penalty, Illegal Forward Pass (Keelon Russell) to the ALA 39″},{“x”:13,”y”:0.625,”text”:”Keelon Russell pass incomplete to Ryan Coleman-Williams”},{“x”:14,”y”:0.625,”text”:”Keelon Russell pass complete to Derek Meadows for 31 yds to the ECU 12 for a 1ST down”},{“x”:15,”y”:0.6666666666666666,”text”:”EJ Crowell run for 9 yds to the ECU 3″},{“x”:16,”y”:0.7,”text”:”EJ Crowell run for 3 yds for a TD (Conor Talty KICK)”},{“x”:17,”y”:0.7272727272727273,”text”:”Daniel Hill run for 5 yds to the ECU 21″},{“x”:18,”y”:0.75,”text”:”Daniel Hill run for 5 yds to the ECU 16 for a 1ST down”},{“x”:19,”y”:0.7692307692307693,”text”:”Daniel Hill run for 5 yds to the ECU 11″},{“x”:20,”y”:0.7692307692307693,”text”:”Keelon Russell pass incomplete to Kaleb Edwards”},{“x”:21,”y”:0.7142857142857143,”text”:”Keelon Russell run for 2 yds to the ECU 9″},{“x”:22,”y”:0.7333333333333333,”text”:”Daniel Hill run for 4 yds for a TD (Conor Talty KICK)”},{“x”:23,”y”:0.6875,”text”:”EJ Crowell run for a loss of 1 yard to the ALA 13″},{“x”:24,”y”:0.6875,”text”:”Keelon Russell pass incomplete to Rico Scott”},{“x”:25,”y”:0.6875,”text”:”Keelon Russell pass complete to Ryan Coleman-Williams for 58 yds to the ECU 29 for a 1ST down”},{“x”:26,”y”:0.6875,”text”:”Keelon Russell pass complete to EJ Crowell for 13 yds to the ECU 16 for a 1ST down”},{“x”:27,”y”:0.7058823529411765,”text”:”Daniel Hill run for 5 yds to the ECU 11″},{“x”:28,”y”:0.7222222222222222,”text”:”Keelon Russell run for 9 yds to the ECU 2 for a 1ST down”},{“x”:29,”y”:0.7368421052631579,”text”:”Daniel Hill run for 2 yds for a TD (Conor Talty KICK)”},{“x”:30,”y”:0.7,”text”:”Trae’shawn Brown run for 2 yds to the ALA 22″},{“x”:31,”y”:0.7,”text”:”Keelon Russell pass complete to Rico Scott for 15 yds to the ALA 37 for a 1ST down”},{“x”:32,”y”:0.7142857142857143,”text”:”Keelon Russell run for 13 yds to the 50 yard line for a 1ST down”},{“x”:33,”y”:0.6818181818181818,”text”:”Lotzeir Brooks run for no gain to the 50 yard line”},{“x”:34,”y”:0.6818181818181818,”text”:”Keelon Russell sacked by Torin Brazell for a loss of 4 yards to the ECU 46 Alabama Penalty, Intentional Grounding (TEAM) to the ALA 46″},{“x”:35,”y”:0.6818181818181818,”text”:”Keelon Russell pass complete to Ryan Coleman-Williams for 12 yds to the ECU 42″},{“x”:36,”y”:0.6818181818181818,”text”:”Keelon Russell pass complete to Ryan Coleman-Williams for 16 yds to the ECU 26 for a 1ST down”},{“x”:37,”y”:0.6521739130434783,”text”:”EJ Crowell run for 2 yds to the ECU 24″},{“x”:38,”y”:0.6666666666666666,”text”:”Ryan Coleman-Williams run for 9 yds to the ECU 15 for a 1ST down”},{“x”:39,”y”:0.6666666666666666,”text”:”Keelon Russell pass complete to Rico Scott for 6 yds to the ECU 9″},{“x”:40,”y”:0.6666666666666666,”text”:”Keelon Russell pass incomplete”},{“x”:41,”y”:0.64,”text”:”Keelon Russell run for 1 yd to the ECU 8″},{“x”:42,”y”:0.64,”text”:”Keelon Russell pass complete to Kaleb Edwards for 1 yd to the ECU 3″},{“x”:43,”y”:0.64,”text”:”Keelon Russell pass incomplete”},{“x”:44,”y”:0.6538461538461539,”text”:”Keelon Russell run for 3 yds for a TD (Conor Talty KICK)”},{“x”:45,”y”:0.6538461538461539,”text”:”Keelon Russell pass incomplete to Rico Scott”},{“x”:46,”y”:0.6666666666666666,”text”:”Trae’shawn Brown run for 7 yds to the ALA 32″},{“x”:47,”y”:0.6428571428571429,”text”:”Trae’shawn Brown run for 5 yds to the ALA 37 Alabama Penalty, Offensive Holding (-10 Yards) to the ALA 27″},{“x”:48,”y”:0.6551724137931034,”text”:”Kevin Riley run for 6 yds to the ALA 33″},{“x”:49,”y”:0.6551724137931034,”text”:”Keelon Russell pass incomplete”},{“x”:50,”y”:0.6666666666666666,”text”:”EJ Crowell run for 5 yds to the ALA 35″},{“x”:51,”y”:0.6666666666666666,”text”:”Keelon Russell pass complete to Keelon Russell for a loss of 10 yards to the ALA 25″},{“x”:52,”y”:0.6666666666666666,”text”:”Keelon Russell pass incomplete to Ryan Coleman-Williams”},{“x”:53,”y”:0.6666666666666666,”text”:”Keelon Russell pass complete to Ryan Coleman-Williams for 26 yds to the ALA 49 for a 1ST down”},{“x”:54,”y”:0.6666666666666666,”text”:”Keelon Russell pass incomplete to Marshall Pritchett”},{“x”:55,”y”:0.6666666666666666,”text”:”Keelon Russell pass incomplete to Marshall Pritchett”},{“x”:56,”y”:0.6774193548387096,”text”:”Keelon Russell run for 17 yds to the ECU 34 for a 1ST down”},{“x”:57,”y”:0.6774193548387096,”text”:”Keelon Russell pass complete to Derek Meadows for 6 yds to the ECU 28″},{“x”:58,”y”:0.6875,”text”:”Kevin Riley run for 5 yds to the ECU 23 for a 1ST down”},{“x”:59,”y”:0.6666666666666666,”text”:”Kevin Riley run for 1 yd to the ECU 22″},{“x”:60,”y”:0.6666666666666666,”text”:”Keelon Russell pass complete to Kaleb Edwards for 20 yds to the ECU 2 for a 1ST down”},{“x”:61,”y”:0.6764705882352942,”text”:”Trae’shawn Brown run for 2 yds for a TD (Conor Talty KICK)”},{“x”:62,”y”:0.6857142857142857,”text”:”EJ Crowell run for 13 yds to the ALA 40 for a 1ST down”},{“x”:63,”y”:0.6944444444444444,”text”:”EJ Crowell run for 6 yds to the ALA 46″},{“x”:64,”y”:0.6756756756756757,”text”:”Kevin Riley run for 2 yds to the ALA 48″},{“x”:65,”y”:0.6842105263157895,”text”:”Kevin Riley run for 3 yds to the ECU 49 for a 1ST down”},{“x”:66,”y”:0.6923076923076923,”text”:”Keelon Russell run for 16 yds to the ECU 33 for a 1ST down”},{“x”:67,”y”:0.675,”text”:”Kevin Riley run for no gain to the ECU 33″},{“x”:68,”y”:0.675,”text”:”Keelon Russell pass complete to Derek Meadows for 7 yds to the ECU 26″},{“x”:69,”y”:0.675,”text”:”Keelon Russell pass complete to Lotzeir Brooks for 18 yds to the ECU 8 for a 1ST down”},{“x”:70,”y”:0.6829268292682927,”text”:”Keelon Russell run for 6 yds to the ECU 2″},{“x”:71,”y”:0.6666666666666666,”text”:”Trae’shawn Brown run for a loss of 1 yard to the ECU 3″},{“x”:72,”y”:0.6666666666666666,”text”:”Keelon Russell pass incomplete”},{“x”:73,”y”:0.6511627906976745,”text”:”Khalifa Keith run for no gain to the ALA 12″},{“x”:74,”y”:0.6511627906976745,”text”:”Austin Mack pass complete to Danny Lewis for 4 yds to the ALA 16″},{“x”:75,”y”:0.6590909090909091,”text”:”Austin Mack run for 6 yds to the ALA 22 for a 1ST down”},{“x”:76,”y”:0.6590909090909091,”text”:”Austin Mack pass incomplete to Derek Meadows”},{“x”:77,”y”:0.6444444444444445,”text”:”Khalifa Keith run for 2 yds to the ALA 24″},{“x”:78,”y”:0.6521739130434783,”text”:”Khalifa Keith run for 10 yds to the ALA 34 for a 1ST down”},{“x”:79,”y”:0.6382978723404256,”text”:”TEAM run for a loss of 2 yards to the ALA 32″}],”label”:”Alabama Rush SR”,”borderColor”:”rgba(101, 0, 20, 0.8)”,”backgroundColor”:[“rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(101, 0, 20, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(101, 0, 20, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(101, 0, 20, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”],”borderWidth”:2,”pointStyle”:”circle”,”pointRadius”:[4,4,4,4,4,4,0,0,0,4,4,0,0,0,4,4,4,4,4,0,4,4,4,0,0,0,4,4,4,4,0,4,4,0,0,0,4,4,0,0,4,0,0,4,0,4,4,4,0,4,0,0,0,0,0,4,0,4,4,0,4,4,4,4,4,4,4,0,0,4,4,0,4,0,4,0,4,4,4],”pointBorderWidth”:1,”pointBorderColor”:”rgba(101, 0, 20, 0.8)”,”showLine”:true,”embedTooltipLabels”:[[“Alabama Rush SR: 0%”,”Keelon Russell run for 1 yd to the ALA 32″],[“Alabama Rush SR: 0%”,”Daniel Hill run for 3 yds to the ALA 35″],[“Alabama Rush SR: 33%”,”Keelon Russell run for 23 yds to the ECU 42 for a 1ST down”],[“Alabama Rush SR: 50%”,”Daniel Hill run for 8 yds to the ECU 34″],[“Alabama Rush SR: 60%”,”Daniel Hill run for 10 yds to the ECU 24 for a 1ST down”],[“Alabama Rush SR: 50%”,”Trae’shawn Brown run for a loss of 6 yards to the ECU 30″],[“Alabama Rush SR: 50%”,”Keelon Russell pass complete to Daniel Hill for 7 yds to the ECU 28″],[“Alabama Rush SR: 50%”,”Keelon Russell pass complete to Lotzeir Brooks for 5 yds to the ECU 23″],[“Alabama Rush SR: 50%”,”Keelon Russell pass complete to Ryan Coleman-Williams for 18 yds to the ALA 32 for a 1ST down”],[“Alabama Rush SR: 57%”,”Trae’shawn Brown run for 6 yds to the ALA 38″],[“Alabama Rush SR: 63%”,”Keelon Russell run for 6 yds to the ALA 44 for a 1ST down”],[“Alabama Rush SR: 63%”,”Keelon Russell pass incomplete to Ryan Coleman-Williams Alabama Penalty, Illegal Forward Pass (Keelon Russell) to the ALA 39″],[“Alabama Rush SR: 63%”,”Keelon Russell pass incomplete to Ryan Coleman-Williams”],[“Alabama Rush SR: 63%”,”Keelon Russell pass complete to Derek Meadows for 31 yds to the ECU 12 for a 1ST down”],[“Alabama Rush SR: 67%”,”EJ Crowell run for 9 yds to the ECU 3″],[“Alabama Rush SR: 70%”,”EJ Crowell run for 3 yds for a TD (Conor Talty KICK)”],[“Alabama Rush SR: 73%”,”Daniel Hill run for 5 yds to the ECU 21″],[“Alabama Rush SR: 75%”,”Daniel Hill run for 5 yds to the ECU 16 for a 1ST down”],[“Alabama Rush SR: 77%”,”Daniel Hill run for 5 yds to the ECU 11″],[“Alabama Rush SR: 77%”,”Keelon Russell pass incomplete to Kaleb Edwards”],[“Alabama Rush SR: 71%”,”Keelon Russell run for 2 yds to the ECU 9″],[“Alabama Rush SR: 73%”,”Daniel Hill run for 4 yds for a TD (Conor Talty KICK)”],[“Alabama Rush SR: 69%”,”EJ Crowell run for a loss of 1 yard to the ALA 13″],[“Alabama Rush SR: 69%”,”Keelon Russell pass incomplete to Rico Scott”],[“Alabama Rush SR: 69%”,”Keelon Russell pass complete to Ryan Coleman-Williams for 58 yds to the ECU 29 for a 1ST down”],[“Alabama Rush SR: 69%”,”Keelon Russell pass complete to EJ Crowell for 13 yds to the ECU 16 for a 1ST down”],[“Alabama Rush SR: 71%”,”Daniel Hill run for 5 yds to the ECU 11″],[“Alabama Rush SR: 72%”,”Keelon Russell run for 9 yds to the ECU 2 for a 1ST down”],[“Alabama Rush SR: 74%”,”Daniel Hill run for 2 yds for a TD (Conor Talty KICK)”],[“Alabama Rush SR: 70%”,”Trae’shawn Brown run for 2 yds to the ALA 22″],[“Alabama Rush SR: 70%”,”Keelon Russell pass complete to Rico Scott for 15 yds to the ALA 37 for a 1ST down”],[“Alabama Rush SR: 71%”,”Keelon Russell run for 13 yds to the 50 yard line for a 1ST down”],[“Alabama Rush SR: 68%”,”Lotzeir Brooks run for no gain to the 50 yard line”],[“Alabama Rush SR: 68%”,”Keelon Russell sacked by Torin Brazell for a loss of 4 yards to the ECU 46 Alabama Penalty, Intentional Grounding (TEAM) to the ALA 46″],[“Alabama Rush SR: 68%”,”Keelon Russell pass complete to Ryan Coleman-Williams for 12 yds to the ECU 42″],[“Alabama Rush SR: 68%”,”Keelon Russell pass complete to Ryan Coleman-Williams for 16 yds to the ECU 26 for a 1ST down”],[“Alabama Rush SR: 65%”,”EJ Crowell run for 2 yds to the ECU 24″],[“Alabama Rush SR: 67%”,”Ryan Coleman-Williams run for 9 yds to the ECU 15 for a 1ST down”],[“Alabama Rush SR: 67%”,”Keelon Russell pass complete to Rico Scott for 6 yds to the ECU 9″],[“Alabama Rush SR: 67%”,”Keelon Russell pass incomplete”],[“Alabama Rush SR: 64%”,”Keelon Russell run for 1 yd to the ECU 8″],[“Alabama Rush SR: 64%”,”Keelon Russell pass complete to Kaleb Edwards for 1 yd to the ECU 3″],[“Alabama Rush SR: 64%”,”Keelon Russell pass incomplete”],[“Alabama Rush SR: 65%”,”Keelon Russell run for 3 yds for a TD (Conor Talty KICK)”],[“Alabama Rush SR: 65%”,”Keelon Russell pass incomplete to Rico Scott”],[“Alabama Rush SR: 67%”,”Trae’shawn Brown run for 7 yds to the ALA 32″],[“Alabama Rush SR: 64%”,”Trae’shawn Brown run for 5 yds to the ALA 37 Alabama Penalty, Offensive Holding (-10 Yards) to the ALA 27″],[“Alabama Rush SR: 66%”,”Kevin Riley run for 6 yds to the ALA 33″],[“Alabama Rush SR: 66%”,”Keelon Russell pass incomplete”],[“Alabama Rush SR: 67%”,”EJ Crowell run for 5 yds to the ALA 35″],[“Alabama Rush SR: 67%”,”Keelon Russell pass complete to Keelon Russell for a loss of 10 yards to the ALA 25″],[“Alabama Rush SR: 67%”,”Keelon Russell pass incomplete to Ryan Coleman-Williams”],[“Alabama Rush SR: 67%”,”Keelon Russell pass complete to Ryan Coleman-Williams for 26 yds to the ALA 49 for a 1ST down”],[“Alabama Rush SR: 67%”,”Keelon Russell pass incomplete to Marshall Pritchett”],[“Alabama Rush SR: 67%”,”Keelon Russell pass incomplete to Marshall Pritchett”],[“Alabama Rush SR: 68%”,”Keelon Russell run for 17 yds to the ECU 34 for a 1ST down”],[“Alabama Rush SR: 68%”,”Keelon Russell pass complete to Derek Meadows for 6 yds to the ECU 28″],[“Alabama Rush SR: 69%”,”Kevin Riley run for 5 yds to the ECU 23 for a 1ST down”],[“Alabama Rush SR: 67%”,”Kevin Riley run for 1 yd to the ECU 22″],[“Alabama Rush SR: 67%”,”Keelon Russell pass complete to Kaleb Edwards for 20 yds to the ECU 2 for a 1ST down”],[“Alabama Rush SR: 68%”,”Trae’shawn Brown run for 2 yds for a TD (Conor Talty KICK)”],[“Alabama Rush SR: 69%”,”EJ Crowell run for 13 yds to the ALA 40 for a 1ST down”],[“Alabama Rush SR: 69%”,”EJ Crowell run for 6 yds to the ALA 46″],[“Alabama Rush SR: 68%”,”Kevin Riley run for 2 yds to the ALA 48″],[“Alabama Rush SR: 68%”,”Kevin Riley run for 3 yds to the ECU 49 for a 1ST down”],[“Alabama Rush SR: 69%”,”Keelon Russell run for 16 yds to the ECU 33 for a 1ST down”],[“Alabama Rush SR: 68%”,”Kevin Riley run for no gain to the ECU 33″],[“Alabama Rush SR: 68%”,”Keelon Russell pass complete to Derek Meadows for 7 yds to the ECU 26″],[“Alabama Rush SR: 68%”,”Keelon Russell pass complete to Lotzeir Brooks for 18 yds to the ECU 8 for a 1ST down”],[“Alabama Rush SR: 68%”,”Keelon Russell run for 6 yds to the ECU 2″],[“Alabama Rush SR: 67%”,”Trae’shawn Brown run for a loss of 1 yard to the ECU 3″],[“Alabama Rush SR: 67%”,”Keelon Russell pass incomplete”],[“Alabama Rush SR: 65%”,”Khalifa Keith run for no gain to the ALA 12″],[“Alabama Rush SR: 65%”,”Austin Mack pass complete to Danny Lewis for 4 yds to the ALA 16″],[“Alabama Rush SR: 66%”,”Austin Mack run for 6 yds to the ALA 22 for a 1ST down”],[“Alabama Rush SR: 66%”,”Austin Mack pass incomplete to Derek Meadows”],[“Alabama Rush SR: 64%”,”Khalifa Keith run for 2 yds to the ALA 24″],[“Alabama Rush SR: 65%”,”Khalifa Keith run for 10 yds to the ALA 34 for a 1ST down”],[“Alabama Rush SR: 64%”,”TEAM run for a loss of 2 yards to the ALA 32″]]},{“data”:[{“x”:1,”y”:0,”text”:”Keelon Russell run for 1 yd to the ALA 32″},{“x”:2,”y”:0,”text”:”Daniel Hill run for 3 yds to the ALA 35″},{“x”:3,”y”:0,”text”:”Keelon Russell run for 23 yds to the ECU 42 for a 1ST down”},{“x”:4,”y”:0,”text”:”Daniel Hill run for 8 yds to the ECU 34″},{“x”:5,”y”:0,”text”:”Daniel Hill run for 10 yds to the ECU 24 for a 1ST down”},{“x”:6,”y”:0,”text”:”Trae’shawn Brown run for a loss of 6 yards to the ECU 30″},{“x”:7,”y”:0,”text”:”Keelon Russell pass complete to Daniel Hill for 7 yds to the ECU 28″},{“x”:8,”y”:0,”text”:”Keelon Russell pass complete to Lotzeir Brooks for 5 yds to the ECU 23″},{“x”:9,”y”:0.3333333333333333,”text”:”Keelon Russell pass complete to Ryan Coleman-Williams for 18 yds to the ALA 32 for a 1ST down”},{“x”:10,”y”:0.3333333333333333,”text”:”Trae’shawn Brown run for 6 yds to the ALA 38″},{“x”:11,”y”:0.3333333333333333,”text”:”Keelon Russell run for 6 yds to the ALA 44 for a 1ST down”},{“x”:12,”y”:0.25,”text”:”Keelon Russell pass incomplete to Ryan Coleman-Williams Alabama Penalty, Illegal Forward Pass (Keelon Russell) to the ALA 39″},{“x”:13,”y”:0.2,”text”:”Keelon Russell pass incomplete to Ryan Coleman-Williams”},{“x”:14,”y”:0.3333333333333333,”text”:”Keelon Russell pass complete to Derek Meadows for 31 yds to the ECU 12 for a 1ST down”},{“x”:15,”y”:0.3333333333333333,”text”:”EJ Crowell run for 9 yds to the ECU 3″},{“x”:16,”y”:0.3333333333333333,”text”:”EJ Crowell run for 3 yds for a TD (Conor Talty KICK)”},{“x”:17,”y”:0.3333333333333333,”text”:”Daniel Hill run for 5 yds to the ECU 21″},{“x”:18,”y”:0.3333333333333333,”text”:”Daniel Hill run for 5 yds to the ECU 16 for a 1ST down”},{“x”:19,”y”:0.3333333333333333,”text”:”Daniel Hill run for 5 yds to the ECU 11″},{“x”:20,”y”:0.2857142857142857,”text”:”Keelon Russell pass incomplete to Kaleb Edwards”},{“x”:21,”y”:0.2857142857142857,”text”:”Keelon Russell run for 2 yds to the ECU 9″},{“x”:22,”y”:0.2857142857142857,”text”:”Daniel Hill run for 4 yds for a TD (Conor Talty KICK)”},{“x”:23,”y”:0.2857142857142857,”text”:”EJ Crowell run for a loss of 1 yard to the ALA 13″},{“x”:24,”y”:0.25,”text”:”Keelon Russell pass incomplete to Rico Scott”},{“x”:25,”y”:0.3333333333333333,”text”:”Keelon Russell pass complete to Ryan Coleman-Williams for 58 yds to the ECU 29 for a 1ST down”},{“x”:26,”y”:0.4,”text”:”Keelon Russell pass complete to EJ Crowell for 13 yds to the ECU 16 for a 1ST down”},{“x”:27,”y”:0.4,”text”:”Daniel Hill run for 5 yds to the ECU 11″},{“x”:28,”y”:0.4,”text”:”Keelon Russell run for 9 yds to the ECU 2 for a 1ST down”},{“x”:29,”y”:0.4,”text”:”Daniel Hill run for 2 yds for a TD (Conor Talty KICK)”},{“x”:30,”y”:0.4,”text”:”Trae’shawn Brown run for 2 yds to the ALA 22″},{“x”:31,”y”:0.45454545454545453,”text”:”Keelon Russell pass complete to Rico Scott for 15 yds to the ALA 37 for a 1ST down”},{“x”:32,”y”:0.45454545454545453,”text”:”Keelon Russell run for 13 yds to the 50 yard line for a 1ST down”},{“x”:33,”y”:0.45454545454545453,”text”:”Lotzeir Brooks run for no gain to the 50 yard line”},{“x”:34,”y”:0.4166666666666667,”text”:”Keelon Russell sacked by Torin Brazell for a loss of 4 yards to the ECU 46 Alabama Penalty, Intentional Grounding (TEAM) to the ALA 46″},{“x”:35,”y”:0.38461538461538464,”text”:”Keelon Russell pass complete to Ryan Coleman-Williams for 12 yds to the ECU 42″},{“x”:36,”y”:0.42857142857142855,”text”:”Keelon Russell pass complete to Ryan Coleman-Williams for 16 yds to the ECU 26 for a 1ST down”},{“x”:37,”y”:0.42857142857142855,”text”:”EJ Crowell run for 2 yds to the ECU 24″},{“x”:38,”y”:0.42857142857142855,”text”:”Ryan Coleman-Williams run for 9 yds to the ECU 15 for a 1ST down”},{“x”:39,”y”:0.4666666666666667,”text”:”Keelon Russell pass complete to Rico Scott for 6 yds to the ECU 9″},{“x”:40,”y”:0.4375,”text”:”Keelon Russell pass incomplete”},{“x”:41,”y”:0.4375,”text”:”Keelon Russell run for 1 yd to the ECU 8″},{“x”:42,”y”:0.4117647058823529,”text”:”Keelon Russell pass complete to Kaleb Edwards for 1 yd to the ECU 3″},{“x”:43,”y”:0.3888888888888889,”text”:”Keelon Russell pass incomplete”},{“x”:44,”y”:0.3888888888888889,”text”:”Keelon Russell run for 3 yds for a TD (Conor Talty KICK)”},{“x”:45,”y”:0.3684210526315789,”text”:”Keelon Russell pass incomplete to Rico Scott”},{“x”:46,”y”:0.3684210526315789,”text”:”Trae’shawn Brown run for 7 yds to the ALA 32″},{“x”:47,”y”:0.3684210526315789,”text”:”Trae’shawn Brown run for 5 yds to the ALA 37 Alabama Penalty, Offensive Holding (-10 Yards) to the ALA 27″},{“x”:48,”y”:0.3684210526315789,”text”:”Kevin Riley run for 6 yds to the ALA 33″},{“x”:49,”y”:0.35,”text”:”Keelon Russell pass incomplete”},{“x”:50,”y”:0.35,”text”:”EJ Crowell run for 5 yds to the ALA 35″},{“x”:51,”y”:0.3333333333333333,”text”:”Keelon Russell pass complete to Keelon Russell for a loss of 10 yards to the ALA 25″},{“x”:52,”y”:0.3181818181818182,”text”:”Keelon Russell pass incomplete to Ryan Coleman-Williams”},{“x”:53,”y”:0.34782608695652173,”text”:”Keelon Russell pass complete to Ryan Coleman-Williams for 26 yds to the ALA 49 for a 1ST down”},{“x”:54,”y”:0.3333333333333333,”text”:”Keelon Russell pass incomplete to Marshall Pritchett”},{“x”:55,”y”:0.32,”text”:”Keelon Russell pass incomplete to Marshall Pritchett”},{“x”:56,”y”:0.32,”text”:”Keelon Russell run for 17 yds to the ECU 34 for a 1ST down”},{“x”:57,”y”:0.34615384615384615,”text”:”Keelon Russell pass complete to Derek Meadows for 6 yds to the ECU 28″},{“x”:58,”y”:0.34615384615384615,”text”:”Kevin Riley run for 5 yds to the ECU 23 for a 1ST down”},{“x”:59,”y”:0.34615384615384615,”text”:”Kevin Riley run for 1 yd to the ECU 22″},{“x”:60,”y”:0.37037037037037035,”text”:”Keelon Russell pass complete to Kaleb Edwards for 20 yds to the ECU 2 for a 1ST down”},{“x”:61,”y”:0.37037037037037035,”text”:”Trae’shawn Brown run for 2 yds for a TD (Conor Talty KICK)”},{“x”:62,”y”:0.37037037037037035,”text”:”EJ Crowell run for 13 yds to the ALA 40 for a 1ST down”},{“x”:63,”y”:0.37037037037037035,”text”:”EJ Crowell run for 6 yds to the ALA 46″},{“x”:64,”y”:0.37037037037037035,”text”:”Kevin Riley run for 2 yds to the ALA 48″},{“x”:65,”y”:0.37037037037037035,”text”:”Kevin Riley run for 3 yds to the ECU 49 for a 1ST down”},{“x”:66,”y”:0.37037037037037035,”text”:”Keelon Russell run for 16 yds to the ECU 33 for a 1ST down”},{“x”:67,”y”:0.37037037037037035,”text”:”Kevin Riley run for no gain to the ECU 33″},{“x”:68,”y”:0.39285714285714285,”text”:”Keelon Russell pass complete to Derek Meadows for 7 yds to the ECU 26″},{“x”:69,”y”:0.41379310344827586,”text”:”Keelon Russell pass complete to Lotzeir Brooks for 18 yds to the ECU 8 for a 1ST down”},{“x”:70,”y”:0.41379310344827586,”text”:”Keelon Russell run for 6 yds to the ECU 2″},{“x”:71,”y”:0.41379310344827586,”text”:”Trae’shawn Brown run for a loss of 1 yard to the ECU 3″},{“x”:72,”y”:0.4,”text”:”Keelon Russell pass incomplete”},{“x”:73,”y”:0.4,”text”:”Khalifa Keith run for no gain to the ALA 12″},{“x”:74,”y”:0.3870967741935484,”text”:”Austin Mack pass complete to Danny Lewis for 4 yds to the ALA 16″},{“x”:75,”y”:0.3870967741935484,”text”:”Austin Mack run for 6 yds to the ALA 22 for a 1ST down”},{“x”:76,”y”:0.375,”text”:”Austin Mack pass incomplete to Derek Meadows”},{“x”:77,”y”:0.375,”text”:”Khalifa Keith run for 2 yds to the ALA 24″},{“x”:78,”y”:0.375,”text”:”Khalifa Keith run for 10 yds to the ALA 34 for a 1ST down”},{“x”:79,”y”:0.375,”text”:”TEAM run for a loss of 2 yards to the ALA 32″}],”label”:”Alabama Pass SR”,”borderColor”:”rgba(101, 0, 20, 0.8)”,”backgroundColor”:[“rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(101, 0, 20, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(101, 0, 20, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(101, 0, 20, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(101, 0, 20, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(101, 0, 20, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(101, 0, 20, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(101, 0, 20, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(101, 0, 20, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”],”borderWidth”:2,”pointStyle”:”triangle”,”pointRadius”:[0,0,0,0,0,0,6,6,6,0,0,6,6,6,0,0,0,0,0,6,0,0,0,6,6,6,0,0,0,0,6,0,0,6,6,6,0,0,6,6,0,6,6,0,6,0,0,0,6,0,6,6,6,6,6,0,6,0,0,6,0,0,0,0,0,0,0,6,6,0,0,6,0,6,0,6,0,0,0],”pointBorderWidth”:1,”pointBorderColor”:”rgba(101, 0, 20, 0.8)”,”borderDash”:[4,4],”showLine”:true,”embedTooltipLabels”:[[“Alabama Pass SR: 0%”,”Keelon Russell run for 1 yd to the ALA 32″],[“Alabama Pass SR: 0%”,”Daniel Hill run for 3 yds to the ALA 35″],[“Alabama Pass SR: 0%”,”Keelon Russell run for 23 yds to the ECU 42 for a 1ST down”],[“Alabama Pass SR: 0%”,”Daniel Hill run for 8 yds to the ECU 34″],[“Alabama Pass SR: 0%”,”Daniel Hill run for 10 yds to the ECU 24 for a 1ST down”],[“Alabama Pass SR: 0%”,”Trae’shawn Brown run for a loss of 6 yards to the ECU 30″],[“Alabama Pass SR: 0%”,”Keelon Russell pass complete to Daniel Hill for 7 yds to the ECU 28″],[“Alabama Pass SR: 0%”,”Keelon Russell pass complete to Lotzeir Brooks for 5 yds to the ECU 23″],[“Alabama Pass SR: 33%”,”Keelon Russell pass complete to Ryan Coleman-Williams for 18 yds to the ALA 32 for a 1ST down”],[“Alabama Pass SR: 33%”,”Trae’shawn Brown run for 6 yds to the ALA 38″],[“Alabama Pass SR: 33%”,”Keelon Russell run for 6 yds to the ALA 44 for a 1ST down”],[“Alabama Pass SR: 25%”,”Keelon Russell pass incomplete to Ryan Coleman-Williams Alabama Penalty, Illegal Forward Pass (Keelon Russell) to the ALA 39″],[“Alabama Pass SR: 20%”,”Keelon Russell pass incomplete to Ryan Coleman-Williams”],[“Alabama Pass SR: 33%”,”Keelon Russell pass complete to Derek Meadows for 31 yds to the ECU 12 for a 1ST down”],[“Alabama Pass SR: 33%”,”EJ Crowell run for 9 yds to the ECU 3″],[“Alabama Pass SR: 33%”,”EJ Crowell run for 3 yds for a TD (Conor Talty KICK)”],[“Alabama Pass SR: 33%”,”Daniel Hill run for 5 yds to the ECU 21″],[“Alabama Pass SR: 33%”,”Daniel Hill run for 5 yds to the ECU 16 for a 1ST down”],[“Alabama Pass SR: 33%”,”Daniel Hill run for 5 yds to the ECU 11″],[“Alabama Pass SR: 29%”,”Keelon Russell pass incomplete to Kaleb Edwards”],[“Alabama Pass SR: 29%”,”Keelon Russell run for 2 yds to the ECU 9″],[“Alabama Pass SR: 29%”,”Daniel Hill run for 4 yds for a TD (Conor Talty KICK)”],[“Alabama Pass SR: 29%”,”EJ Crowell run for a loss of 1 yard to the ALA 13″],[“Alabama Pass SR: 25%”,”Keelon Russell pass incomplete to Rico Scott”],[“Alabama Pass SR: 33%”,”Keelon Russell pass complete to Ryan Coleman-Williams for 58 yds to the ECU 29 for a 1ST down”],[“Alabama Pass SR: 40%”,”Keelon Russell pass complete to EJ Crowell for 13 yds to the ECU 16 for a 1ST down”],[“Alabama Pass SR: 40%”,”Daniel Hill run for 5 yds to the ECU 11″],[“Alabama Pass SR: 40%”,”Keelon Russell run for 9 yds to the ECU 2 for a 1ST down”],[“Alabama Pass SR: 40%”,”Daniel Hill run for 2 yds for a TD (Conor Talty KICK)”],[“Alabama Pass SR: 40%”,”Trae’shawn Brown run for 2 yds to the ALA 22″],[“Alabama Pass SR: 45%”,”Keelon Russell pass complete to Rico Scott for 15 yds to the ALA 37 for a 1ST down”],[“Alabama Pass SR: 45%”,”Keelon Russell run for 13 yds to the 50 yard line for a 1ST down”],[“Alabama Pass SR: 45%”,”Lotzeir Brooks run for no gain to the 50 yard line”],[“Alabama Pass SR: 42%”,”Keelon Russell sacked by Torin Brazell for a loss of 4 yards to the ECU 46 Alabama Penalty, Intentional Grounding (TEAM) to the ALA 46″],[“Alabama Pass SR: 38%”,”Keelon Russell pass complete to Ryan Coleman-Williams for 12 yds to the ECU 42″],[“Alabama Pass SR: 43%”,”Keelon Russell pass complete to Ryan Coleman-Williams for 16 yds to the ECU 26 for a 1ST down”],[“Alabama Pass SR: 43%”,”EJ Crowell run for 2 yds to the ECU 24″],[“Alabama Pass SR: 43%”,”Ryan Coleman-Williams run for 9 yds to the ECU 15 for a 1ST down”],[“Alabama Pass SR: 47%”,”Keelon Russell pass complete to Rico Scott for 6 yds to the ECU 9″],[“Alabama Pass SR: 44%”,”Keelon Russell pass incomplete”],[“Alabama Pass SR: 44%”,”Keelon Russell run for 1 yd to the ECU 8″],[“Alabama Pass SR: 41%”,”Keelon Russell pass complete to Kaleb Edwards for 1 yd to the ECU 3″],[“Alabama Pass SR: 39%”,”Keelon Russell pass incomplete”],[“Alabama Pass SR: 39%”,”Keelon Russell run for 3 yds for a TD (Conor Talty KICK)”],[“Alabama Pass SR: 37%”,”Keelon Russell pass incomplete to Rico Scott”],[“Alabama Pass SR: 37%”,”Trae’shawn Brown run for 7 yds to the ALA 32″],[“Alabama Pass SR: 37%”,”Trae’shawn Brown run for 5 yds to the ALA 37 Alabama Penalty, Offensive Holding (-10 Yards) to the ALA 27″],[“Alabama Pass SR: 37%”,”Kevin Riley run for 6 yds to the ALA 33″],[“Alabama Pass SR: 35%”,”Keelon Russell pass incomplete”],[“Alabama Pass SR: 35%”,”EJ Crowell run for 5 yds to the ALA 35″],[“Alabama Pass SR: 33%”,”Keelon Russell pass complete to Keelon Russell for a loss of 10 yards to the ALA 25″],[“Alabama Pass SR: 32%”,”Keelon Russell pass incomplete to Ryan Coleman-Williams”],[“Alabama Pass SR: 35%”,”Keelon Russell pass complete to Ryan Coleman-Williams for 26 yds to the ALA 49 for a 1ST down”],[“Alabama Pass SR: 33%”,”Keelon Russell pass incomplete to Marshall Pritchett”],[“Alabama Pass SR: 32%”,”Keelon Russell pass incomplete to Marshall Pritchett”],[“Alabama Pass SR: 32%”,”Keelon Russell run for 17 yds to the ECU 34 for a 1ST down”],[“Alabama Pass SR: 35%”,”Keelon Russell pass complete to Derek Meadows for 6 yds to the ECU 28″],[“Alabama Pass SR: 35%”,”Kevin Riley run for 5 yds to the ECU 23 for a 1ST down”],[“Alabama Pass SR: 35%”,”Kevin Riley run for 1 yd to the ECU 22″],[“Alabama Pass SR: 37%”,”Keelon Russell pass complete to Kaleb Edwards for 20 yds to the ECU 2 for a 1ST down”],[“Alabama Pass SR: 37%”,”Trae’shawn Brown run for 2 yds for a TD (Conor Talty KICK)”],[“Alabama Pass SR: 37%”,”EJ Crowell run for 13 yds to the ALA 40 for a 1ST down”],[“Alabama Pass SR: 37%”,”EJ Crowell run for 6 yds to the ALA 46″],[“Alabama Pass SR: 37%”,”Kevin Riley run for 2 yds to the ALA 48″],[“Alabama Pass SR: 37%”,”Kevin Riley run for 3 yds to the ECU 49 for a 1ST down”],[“Alabama Pass SR: 37%”,”Keelon Russell run for 16 yds to the ECU 33 for a 1ST down”],[“Alabama Pass SR: 37%”,”Kevin Riley run for no gain to the ECU 33″],[“Alabama Pass SR: 39%”,”Keelon Russell pass complete to Derek Meadows for 7 yds to the ECU 26″],[“Alabama Pass SR: 41%”,”Keelon Russell pass complete to Lotzeir Brooks for 18 yds to the ECU 8 for a 1ST down”],[“Alabama Pass SR: 41%”,”Keelon Russell run for 6 yds to the ECU 2″],[“Alabama Pass SR: 41%”,”Trae’shawn Brown run for a loss of 1 yard to the ECU 3″],[“Alabama Pass SR: 40%”,”Keelon Russell pass incomplete”],[“Alabama Pass SR: 40%”,”Khalifa Keith run for no gain to the ALA 12″],[“Alabama Pass SR: 39%”,”Austin Mack pass complete to Danny Lewis for 4 yds to the ALA 16″],[“Alabama Pass SR: 39%”,”Austin Mack run for 6 yds to the ALA 22 for a 1ST down”],[“Alabama Pass SR: 38%”,”Austin Mack pass incomplete to Derek Meadows”],[“Alabama Pass SR: 38%”,”Khalifa Keith run for 2 yds to the ALA 24″],[“Alabama Pass SR: 38%”,”Khalifa Keith run for 10 yds to the ALA 34 for a 1ST down”],[“Alabama Pass SR: 38%”,”TEAM run for a loss of 2 yards to the ALA 32″]]},{“label”:”Quarters”,”data”:[{“x”:1,”y”:0},{“x”:1,”y”:1},{“x”:79,”y”:1},{“x”:79,”y”:0},{“x”:22,”y”:0},{“x”:22,”y”:1},{“x”:79,”y”:1},{“x”:79,”y”:0},{“x”:45,”y”:0},{“x”:45,”y”:1},{“x”:79,”y”:1},{“x”:79,”y”:0},{“x”:61,”y”:0},{“x”:61,”y”:1},{“x”:79,”y”:1},{“x”:79,”y”:0}],”borderColor”:”rgba(0,0,0,0.1)”,”borderWidth”:1,”tension”:0,”fill”:false,”pointRadius”:0,”showLine”:true,”datalabels”:{“display”:false},”embedTooltipLabels”:[[“Quarters: 0%”],[“Quarters: 100%”],[“Quarters: 100%”],[“Quarters: 0%”],[“Quarters: 0%”],[“Quarters: 100%”],[“Quarters: 100%”],[“Quarters: 0%”],[“Quarters: 0%”],[“Quarters: 100%”],[“Quarters: 100%”],[“Quarters: 0%”],[“Quarters: 0%”],[“Quarters: 100%”],[“Quarters: 100%”],[“Quarters: 0%”]]}]},
options: {“responsive”:true,”maintainAspectRatio”:false,”plugins”:{“datalabels”:{“display”:false,”color”:”white”,”backgroundColor”:”#26262660″,”padding”:4,”borderRadius”:4},”legend”:{“position”:”top”,”align”:”start”,”labels”:{“usePointStyle”:false,”boxWidth”:12,”boxHeight”:12,”padding”:12,”filter”:e=>!e.text.includes(“NCAA Avg SR”)&&!e.text.includes(“50/50”)&&!e.text.includes(“{o.fillStyle=”white”}),n},”borderRadius”:15}},”tooltip”:{“filter”:e=>!e.dataset.label.includes(“NCAA Avg SR”)&&!e.dataset.label.includes(“50/50”)&&!e.dataset.label.includes(“Math.floor(r)},”grid”:{“display”:false}},”y”:{“max”:1,”min”:0,”ticks”:{“callback”:e=>`${Math.round(e*100)}%`}}},”elements”:{“line”:{“tension”:0.25,”borderWidth”:2.2},”point”:{“radius”:3,”pointHoverRadius”:8,”pointBorderWidth”:1}},”animation”:{“duration”:1}},
plugins: [ChartDataLabels]
});
canvas.chartInstance = chart;
} catch (error) {
console.error(‘Error initializing chart:’, error);
showError(‘Failed to initialize chart: ‘ + error.message);
}
}
if (document.readyState === ‘loading’) {
document.addEventListener(‘DOMContentLoaded’, initChart);
} else {
initChart();
}
})();
But, yes, in terms of efficiency, the passing game dragged way behind the running game. Things were looking up there in the 2nd quarter especially, but passing efficiency wavered in that 30-40% SR range for much of the game, and ended up cumulatively “slightly below Average” by the time Keelon was subbed out.
That’s notably different than the Rushing Success rates, soaring in the 65-72% SR range, which didn’t even dip much in garbage time.
(And, um, Austin Mack didn’t tally any successful passes either, though one did get caught for short yardage).
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv {
font-family: -apple-system, BlinkMacSystemFont, ‘Segoe UI’, ‘Roboto’, sans-serif;
margin: 0;
padding: 0;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .chart-container {
background: white;
border-radius: 12px;
border: 1px solid #e5e5e5;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
overflow: hidden;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .chart-header {
padding: 18px 24px 14px;
border-bottom: 1px solid #e5e5e5;
background: white;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .chart-title {
font-size: 18px;
font-weight: 600;
color: #171717;
margin: 0;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .chart-subtitle {
font-size: 11px;
font-weight: 400;
color: #737373;
margin: 4px 0 0 0;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .chart-content {
padding: 20px 24px 24px !important;
height: 400px;
}
@media (max-width: 640px) {
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .chart-content {
padding: 12px 16px 20px !important;
height: 624px !important;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .chart-header {
padding: 12px 16px 12px !important;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .embed-footer-top {
padding: 8px 12px !important;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .data-definitions {
padding: 12px !important;
}
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .embed-footer {
border-top: 1px solid #e5e5e5;
font-size: 12px;
color: #737373;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .embed-footer-top {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 16px;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .embed-footer-link {
color: #737373;
text-decoration: none;
font-weight: 500;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .embed-footer-link:hover {
color: #525252;
text-decoration: underline;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .data-definitions-toggle {
background: none;
border: none;
color: #737373;
font-size: 12px;
font-weight: 500;
cursor: pointer;
display: flex;
align-items: center;
gap: 4px;
padding: 0;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .data-definitions-toggle:hover {
color: #525252;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .caret {
transition: transform 0.2s ease;
font-size: 10px;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .caret.expanded {
transform: rotate(180deg);
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .data-definitions {
display: none;
padding: 16px;
background: #fafafa;
border-top: 1px solid #e5e5e5;
font-size: 12px;
line-height: 1.4;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .data-definitions.expanded {
display: block;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .data-definitions ul {
margin: 0;
padding-left: 0;
list-style: none;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .data-definitions li {
margin-bottom: 4px;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .details-table {
width: 100%;
border-collapse: collapse;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .details-table td {
padding: 5px 8px 5px 0;
border-bottom: 1px solid #ececec;
vertical-align: top;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .details-table tr:last-child td {
border-bottom: none;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .details-label {
font-weight: 600;
color: #171717;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .details-value {
color: #404040;
}
.cfb-chart-embed-cfb-chart-1788739024776-mng22vatv .details-hint {
color: #737373;
text-align: right;
}
Top receivers
Alabama vs. East Carolina • Sep 5, 2026
- Based roughly on the SP+ analytic system
- Successful play: Gains enough needed yards (50% 1st down, 70% on 2nd, 100% on 3rd/4th)
- Success Rate (SR): Percentage of plays that were successful
- Explosiveness Rate (XR): Percentage of plays gaining 15+ yards
// Toggle details accordion
function toggleDefinitions_cfb_chart_1788739024776_mng22vatv() {
const definitions = document.getElementById(‘dataDefinitions_cfb-chart-1788739024776-mng22vatv’);
const caret = document.getElementById(‘caret_cfb-chart-1788739024776-mng22vatv’);
if (definitions.classList.contains(‘expanded’)) {
definitions.classList.remove(‘expanded’);
caret.classList.remove(‘expanded’);
} else {
definitions.classList.add(‘expanded’);
caret.classList.add(‘expanded’);
}
}
// Initialize chart
(function() {
‘use strict’;
let retryCount = 0;
const maxRetries = 50;
function showError(message) {
const canvas = document.getElementById(‘cfb-chart-1788739024776-mng22vatv’);
if (canvas && canvas.parentNode) {
canvas.parentNode.innerHTML = ‘
‘;
}
}
function initChart() {
retryCount++;
if (typeof Chart === ‘undefined’ || typeof ChartDataLabels === ‘undefined’) {
if (retryCount >= maxRetries) {
showError(‘Chart library failed to load. Please refresh the page.’);
return;
}
setTimeout(initChart, 100);
return;
}
const canvas = document.getElementById(‘cfb-chart-1788739024776-mng22vatv’);
if (!canvas) {
setTimeout(initChart, 100);
return;
}
if (canvas.chartInstance) {
return;
}
try {
// The app’s global Chart.js defaults are pre-merged into the
// options below, and the datalabels plugin is attached to
// this chart only — nothing global is touched, so the host
// page’s own Chart.js charts stay unaffected.
const chart = new Chart(canvas, {
type: ‘bar’,
data: {“labels”:[“R.Coleman-Wil…”,”D.Meadows”,”L.Brooks”,”R.Scott”,”K.Edwards”,”D.Hill”,”E.Crowell”,”K.Russell”,”D.Lewis”],”datasets”:[{“label”:”Explosive catches”,”data”:[4,1,1,1,1,0,0,0,0],”backgroundColor”:[“#3c000cCC”,”#3c000cCC”,”#3c000cCC”,”#3c000cCC”,”#3c000cCC”,”#3c000cCC”,”#3c000cCC”,”#3c000cCC”,”#3c000cCC”],”borderColor”:”#374151″,”borderWidth”:1,”embedTooltipLabels”:[[“Explosive catches: 4 plays”],[“Explosive catches: 1 play”],[“Explosive catches: 1 play”],[“Explosive catches: 1 play”],[“Explosive catches: 1 play”],[“Explosive catches: 0 plays”],[“Explosive catches: 0 plays”],[“Explosive catches: 0 plays”],[“Explosive catches: 0 plays”]],”embedDataLabels”:[4,1,1,1,1,null,null,null,null]},{“label”:”Successful catches”,”data”:[0,2,0,1,0,0,1,0,0],”backgroundColor”:[“rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”],”borderColor”:”#374151″,”borderWidth”:1,”embedTooltipLabels”:[[“Successful catches: 0 plays”],[“Successful catches: 2 plays”],[“Successful catches: 0 plays”],[“Successful catches: 1 play”],[“Successful catches: 0 plays”],[“Successful catches: 0 plays”],[“Successful catches: 1 play”],[“Successful catches: 0 plays”],[“Successful catches: 0 plays”]],”embedDataLabels”:[null,2,null,1,null,null,1,null,null]},{“label”:”Other catches”,”data”:[1,0,1,0,1,1,0,1,1],”backgroundColor”:[“rgba(245, 229, 233, 0.8)”,”rgba(245, 229, 233, 0.8)”,”rgba(245, 229, 233, 0.8)”,”rgba(245, 229, 233, 0.8)”,”rgba(245, 229, 233, 0.8)”,”rgba(245, 229, 233, 0.8)”,”rgba(245, 229, 233, 0.8)”,”rgba(245, 229, 233, 0.8)”,”rgba(245, 229, 233, 0.8)”],”borderColor”:”#374151″,”borderWidth”:1,”embedTooltipLabels”:[[“Other catches: 1 play”],[“Other catches: 0 plays”],[“Other catches: 1 play”],[“Other catches: 0 plays”],[“Other catches: 1 play”],[“Other catches: 1 play”],[“Other catches: 0 plays”],[“Other catches: 1 play”],[“Other catches: 1 play”]],”embedDataLabels”:[1,null,1,null,1,1,null,1,1]}]},
options: {“responsive”:true,”maintainAspectRatio”:false,”plugins”:{“datalabels”:{“display”:true,”color”:”white”,”font”:{“weight”:”normal”,”size”:12},”formatter”:function(c,n){const i=n.dataset&&n.dataset.embedDataLabels;return i!=null?i[n.dataIndex]:c},”anchor”:”center”,”align”:”center”,”backgroundColor”:function(e){return e.dataset.data[e.dataIndex]>0?”#26262660″:”transparent”},”borderColor”:function(e){return e.dataset.data[e.dataIndex]>0?”rgba(255, 255, 255, 0.2)”:”transparent”},”padding”:4,”borderRadius”:4},”legend”:{“position”:”top”,”align”:”start”,”labels”:{“usePointStyle”:false,”boxWidth”:12,”boxHeight”:12,”padding”:12,”filter”:e=>!e.text.includes(“NCAA Avg SR”)&&!e.text.includes(“50/50”)&&!e.text.includes(“< 0”)&&!e.text.includes(“Quarters”),”borderRadius”:15}},”tooltip”:{“callbacks”:{“label”:function(n){const i=n.dataset&&n.dataset.embedTooltipLabels;return i&&i[n.dataIndex]!==void 0&&i[n.dataIndex]!==null?i[n.dataIndex]:(n.dataset&&n.dataset.label?n.dataset.label+”: “:””)+n.formattedValue}}}},”indexAxis”:”y”,”scales”:{“x”:{“stacked”:true},”y”:{“stacked”:true}},”animation”:{“duration”:1},”elements”:{“line”:{“tension”:0.25,”borderWidth”:1},”point”:{“radius”:3,”pointHoverRadius”:8,”pointBorderWidth”:1}}},
plugins: [ChartDataLabels]
});
canvas.chartInstance = chart;
} catch (error) {
console.error(‘Error initializing chart:’, error);
showError(‘Failed to initialize chart: ‘ + error.message);
}
}
if (document.readyState === ‘loading’) {
document.addEventListener(‘DOMContentLoaded’, initChart);
} else {
initChart();
}
})();
And, of course, there were some fast young men catching those passes, though I feel like we saw a few surprises in this chart already:
- Ryan Coleman-Williams (RCW) had some distressing drops early — please, don’t be a thing in 2026 — but ended up pulling in 4 explosive catches for a big receiver line in this game.
- And then your next man up is Derek Meadows, a tall lad that we thought might not even see meaningful snaps in this first game! Maybe I’m overly swayed by an early fluke chart, but I think I’m a Meadows guy this year too. Big giraffe energy in that one.
- Rico Scott. getting his due was nice to see too; we thought it’d be “Meadows vs. Rico,” but it might just be a splash of each most weeks.,
- And in the negative surprises: I was curious to see so few passes to running backs, with just one each to Daniel Hill and E.J. Crowell. Heck, I’m pretty sure in 2025 we saw more receiving yardage than rushing from Daniel Hill. I wonder if it’s a philosophy shift with a refreshed OL, or just a more conservative game plan in this one.
Other odds and ends from the opener
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns {
font-family: -apple-system, BlinkMacSystemFont, ‘Segoe UI’, ‘Roboto’, sans-serif;
margin: 0;
padding: 0;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .chart-container {
background: white;
border-radius: 12px;
border: 1px solid #e5e5e5;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
overflow: hidden;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .chart-header {
padding: 18px 24px 14px;
border-bottom: 1px solid #e5e5e5;
background: white;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .chart-title {
font-size: 18px;
font-weight: 600;
color: #171717;
margin: 0;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .chart-subtitle {
font-size: 11px;
font-weight: 400;
color: #737373;
margin: 4px 0 0 0;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .chart-content {
padding: 20px 24px 24px !important;
height: 325px;
}
@media (max-width: 640px) {
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .chart-content {
padding: 12px 16px 20px !important;
height: 280px !important;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .chart-header {
padding: 12px 16px 12px !important;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .embed-footer-top {
padding: 8px 12px !important;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .data-definitions {
padding: 12px !important;
}
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .embed-footer {
border-top: 1px solid #e5e5e5;
font-size: 12px;
color: #737373;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .embed-footer-top {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 16px;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .embed-footer-link {
color: #737373;
text-decoration: none;
font-weight: 500;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .embed-footer-link:hover {
color: #525252;
text-decoration: underline;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .data-definitions-toggle {
background: none;
border: none;
color: #737373;
font-size: 12px;
font-weight: 500;
cursor: pointer;
display: flex;
align-items: center;
gap: 4px;
padding: 0;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .data-definitions-toggle:hover {
color: #525252;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .caret {
transition: transform 0.2s ease;
font-size: 10px;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .caret.expanded {
transform: rotate(180deg);
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .data-definitions {
display: none;
padding: 16px;
background: #fafafa;
border-top: 1px solid #e5e5e5;
font-size: 12px;
line-height: 1.4;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .data-definitions.expanded {
display: block;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .data-definitions ul {
margin: 0;
padding-left: 0;
list-style: none;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .data-definitions li {
margin-bottom: 4px;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .details-table {
width: 100%;
border-collapse: collapse;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .details-table td {
padding: 5px 8px 5px 0;
border-bottom: 1px solid #ececec;
vertical-align: top;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .details-table tr:last-child td {
border-bottom: none;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .details-label {
font-weight: 600;
color: #171717;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .details-value {
color: #404040;
}
.cfb-chart-embed-cfb-chart-1788740494315-qq87v1jns .details-hint {
color: #737373;
text-align: right;
}
SR and XR by distance to go
Alabama vs. East Carolina • Sep 5, 2026
- Based roughly on the SP+ analytic system
- Successful play: Gains enough needed yards (50% 1st down, 70% on 2nd, 100% on 3rd/4th)
- Success Rate (SR): Percentage of plays that were successful
- Explosiveness Rate (XR): Percentage of plays gaining 15+ yards
- # Plays: Numbers shown in bars represent total play counts
- NCAA Avg: Dashed line shows 42% (roughly NCAA average) success rate
// Toggle details accordion
function toggleDefinitions_cfb_chart_1788740494315_qq87v1jns() {
const definitions = document.getElementById(‘dataDefinitions_cfb-chart-1788740494315-qq87v1jns’);
const caret = document.getElementById(‘caret_cfb-chart-1788740494315-qq87v1jns’);
if (definitions.classList.contains(‘expanded’)) {
definitions.classList.remove(‘expanded’);
caret.classList.remove(‘expanded’);
} else {
definitions.classList.add(‘expanded’);
caret.classList.add(‘expanded’);
}
}
// Initialize chart
(function() {
‘use strict’;
let retryCount = 0;
const maxRetries = 50;
function showError(message) {
const canvas = document.getElementById(‘cfb-chart-1788740494315-qq87v1jns’);
if (canvas && canvas.parentNode) {
canvas.parentNode.innerHTML = ‘
‘;
}
}
function initChart() {
retryCount++;
if (typeof Chart === ‘undefined’ || typeof ChartDataLabels === ‘undefined’) {
if (retryCount >= maxRetries) {
showError(‘Chart library failed to load. Please refresh the page.’);
return;
}
setTimeout(initChart, 100);
return;
}
const canvas = document.getElementById(‘cfb-chart-1788740494315-qq87v1jns’);
if (!canvas) {
setTimeout(initChart, 100);
return;
}
if (canvas.chartInstance) {
return;
}
try {
// The app’s global Chart.js defaults are pre-merged into the
// options below, and the datalabels plugin is attached to
// this chart only — nothing global is touched, so the host
// page’s own Chart.js charts stay unaffected.
const chart = new Chart(canvas, {
type: ‘bar’,
data: {“labels”:[“Long (8+)”,”Medium (4-7)”,”Short (1-3)”],”datasets”:[{“data”:[0.15384615384615385,0.07142857142857142,0.15384615384615385],”stack”:”Team”,”label”:”Alabama XR”,”backgroundColor”:”rgba(101, 0, 20, 0.8)”,”datalabels”:{“display”:false},”embedTooltipLabels”:[[“Alabama XR: 15%”],[“Alabama XR: 7%”],[“Alabama XR: 15%”]],”embedDataLabels”:[0.15384615384615385,0.07142857142857142,0.15384615384615385]},{“data”:[0.5192307692307693,0.5,0.6153846153846154],”stack”:”Team”,”label”:”Alabama SR”,”backgroundColor”:”rgba(175, 40, 60, 0.8)”,”datalabels”:{“display”:true},”embedTooltipLabels”:[[“Alabama SR: 52%”],[“Alabama SR: 50%”],[“Alabama SR: 62%”]],”embedDataLabels”:[52,14,13]},{“data”:[0.06896551724137931,0.1,0],”stack”:”Opponent”,”label”:”East Carolina XR”,”backgroundColor”:”rgba(63, 30, 98, 0.8)”,”datalabels”:{“display”:false},”embedTooltipLabels”:[[“East Carolina XR: 7%”],[“East Carolina XR: 10%”],[“East Carolina XR: 0%”]],”embedDataLabels”:[0.06896551724137931,0.1,null]},{“data”:[0.20689655172413793,0.2,0.5],”stack”:”Opponent”,”label”:”East Carolina SR”,”backgroundColor”:”rgba(139, 91, 190, 0.8)”,”datalabels”:{“display”:true},”embedTooltipLabels”:[[“East Carolina SR: 21%”],[“East Carolina SR: 20%”],[“East Carolina SR: 50%”]],”embedDataLabels”:[29,10,2]},{“type”:”line”,”data”:[0.42,0.42,0.42],”label”:”NCAA Avg SR”,”borderColor”:”#757575″,”borderWidth”:2,”borderDash”:[3,3],”pointRadius”:0,”datalabels”:{“display”:false},”embedTooltipLabels”:[[“NCAA Avg SR: 42%”],[“NCAA Avg SR: 42%”],[“NCAA Avg SR: 42%”]],”embedDataLabels”:[0.42,0.42,0.42]},{“type”:”line”,”data”:[null,null,null],”label”:”# Plays”,”backgroundColor”:”rgba(0, 0, 0, 0)”,”borderColor”:”rgba(0, 0, 0, 0)”,”borderWidth”:0,”pointRadius”:0,”showLine”:false,”fill”:false,”datalabels”:{“display”:false},”embedTooltipLabels”:[[“# Plays: 0%”],[“# Plays: 0%”],[“# Plays: 0%”]],”embedDataLabels”:[null,null,null]}]},
options: {“responsive”:true,”maintainAspectRatio”:false,”plugins”:{“datalabels”:{“display”:true,”color”:”white”,”font”:{“weight”:”normal”,”size”:12},”formatter”:function(c,n){const i=n.dataset&&n.dataset.embedDataLabels;return i!=null?i[n.dataIndex]:c},”anchor”:”center”,”align”:”center”,”backgroundColor”:function(e){return e.dataset.data[e.dataIndex]>0?”#26262660″:”transparent”},”borderColor”:function(e){return e.dataset.data[e.dataIndex]>0?”rgba(255, 255, 255, 0.2)”:”transparent”},”padding”:4,”borderRadius”:4},”legend”:{“position”:”top”,”align”:”start”,”labels”:{“usePointStyle”:false,”boxWidth”:12,”boxHeight”:12,”padding”:12,”filter”:e=>!e.text.includes(“NCAA Avg SR”)&&!e.text.includes(“50/50”)&&!e.text.includes(“{let i=n.backgroundColor;return n.label===”# Plays”?i=”white”:Array.isArray(n.backgroundColor)&&(i=n.backgroundColor[0]),{text:n.label,fillStyle:i,strokeStyle:n.label===”# Plays”?”#666″:n.borderColor,lineWidth:n.label===”# Plays”?1:n.borderWidth,hidden:!r.isDatasetVisible(o),datasetIndex:o}}).filter((n,o)=>{const i=r.data.datasets[o];return!i||!i.data?!1:i.label===”# Plays”?!0:i.data.some(s=>typeof s==”number”?s>0:s&&typeof s==”object”&&”y”in s?s.y>0:!1)}):[]},”borderRadius”:15}},”tooltip”:{“filter”:e=>!e.dataset.label.includes(“NCAA Avg SR”)&&!e.dataset.label.includes(“50/50”)&&!e.dataset.label.includes(“`${Math.round(e*100)}%`}}},”animation”:{“duration”:1},”elements”:{“line”:{“tension”:0.25,”borderWidth”:1},”point”:{“radius”:3,”pointHoverRadius”:8,”pointBorderWidth”:1}}},
plugins: [ChartDataLabels]
});
canvas.chartInstance = chart;
} catch (error) {
console.error(‘Error initializing chart:’, error);
showError(‘Failed to initialize chart: ‘ + error.message);
}
}
if (document.readyState === ‘loading’) {
document.addEventListener(‘DOMContentLoaded’, initChart);
} else {
initChart();
}
})();
The short distance stuff is functioning again (at least against ECU). This was an area of relative weakness last year, but there was solid >60% SR and even good explosiveness from these 13 short-distance attempts.
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq {
font-family: -apple-system, BlinkMacSystemFont, ‘Segoe UI’, ‘Roboto’, sans-serif;
margin: 0;
padding: 0;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .chart-container {
background: white;
border-radius: 12px;
border: 1px solid #e5e5e5;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
overflow: hidden;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .chart-header {
padding: 18px 24px 14px;
border-bottom: 1px solid #e5e5e5;
background: white;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .chart-title {
font-size: 18px;
font-weight: 600;
color: #171717;
margin: 0;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .chart-subtitle {
font-size: 11px;
font-weight: 400;
color: #737373;
margin: 4px 0 0 0;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .chart-content {
padding: 20px 24px 24px !important;
height: 325px;
}
@media (max-width: 640px) {
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .chart-content {
padding: 12px 16px 20px !important;
height: 280px !important;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .chart-header {
padding: 12px 16px 12px !important;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .embed-footer-top {
padding: 8px 12px !important;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .data-definitions {
padding: 12px !important;
}
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .embed-footer {
border-top: 1px solid #e5e5e5;
font-size: 12px;
color: #737373;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .embed-footer-top {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 16px;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .embed-footer-link {
color: #737373;
text-decoration: none;
font-weight: 500;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .embed-footer-link:hover {
color: #525252;
text-decoration: underline;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .data-definitions-toggle {
background: none;
border: none;
color: #737373;
font-size: 12px;
font-weight: 500;
cursor: pointer;
display: flex;
align-items: center;
gap: 4px;
padding: 0;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .data-definitions-toggle:hover {
color: #525252;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .caret {
transition: transform 0.2s ease;
font-size: 10px;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .caret.expanded {
transform: rotate(180deg);
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .data-definitions {
display: none;
padding: 16px;
background: #fafafa;
border-top: 1px solid #e5e5e5;
font-size: 12px;
line-height: 1.4;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .data-definitions.expanded {
display: block;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .data-definitions ul {
margin: 0;
padding-left: 0;
list-style: none;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .data-definitions li {
margin-bottom: 4px;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .details-table {
width: 100%;
border-collapse: collapse;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .details-table td {
padding: 5px 8px 5px 0;
border-bottom: 1px solid #ececec;
vertical-align: top;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .details-table tr:last-child td {
border-bottom: none;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .details-label {
font-weight: 600;
color: #171717;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .details-value {
color: #404040;
}
.cfb-chart-embed-cfb-chart-1788740696957-in69c8gpq .details-hint {
color: #737373;
text-align: right;
}
SR, XR and play count by drive: East Carolina
Alabama vs. East Carolina • Sep 5, 2026
- Based roughly on the SP+ analytic system
- Successful play: Gains enough needed yards (50% 1st down, 70% on 2nd, 100% on 3rd/4th)
- Success Rate (SR): Percentage of plays that were successful
- Explosiveness Rate (XR): Percentage of plays gaining 15+ yards
- Drive Metrics: Success and explosiveness rates calculated per drive
- Play counts: Gray bars show number of plays in each drive
// Toggle details accordion
function toggleDefinitions_cfb_chart_1788740696957_in69c8gpq() {
const definitions = document.getElementById(‘dataDefinitions_cfb-chart-1788740696957-in69c8gpq’);
const caret = document.getElementById(‘caret_cfb-chart-1788740696957-in69c8gpq’);
if (definitions.classList.contains(‘expanded’)) {
definitions.classList.remove(‘expanded’);
caret.classList.remove(‘expanded’);
} else {
definitions.classList.add(‘expanded’);
caret.classList.add(‘expanded’);
}
}
// Initialize chart
(function() {
‘use strict’;
let retryCount = 0;
const maxRetries = 50;
function showError(message) {
const canvas = document.getElementById(‘cfb-chart-1788740696957-in69c8gpq’);
if (canvas && canvas.parentNode) {
canvas.parentNode.innerHTML = ‘
‘;
}
}
function initChart() {
retryCount++;
if (typeof Chart === ‘undefined’ || typeof ChartDataLabels === ‘undefined’) {
if (retryCount >= maxRetries) {
showError(‘Chart library failed to load. Please refresh the page.’);
return;
}
setTimeout(initChart, 100);
return;
}
const canvas = document.getElementById(‘cfb-chart-1788740696957-in69c8gpq’);
if (!canvas) {
setTimeout(initChart, 100);
return;
}
if (canvas.chartInstance) {
return;
}
try {
// The app’s global Chart.js defaults are pre-merged into the
// options below, and the datalabels plugin is attached to
// this chart only — nothing global is touched, so the host
// page’s own Chart.js charts stay unaffected.
const chart = new Chart(canvas, {
type: ‘bar’,
data: {“labels”:[“Drive 2″,”Drive 4″,”Drive 6″,”Drive 8″,”Drive 9″,”Drive 11″,”Drive 12″,”Drive 14″,”Drive 16″,”Drive 18″,”Drive 20″,”Drive 22″],”datasets”:[{“label”:”East Carolina XR”,”data”:[0,0,0.3333333333333333,0,0.2,0,0,0,0,0,0,0.2],”backgroundColor”:”rgba(63, 30, 98, 0.8)”,”stack”:”SRXR”,”yAxisID”:”y”,”datalabels”:{“display”:false},”embedTooltipLabels”:[[“East Carolina XR: 0%”],[“East Carolina XR: 0%”],[“East Carolina XR: 33%”],[“East Carolina XR: 0%”],[“East Carolina XR: 20%”],[“East Carolina XR: 0%”],[“East Carolina XR: 0%”],[“East Carolina XR: 0%”],[“East Carolina XR: 0%”],[“East Carolina XR: 0%”],[“East Carolina XR: 0%”],[“East Carolina XR: 20%”]],”embedDataLabels”:[null,null,0.3333333333333333,null,0.2,null,null,null,null,null,null,0.2]},{“label”:”East Carolina SR”,”data”:[0.3333333333333333,0,1,0,0.2,0,0.3333333333333333,0.2,0,0.2,0,0.2],”backgroundColor”:”rgba(139, 91, 190, 0.8)”,”stack”:”SRXR”,”yAxisID”:”y”,”datalabels”:{“display”:false},”embedTooltipLabels”:[[“East Carolina SR: 33%”],[“East Carolina SR: 0%”],[“East Carolina SR: 100%”],[“East Carolina SR: 0%”],[“East Carolina SR: 20%”],[“East Carolina SR: 0%”],[“East Carolina SR: 33%”],[“East Carolina SR: 20%”],[“East Carolina SR: 0%”],[“East Carolina SR: 20%”],[“East Carolina SR: 0%”],[“East Carolina SR: 20%”]],”embedDataLabels”:[0.3333333333333333,null,1,null,0.2,null,0.3333333333333333,0.2,null,0.2,null,0.2]},{“label”:”Plays in drive”,”data”:[3,3,3,2,5,1,3,5,3,5,3,5],”backgroundColor”:”rgba(148, 148, 148, 0.8)”,”stack”:”Plays”,”yAxisID”:”y1″,”datalabels”:{“display”:true},”embedTooltipLabels”:[[“Plays in drive: 300%”],[“Plays in drive: 300%”],[“Plays in drive: 300%”],[“Plays in drive: 200%”],[“Plays in drive: 500%”],[“Plays in drive: 100%”],[“Plays in drive: 300%”],[“Plays in drive: 500%”],[“Plays in drive: 300%”],[“Plays in drive: 500%”],[“Plays in drive: 300%”],[“Plays in drive: 500%”]],”embedDataLabels”:[3,3,3,2,5,1,3,5,3,5,3,5]}]},
options: {“responsive”:true,”maintainAspectRatio”:false,”plugins”:{“datalabels”:{“display”:true,”color”:”white”,”font”:{“weight”:”normal”,”size”:12},”formatter”:function(c,n){const i=n.dataset&&n.dataset.embedDataLabels;return i!=null?i[n.dataIndex]:c},”anchor”:”center”,”align”:”center”,”backgroundColor”:function(e){return e.dataset.data[e.dataIndex]>0?”#26262660″:”transparent”},”borderColor”:function(e){return e.dataset.data[e.dataIndex]>0?”rgba(255, 255, 255, 0.2)”:”transparent”},”padding”:4,”borderRadius”:4},”legend”:{“position”:”top”,”align”:”start”,”labels”:{“usePointStyle”:false,”boxWidth”:12,”boxHeight”:12,”padding”:12,”filter”:e=>!e.text.includes(“NCAA Avg SR”)&&!e.text.includes(“50/50”)&&!e.text.includes(“!e.dataset.label.includes(“NCAA Avg SR”)&&!e.dataset.label.includes(“50/50”)&&!e.dataset.label.includes(“`${Math.round(e*100)}%`}},”y1”:{“display”:false,”suggestedMax”:15}},”animation”:{“duration”:1},”elements”:{“line”:{“tension”:0.25,”borderWidth”:1},”point”:{“radius”:3,”pointHoverRadius”:8,”pointBorderWidth”:1}}},
plugins: [ChartDataLabels]
});
canvas.chartInstance = chart;
} catch (error) {
console.error(‘Error initializing chart:’, error);
showError(‘Failed to initialize chart: ‘ + error.message);
}
}
if (document.readyState === ‘loading’) {
document.addEventListener(‘DOMContentLoaded’, initChart);
} else {
initChart();
}
})();
And the Pirates stole one big scoring drive from ‘em, but otherwise the ‘Bama defense just smashed ‘em. This is truly “couldn’t get off the mat” territory, and it’s a welcome sight from our end of the stadium.
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b {
font-family: -apple-system, BlinkMacSystemFont, ‘Segoe UI’, ‘Roboto’, sans-serif;
margin: 0;
padding: 0;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .chart-container {
background: white;
border-radius: 12px;
border: 1px solid #e5e5e5;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
overflow: hidden;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .chart-header {
padding: 18px 24px 14px;
border-bottom: 1px solid #e5e5e5;
background: white;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .chart-title {
font-size: 18px;
font-weight: 600;
color: #171717;
margin: 0;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .chart-subtitle {
font-size: 11px;
font-weight: 400;
color: #737373;
margin: 4px 0 0 0;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .chart-content {
padding: 20px 24px 24px !important;
height: 325px;
}
@media (max-width: 640px) {
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .chart-content {
padding: 12px 16px 20px !important;
height: 280px !important;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .chart-header {
padding: 12px 16px 12px !important;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .embed-footer-top {
padding: 8px 12px !important;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .data-definitions {
padding: 12px !important;
}
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .embed-footer {
border-top: 1px solid #e5e5e5;
font-size: 12px;
color: #737373;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .embed-footer-top {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 16px;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .embed-footer-link {
color: #737373;
text-decoration: none;
font-weight: 500;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .embed-footer-link:hover {
color: #525252;
text-decoration: underline;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .data-definitions-toggle {
background: none;
border: none;
color: #737373;
font-size: 12px;
font-weight: 500;
cursor: pointer;
display: flex;
align-items: center;
gap: 4px;
padding: 0;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .data-definitions-toggle:hover {
color: #525252;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .caret {
transition: transform 0.2s ease;
font-size: 10px;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .caret.expanded {
transform: rotate(180deg);
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .data-definitions {
display: none;
padding: 16px;
background: #fafafa;
border-top: 1px solid #e5e5e5;
font-size: 12px;
line-height: 1.4;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .data-definitions.expanded {
display: block;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .data-definitions ul {
margin: 0;
padding-left: 0;
list-style: none;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .data-definitions li {
margin-bottom: 4px;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .details-table {
width: 100%;
border-collapse: collapse;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .details-table td {
padding: 5px 8px 5px 0;
border-bottom: 1px solid #ececec;
vertical-align: top;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .details-table tr:last-child td {
border-bottom: none;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .details-label {
font-weight: 600;
color: #171717;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .details-value {
color: #404040;
}
.cfb-chart-embed-cfb-chart-1788738691580-9jnkpwl7b .details-hint {
color: #737373;
text-align: right;
}
Rush rate: Alabama
Alabama vs. East Carolina • Sep 5, 2026
- Based roughly on the SP+ analytic system
- Successful play: Gains enough needed yards (50% 1st down, 70% on 2nd, 100% on 3rd/4th)
- Success Rate (SR): Percentage of plays that were successful
- Explosiveness Rate (XR): Percentage of plays gaining 15+ yards
- Rush Rate: Percentage of offensive plays that are rushing attempts
- Gray area: Represents 50/50 balanced offense
// Toggle details accordion
function toggleDefinitions_cfb_chart_1788738691580_9jnkpwl7b() {
const definitions = document.getElementById(‘dataDefinitions_cfb-chart-1788738691580-9jnkpwl7b’);
const caret = document.getElementById(‘caret_cfb-chart-1788738691580-9jnkpwl7b’);
if (definitions.classList.contains(‘expanded’)) {
definitions.classList.remove(‘expanded’);
caret.classList.remove(‘expanded’);
} else {
definitions.classList.add(‘expanded’);
caret.classList.add(‘expanded’);
}
}
// Initialize chart
(function() {
‘use strict’;
let retryCount = 0;
const maxRetries = 50;
function showError(message) {
const canvas = document.getElementById(‘cfb-chart-1788738691580-9jnkpwl7b’);
if (canvas && canvas.parentNode) {
canvas.parentNode.innerHTML = ‘
‘;
}
}
function initChart() {
retryCount++;
if (typeof Chart === ‘undefined’ || typeof ChartDataLabels === ‘undefined’) {
if (retryCount >= maxRetries) {
showError(‘Chart library failed to load. Please refresh the page.’);
return;
}
setTimeout(initChart, 100);
return;
}
const canvas = document.getElementById(‘cfb-chart-1788738691580-9jnkpwl7b’);
if (!canvas) {
setTimeout(initChart, 100);
return;
}
if (canvas.chartInstance) {
return;
}
try {
// The app’s global Chart.js defaults are pre-merged into the
// options below, and the datalabels plugin is attached to
// this chart only — nothing global is touched, so the host
// page’s own Chart.js charts stay unaffected.
const chart = new Chart(canvas, {
type: ‘line’,
data: {“datasets”:[{“label”:”50/50″,”data”:[{“x”:1,”y”:0},{“x”:1,”y”:0.5},{“x”:79,”y”:0.5},{“x”:79,”y”:0}],”backgroundColor”:”rgba(0,0,0,0.03)”,”borderColor”:”transparent”,”pointRadius”:0,”fill”:true,”tension”:0,”showLine”:true,”datalabels”:{“display”:false},”embedTooltipLabels”:[[“50/50: 0%”],[“50/50: 50%”],[“50/50: 50%”],[“50/50: 0%”]]},{“data”:[{“x”:1,”y”:1,”text”:”Keelon Russell run for 1 yd to the ALA 32″},{“x”:2,”y”:1,”text”:”Daniel Hill run for 3 yds to the ALA 35″},{“x”:3,”y”:1,”text”:”Keelon Russell run for 23 yds to the ECU 42 for a 1ST down”},{“x”:4,”y”:1,”text”:”Daniel Hill run for 8 yds to the ECU 34″},{“x”:5,”y”:1,”text”:”Daniel Hill run for 10 yds to the ECU 24 for a 1ST down”},{“x”:6,”y”:1,”text”:”Trae’shawn Brown run for a loss of 6 yards to the ECU 30″},{“x”:7,”y”:0.8571428571428571,”text”:”Keelon Russell pass complete to Daniel Hill for 7 yds to the ECU 28″},{“x”:8,”y”:0.75,”text”:”Keelon Russell pass complete to Lotzeir Brooks for 5 yds to the ECU 23″},{“x”:9,”y”:0.6666666666666666,”text”:”Keelon Russell pass complete to Ryan Coleman-Williams for 18 yds to the ALA 32 for a 1ST down”},{“x”:10,”y”:0.7,”text”:”Trae’shawn Brown run for 6 yds to the ALA 38″},{“x”:11,”y”:0.7272727272727273,”text”:”Keelon Russell run for 6 yds to the ALA 44 for a 1ST down”},{“x”:12,”y”:0.6666666666666666,”text”:”Keelon Russell pass incomplete to Ryan Coleman-Williams Alabama Penalty, Illegal Forward Pass (Keelon Russell) to the ALA 39″},{“x”:13,”y”:0.6153846153846154,”text”:”Keelon Russell pass incomplete to Ryan Coleman-Williams”},{“x”:14,”y”:0.5714285714285714,”text”:”Keelon Russell pass complete to Derek Meadows for 31 yds to the ECU 12 for a 1ST down”},{“x”:15,”y”:0.6,”text”:”EJ Crowell run for 9 yds to the ECU 3″},{“x”:16,”y”:0.625,”text”:”EJ Crowell run for 3 yds for a TD (Conor Talty KICK)”},{“x”:17,”y”:0.6470588235294118,”text”:”Daniel Hill run for 5 yds to the ECU 21″},{“x”:18,”y”:0.6666666666666666,”text”:”Daniel Hill run for 5 yds to the ECU 16 for a 1ST down”},{“x”:19,”y”:0.6842105263157895,”text”:”Daniel Hill run for 5 yds to the ECU 11″},{“x”:20,”y”:0.65,”text”:”Keelon Russell pass incomplete to Kaleb Edwards”},{“x”:21,”y”:0.6666666666666666,”text”:”Keelon Russell run for 2 yds to the ECU 9″},{“x”:22,”y”:0.6818181818181818,”text”:”Daniel Hill run for 4 yds for a TD (Conor Talty KICK)”},{“x”:23,”y”:0.6956521739130435,”text”:”EJ Crowell run for a loss of 1 yard to the ALA 13″},{“x”:24,”y”:0.6666666666666666,”text”:”Keelon Russell pass incomplete to Rico Scott”},{“x”:25,”y”:0.64,”text”:”Keelon Russell pass complete to Ryan Coleman-Williams for 58 yds to the ECU 29 for a 1ST down”},{“x”:26,”y”:0.6153846153846154,”text”:”Keelon Russell pass complete to EJ Crowell for 13 yds to the ECU 16 for a 1ST down”},{“x”:27,”y”:0.6296296296296297,”text”:”Daniel Hill run for 5 yds to the ECU 11″},{“x”:28,”y”:0.6428571428571429,”text”:”Keelon Russell run for 9 yds to the ECU 2 for a 1ST down”},{“x”:29,”y”:0.6551724137931034,”text”:”Daniel Hill run for 2 yds for a TD (Conor Talty KICK)”},{“x”:30,”y”:0.6666666666666666,”text”:”Trae’shawn Brown run for 2 yds to the ALA 22″},{“x”:31,”y”:0.6451612903225806,”text”:”Keelon Russell pass complete to Rico Scott for 15 yds to the ALA 37 for a 1ST down”},{“x”:32,”y”:0.65625,”text”:”Keelon Russell run for 13 yds to the 50 yard line for a 1ST down”},{“x”:33,”y”:0.6666666666666666,”text”:”Lotzeir Brooks run for no gain to the 50 yard line”},{“x”:34,”y”:0.6470588235294118,”text”:”Keelon Russell sacked by Torin Brazell for a loss of 4 yards to the ECU 46 Alabama Penalty, Intentional Grounding (TEAM) to the ALA 46″},{“x”:35,”y”:0.6285714285714286,”text”:”Keelon Russell pass complete to Ryan Coleman-Williams for 12 yds to the ECU 42″},{“x”:36,”y”:0.6111111111111112,”text”:”Keelon Russell pass complete to Ryan Coleman-Williams for 16 yds to the ECU 26 for a 1ST down”},{“x”:37,”y”:0.6216216216216216,”text”:”EJ Crowell run for 2 yds to the ECU 24″},{“x”:38,”y”:0.631578947368421,”text”:”Ryan Coleman-Williams run for 9 yds to the ECU 15 for a 1ST down”},{“x”:39,”y”:0.6153846153846154,”text”:”Keelon Russell pass complete to Rico Scott for 6 yds to the ECU 9″},{“x”:40,”y”:0.6,”text”:”Keelon Russell pass incomplete”},{“x”:41,”y”:0.6097560975609756,”text”:”Keelon Russell run for 1 yd to the ECU 8″},{“x”:42,”y”:0.5952380952380952,”text”:”Keelon Russell pass complete to Kaleb Edwards for 1 yd to the ECU 3″},{“x”:43,”y”:0.5813953488372093,”text”:”Keelon Russell pass incomplete”},{“x”:44,”y”:0.5909090909090909,”text”:”Keelon Russell run for 3 yds for a TD (Conor Talty KICK)”},{“x”:45,”y”:0.5777777777777777,”text”:”Keelon Russell pass incomplete to Rico Scott”},{“x”:46,”y”:0.5869565217391305,”text”:”Trae’shawn Brown run for 7 yds to the ALA 32″},{“x”:47,”y”:0.5957446808510638,”text”:”Trae’shawn Brown run for 5 yds to the ALA 37 Alabama Penalty, Offensive Holding (-10 Yards) to the ALA 27″},{“x”:48,”y”:0.6041666666666666,”text”:”Kevin Riley run for 6 yds to the ALA 33″},{“x”:49,”y”:0.5918367346938775,”text”:”Keelon Russell pass incomplete”},{“x”:50,”y”:0.6,”text”:”EJ Crowell run for 5 yds to the ALA 35″},{“x”:51,”y”:0.5882352941176471,”text”:”Keelon Russell pass complete to Keelon Russell for a loss of 10 yards to the ALA 25″},{“x”:52,”y”:0.5769230769230769,”text”:”Keelon Russell pass incomplete to Ryan Coleman-Williams”},{“x”:53,”y”:0.5660377358490566,”text”:”Keelon Russell pass complete to Ryan Coleman-Williams for 26 yds to the ALA 49 for a 1ST down”},{“x”:54,”y”:0.5555555555555556,”text”:”Keelon Russell pass incomplete to Marshall Pritchett”},{“x”:55,”y”:0.5454545454545454,”text”:”Keelon Russell pass incomplete to Marshall Pritchett”},{“x”:56,”y”:0.5535714285714286,”text”:”Keelon Russell run for 17 yds to the ECU 34 for a 1ST down”},{“x”:57,”y”:0.543859649122807,”text”:”Keelon Russell pass complete to Derek Meadows for 6 yds to the ECU 28″},{“x”:58,”y”:0.5517241379310345,”text”:”Kevin Riley run for 5 yds to the ECU 23 for a 1ST down”},{“x”:59,”y”:0.559322033898305,”text”:”Kevin Riley run for 1 yd to the ECU 22″},{“x”:60,”y”:0.55,”text”:”Keelon Russell pass complete to Kaleb Edwards for 20 yds to the ECU 2 for a 1ST down”},{“x”:61,”y”:0.5573770491803278,”text”:”Trae’shawn Brown run for 2 yds for a TD (Conor Talty KICK)”},{“x”:62,”y”:0.5645161290322581,”text”:”EJ Crowell run for 13 yds to the ALA 40 for a 1ST down”},{“x”:63,”y”:0.5714285714285714,”text”:”EJ Crowell run for 6 yds to the ALA 46″},{“x”:64,”y”:0.578125,”text”:”Kevin Riley run for 2 yds to the ALA 48″},{“x”:65,”y”:0.5846153846153846,”text”:”Kevin Riley run for 3 yds to the ECU 49 for a 1ST down”},{“x”:66,”y”:0.5909090909090909,”text”:”Keelon Russell run for 16 yds to the ECU 33 for a 1ST down”},{“x”:67,”y”:0.5970149253731343,”text”:”Kevin Riley run for no gain to the ECU 33″},{“x”:68,”y”:0.5882352941176471,”text”:”Keelon Russell pass complete to Derek Meadows for 7 yds to the ECU 26″},{“x”:69,”y”:0.5797101449275363,”text”:”Keelon Russell pass complete to Lotzeir Brooks for 18 yds to the ECU 8 for a 1ST down”},{“x”:70,”y”:0.5857142857142857,”text”:”Keelon Russell run for 6 yds to the ECU 2″},{“x”:71,”y”:0.5915492957746479,”text”:”Trae’shawn Brown run for a loss of 1 yard to the ECU 3″},{“x”:72,”y”:0.5833333333333334,”text”:”Keelon Russell pass incomplete”},{“x”:73,”y”:0.589041095890411,”text”:”Khalifa Keith run for no gain to the ALA 12″},{“x”:74,”y”:0.581081081081081,”text”:”Austin Mack pass complete to Danny Lewis for 4 yds to the ALA 16″},{“x”:75,”y”:0.5866666666666667,”text”:”Austin Mack run for 6 yds to the ALA 22 for a 1ST down”},{“x”:76,”y”:0.5789473684210527,”text”:”Austin Mack pass incomplete to Derek Meadows”},{“x”:77,”y”:0.5844155844155844,”text”:”Khalifa Keith run for 2 yds to the ALA 24″},{“x”:78,”y”:0.5897435897435898,”text”:”Khalifa Keith run for 10 yds to the ALA 34 for a 1ST down”},{“x”:79,”y”:0.5949367088607594,”text”:”TEAM run for a loss of 2 yards to the ALA 32″}],”label”:”Alabama Rush Rate”,”borderColor”:”rgba(101, 0, 20, 0.8)”,”backgroundColor”:”rgba(245, 229, 233, 0.8)”,”borderWidth”:2,”pointBackgroundColor”:[“rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(101, 0, 20, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(101, 0, 20, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(101, 0, 20, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(101, 0, 20, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(101, 0, 20, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(101, 0, 20, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(101, 0, 20, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(101, 0, 20, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(101, 0, 20, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(101, 0, 20, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(101, 0, 20, 0.8)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”,”rgba(255,255,255,0.9)”,”rgba(175, 40, 60, 0.8)”,”rgba(255,255,255,0.9)”],”pointStyle”:[“circle”,”circle”,”circle”,”circle”,”circle”,”circle”,”triangle”,”triangle”,”triangle”,”circle”,”circle”,”triangle”,”triangle”,”triangle”,”circle”,”circle”,”circle”,”circle”,”circle”,”triangle”,”circle”,”circle”,”circle”,”triangle”,”triangle”,”triangle”,”circle”,”circle”,”circle”,”circle”,”triangle”,”circle”,”circle”,”triangle”,”triangle”,”triangle”,”circle”,”circle”,”triangle”,”triangle”,”circle”,”triangle”,”triangle”,”circle”,”triangle”,”circle”,”circle”,”circle”,”triangle”,”circle”,”triangle”,”triangle”,”triangle”,”triangle”,”triangle”,”circle”,”triangle”,”circle”,”circle”,”triangle”,”circle”,”circle”,”circle”,”circle”,”circle”,”circle”,”circle”,”triangle”,”triangle”,”circle”,”circle”,”triangle”,”circle”,”triangle”,”circle”,”triangle”,”circle”,”circle”,”circle”],”pointRadius”:[4,4,4,4,4,4,5.5,5.5,5.5,4,4,5.5,5.5,5.5,4,4,4,4,4,5.5,4,4,4,5.5,5.5,5.5,4,4,4,4,5.5,4,4,5.5,5.5,5.5,4,4,5.5,5.5,4,5.5,5.5,4,5.5,4,4,4,5.5,4,5.5,5.5,5.5,5.5,5.5,4,5.5,4,4,5.5,4,4,4,4,4,4,4,5.5,5.5,4,4,5.5,4,5.5,4,5.5,4,4,4],”pointBorderWidth”:1,”pointBorderColor”:”rgba(101, 0, 20, 0.8)”,”fill”:true,”embedTooltipLabels”:[[“Alabama Rush Rate: 100%”,”Keelon Russell run for 1 yd to the ALA 32″],[“Alabama Rush Rate: 100%”,”Daniel Hill run for 3 yds to the ALA 35″],[“Alabama Rush Rate: 100%”,”Keelon Russell run for 23 yds to the ECU 42 for a 1ST down”],[“Alabama Rush Rate: 100%”,”Daniel Hill run for 8 yds to the ECU 34″],[“Alabama Rush Rate: 100%”,”Daniel Hill run for 10 yds to the ECU 24 for a 1ST down”],[“Alabama Rush Rate: 100%”,”Trae’shawn Brown run for a loss of 6 yards to the ECU 30″],[“Alabama Rush Rate: 86%”,”Keelon Russell pass complete to Daniel Hill for 7 yds to the ECU 28″],[“Alabama Rush Rate: 75%”,”Keelon Russell pass complete to Lotzeir Brooks for 5 yds to the ECU 23″],[“Alabama Rush Rate: 67%”,”Keelon Russell pass complete to Ryan Coleman-Williams for 18 yds to the ALA 32 for a 1ST down”],[“Alabama Rush Rate: 70%”,”Trae’shawn Brown run for 6 yds to the ALA 38″],[“Alabama Rush Rate: 73%”,”Keelon Russell run for 6 yds to the ALA 44 for a 1ST down”],[“Alabama Rush Rate: 67%”,”Keelon Russell pass incomplete to Ryan Coleman-Williams Alabama Penalty, Illegal Forward Pass (Keelon Russell) to the ALA 39″],[“Alabama Rush Rate: 62%”,”Keelon Russell pass incomplete to Ryan Coleman-Williams”],[“Alabama Rush Rate: 57%”,”Keelon Russell pass complete to Derek Meadows for 31 yds to the ECU 12 for a 1ST down”],[“Alabama Rush Rate: 60%”,”EJ Crowell run for 9 yds to the ECU 3″],[“Alabama Rush Rate: 63%”,”EJ Crowell run for 3 yds for a TD (Conor Talty KICK)”],[“Alabama Rush Rate: 65%”,”Daniel Hill run for 5 yds to the ECU 21″],[“Alabama Rush Rate: 67%”,”Daniel Hill run for 5 yds to the ECU 16 for a 1ST down”],[“Alabama Rush Rate: 68%”,”Daniel Hill run for 5 yds to the ECU 11″],[“Alabama Rush Rate: 65%”,”Keelon Russell pass incomplete to Kaleb Edwards”],[“Alabama Rush Rate: 67%”,”Keelon Russell run for 2 yds to the ECU 9″],[“Alabama Rush Rate: 68%”,”Daniel Hill run for 4 yds for a TD (Conor Talty KICK)”],[“Alabama Rush Rate: 70%”,”EJ Crowell run for a loss of 1 yard to the ALA 13″],[“Alabama Rush Rate: 67%”,”Keelon Russell pass incomplete to Rico Scott”],[“Alabama Rush Rate: 64%”,”Keelon Russell pass complete to Ryan Coleman-Williams for 58 yds to the ECU 29 for a 1ST down”],[“Alabama Rush Rate: 62%”,”Keelon Russell pass complete to EJ Crowell for 13 yds to the ECU 16 for a 1ST down”],[“Alabama Rush Rate: 63%”,”Daniel Hill run for 5 yds to the ECU 11″],[“Alabama Rush Rate: 64%”,”Keelon Russell run for 9 yds to the ECU 2 for a 1ST down”],[“Alabama Rush Rate: 66%”,”Daniel Hill run for 2 yds for a TD (Conor Talty KICK)”],[“Alabama Rush Rate: 67%”,”Trae’shawn Brown run for 2 yds to the ALA 22″],[“Alabama Rush Rate: 65%”,”Keelon Russell pass complete to Rico Scott for 15 yds to the ALA 37 for a 1ST down”],[“Alabama Rush Rate: 66%”,”Keelon Russell run for 13 yds to the 50 yard line for a 1ST down”],[“Alabama Rush Rate: 67%”,”Lotzeir Brooks run for no gain to the 50 yard line”],[“Alabama Rush Rate: 65%”,”Keelon Russell sacked by Torin Brazell for a loss of 4 yards to the ECU 46 Alabama Penalty, Intentional Grounding (TEAM) to the ALA 46″],[“Alabama Rush Rate: 63%”,”Keelon Russell pass complete to Ryan Coleman-Williams for 12 yds to the ECU 42″],[“Alabama Rush Rate: 61%”,”Keelon Russell pass complete to Ryan Coleman-Williams for 16 yds to the ECU 26 for a 1ST down”],[“Alabama Rush Rate: 62%”,”EJ Crowell run for 2 yds to the ECU 24″],[“Alabama Rush Rate: 63%”,”Ryan Coleman-Williams run for 9 yds to the ECU 15 for a 1ST down”],[“Alabama Rush Rate: 62%”,”Keelon Russell pass complete to Rico Scott for 6 yds to the ECU 9″],[“Alabama Rush Rate: 60%”,”Keelon Russell pass incomplete”],[“Alabama Rush Rate: 61%”,”Keelon Russell run for 1 yd to the ECU 8″],[“Alabama Rush Rate: 60%”,”Keelon Russell pass complete to Kaleb Edwards for 1 yd to the ECU 3″],[“Alabama Rush Rate: 58%”,”Keelon Russell pass incomplete”],[“Alabama Rush Rate: 59%”,”Keelon Russell run for 3 yds for a TD (Conor Talty KICK)”],[“Alabama Rush Rate: 58%”,”Keelon Russell pass incomplete to Rico Scott”],[“Alabama Rush Rate: 59%”,”Trae’shawn Brown run for 7 yds to the ALA 32″],[“Alabama Rush Rate: 60%”,”Trae’shawn Brown run for 5 yds to the ALA 37 Alabama Penalty, Offensive Holding (-10 Yards) to the ALA 27″],[“Alabama Rush Rate: 60%”,”Kevin Riley run for 6 yds to the ALA 33″],[“Alabama Rush Rate: 59%”,”Keelon Russell pass incomplete”],[“Alabama Rush Rate: 60%”,”EJ Crowell run for 5 yds to the ALA 35″],[“Alabama Rush Rate: 59%”,”Keelon Russell pass complete to Keelon Russell for a loss of 10 yards to the ALA 25″],[“Alabama Rush Rate: 58%”,”Keelon Russell pass incomplete to Ryan Coleman-Williams”],[“Alabama Rush Rate: 57%”,”Keelon Russell pass complete to Ryan Coleman-Williams for 26 yds to the ALA 49 for a 1ST down”],[“Alabama Rush Rate: 56%”,”Keelon Russell pass incomplete to Marshall Pritchett”],[“Alabama Rush Rate: 55%”,”Keelon Russell pass incomplete to Marshall Pritchett”],[“Alabama Rush Rate: 55%”,”Keelon Russell run for 17 yds to the ECU 34 for a 1ST down”],[“Alabama Rush Rate: 54%”,”Keelon Russell pass complete to Derek Meadows for 6 yds to the ECU 28″],[“Alabama Rush Rate: 55%”,”Kevin Riley run for 5 yds to the ECU 23 for a 1ST down”],[“Alabama Rush Rate: 56%”,”Kevin Riley run for 1 yd to the ECU 22″],[“Alabama Rush Rate: 55%”,”Keelon Russell pass complete to Kaleb Edwards for 20 yds to the ECU 2 for a 1ST down”],[“Alabama Rush Rate: 56%”,”Trae’shawn Brown run for 2 yds for a TD (Conor Talty KICK)”],[“Alabama Rush Rate: 56%”,”EJ Crowell run for 13 yds to the ALA 40 for a 1ST down”],[“Alabama Rush Rate: 57%”,”EJ Crowell run for 6 yds to the ALA 46″],[“Alabama Rush Rate: 58%”,”Kevin Riley run for 2 yds to the ALA 48″],[“Alabama Rush Rate: 58%”,”Kevin Riley run for 3 yds to the ECU 49 for a 1ST down”],[“Alabama Rush Rate: 59%”,”Keelon Russell run for 16 yds to the ECU 33 for a 1ST down”],[“Alabama Rush Rate: 60%”,”Kevin Riley run for no gain to the ECU 33″],[“Alabama Rush Rate: 59%”,”Keelon Russell pass complete to Derek Meadows for 7 yds to the ECU 26″],[“Alabama Rush Rate: 58%”,”Keelon Russell pass complete to Lotzeir Brooks for 18 yds to the ECU 8 for a 1ST down”],[“Alabama Rush Rate: 59%”,”Keelon Russell run for 6 yds to the ECU 2″],[“Alabama Rush Rate: 59%”,”Trae’shawn Brown run for a loss of 1 yard to the ECU 3″],[“Alabama Rush Rate: 58%”,”Keelon Russell pass incomplete”],[“Alabama Rush Rate: 59%”,”Khalifa Keith run for no gain to the ALA 12″],[“Alabama Rush Rate: 58%”,”Austin Mack pass complete to Danny Lewis for 4 yds to the ALA 16″],[“Alabama Rush Rate: 59%”,”Austin Mack run for 6 yds to the ALA 22 for a 1ST down”],[“Alabama Rush Rate: 58%”,”Austin Mack pass incomplete to Derek Meadows”],[“Alabama Rush Rate: 58%”,”Khalifa Keith run for 2 yds to the ALA 24″],[“Alabama Rush Rate: 59%”,”Khalifa Keith run for 10 yds to the ALA 34 for a 1ST down”],[“Alabama Rush Rate: 59%”,”TEAM run for a loss of 2 yards to the ALA 32″]]},{“label”:”Quarters”,”data”:[{“x”:1,”y”:0},{“x”:1,”y”:1},{“x”:79,”y”:1},{“x”:79,”y”:0},{“x”:22,”y”:0},{“x”:22,”y”:1},{“x”:79,”y”:1},{“x”:79,”y”:0},{“x”:45,”y”:0},{“x”:45,”y”:1},{“x”:79,”y”:1},{“x”:79,”y”:0},{“x”:61,”y”:0},{“x”:61,”y”:1},{“x”:79,”y”:1},{“x”:79,”y”:0}],”borderColor”:”rgba(0,0,0,0.1)”,”borderWidth”:1,”tension”:0,”fill”:false,”pointRadius”:0,”showLine”:true,”datalabels”:{“display”:false},”embedTooltipLabels”:[[“Quarters: 0%”],[“Quarters: 100%”],[“Quarters: 100%”],[“Quarters: 0%”],[“Quarters: 0%”],[“Quarters: 100%”],[“Quarters: 100%”],[“Quarters: 0%”],[“Quarters: 0%”],[“Quarters: 100%”],[“Quarters: 100%”],[“Quarters: 0%”],[“Quarters: 0%”],[“Quarters: 100%”],[“Quarters: 100%”],[“Quarters: 0%”]]}]},
options: {“responsive”:true,”maintainAspectRatio”:false,”plugins”:{“datalabels”:{“display”:false,”color”:”white”,”backgroundColor”:”#26262660″,”padding”:4,”borderRadius”:4},”legend”:{“position”:”top”,”align”:”start”,”labels”:{“usePointStyle”:false,”boxWidth”:12,”boxHeight”:12,”padding”:12,”filter”:e=>!e.text.includes(“NCAA Avg SR”)&&!e.text.includes(“50/50”)&&!e.text.includes(“{o.fillStyle=”white”}),n},”borderRadius”:15}},”tooltip”:{“filter”:e=>!e.dataset.label.includes(“NCAA Avg SR”)&&!e.dataset.label.includes(“50/50”)&&!e.dataset.label.includes(“Math.floor(r)},”grid”:{“display”:false}},”y”:{“max”:1,”min”:0,”ticks”:{“callback”:e=>`${Math.round(e*100)}%`}}},”elements”:{“line”:{“tension”:0.25,”borderWidth”:2.2},”point”:{“radius”:3,”pointHoverRadius”:8,”pointBorderWidth”:1}},”animation”:{“duration”:1}},
plugins: [ChartDataLabels]
});
canvas.chartInstance = chart;
} catch (error) {
console.error(‘Error initializing chart:’, error);
showError(‘Failed to initialize chart: ‘ + error.message);
}
}
if (document.readyState === ‘loading’) {
document.addEventListener(‘DOMContentLoaded’, initChart);
} else {
initChart();
}
})();
And we talked about the Rushing game already, but it was interesting seeing Grubb lean back into the pass after the Tide was up by a bunch. In the first half it looked clear that we had a rush-first game plan (#RTDB), but there were apparently some things that Grubb and the staff wanted to work on with Keelon and co., even after they didn’t really ‘need to.’
Whew. Another season opener in the books! I’ve gotta say, all due respect to the teams that start these seasons with big opponents — including some Tide teams of recent past — but it’s nice to ease into the season like this instead (especially with so many new faces on the field and sidelines).
And while some questions wait until stiffer competition to be fully answered, we know that we’ve got a competent QB, a promising outlook on rushing the ball, and a defense that is capable of evaporating an opposing offense … at least one of this caliber.
Time will also tell what kind of team this East Carolina squad is: with so much turnover from last season, the jury is still out on both the Purple folks and the Crimson ones in this game. Here’s to hoping that what we saw was more than a mirage.
📈 Check out all of the graphs from this game here.
Roll Tide.


