Wednesday, August 26, 2026
HomeNetflix NewsNetflix Top 10s: ‘My Brilliant Career’ Surges, and ‘Facing El Chapo’ Debuts...

Netflix Top 10s: ‘My Brilliant Career’ Surges, and ‘Facing El Chapo’ Debuts Big Alongside ‘Blood Sacrifice’

- Advertisment -

facing el chapo blood sacrifice netflix top 10 report

Pictures: Netflix

Welcome to your slightly belated rundown of all the biggest stories from the Netflix top 10s for the week of August 17th through August 23rd, 2026. Below, we’ll take a look at the viewership stories that have caught our eyes, whether it’s updates on titles like My Brilliant Career, Don’t Say Good Luck, or My Life with the Walter Boys, or some of the other debuts from last week, including Facing El Chapo and Blood Sacrifice

If you’re looking for our coverage on Outer Banks season 5, we already did that last night. As a reminder, Outer Banks season 5 debuted at the #1 spot on Netflix’s English TV list with 9.4 million views (80.6 million viewing hours) in its opening week, but experienced a significant viewership decline compared to previous outings. This opening marks a roughly 46% drop from its series peak in season 3 (17.4 million views) and also falls short of seasons 2 and 4, albeit there are caveats there. 


Facing El Chapo

Everyone has heard of El Chapo, and that’s what Netflix was counting on when it put this new Mexican film as its big Friday movie release, which traditionally goes to a big English-language film. It worked a treat and served as one of the best-performing movies from the region in quite some time and the biggest international Friday film for 2026:

(function () {
if (!window.wonWatermarkPlugin)
bodyFont = getComputedStyle(document.body).fontFamily

// Shared compact-number helper. Returns e.g. “1.2B”, “45.6M”, “789K” when
// useCompact is true, otherwise the full `toLocaleString()` form. Used by
// every chart’s datalabels and axis ticks on mobile so wide numbers like
// “1,234,567,890” don’t crowd small viewports. Tooltips keep the full
// number for accuracy.
if (!window.wonCompactNumber) {
window.wonCompactNumber = function (value, useCompact) {
if (value === null || value === undefined || isNaN(value)) return ”;
var n = Number(value);
if (!useCompact)
try catch (e)
// Manual fallback for browsers without Intl compact notation support.
var abs = Math.abs(n);
var divisor, suffix;
if (abs >= 1e9)
else if (abs >= 1e6)
// Suppress labels on segments smaller than ~8% of the bar
// so cramped segments stay clean. Tooltips still show the
// exact value on hover.
var value = context.dataset.data[context.dataIndex];
if (typeof value === 'undefined'
else if (abs >= 1e3)
else
var scaled = n / divisor;
var formatted = scaled.toFixed(scaled >= 100 ? 0 : (scaled >= 10 ? 1 : 2));
return formatted.replace(/(\.\d*?)0+$/, ‘$1’).replace(/\.$/, ”) + suffix;
};
}

// Mirror the host theme’s body font onto Chart.js defaults so chart text
// (ticks, legend, tooltips, datalabels) matches the surrounding article.
// Chart.js is loaded with `defer`, so we wait for DOMContentLoaded before
// touching `Chart.defaults` — by that point Chart.js is guaranteed to be
// parsed but no chart in this file has instantiated yet (their init code
// also runs on DOMContentLoaded, and they’re registered after this block
// in HTML source order, so listener-registration order keeps us first).
if (window.wonChartFontDefaults) return;
window.wonChartFontDefaults = true;

function applyThemeChartFont() 0);

if (document.readyState === ‘loading’) else
total += (datasets[i].data[idx]
})();

(function() {
var showLabels = true;
var titleHighlight = “Facing El Chapo”;
// Title rendered above the chart in place of the legend (1 week → “Opening Week”).
var chartTitle = “Opening Week Views”;

function loadScript(src, callback) {
var script = document.createElement(‘script’);
script.src = src;
script.onload = callback;
document.head.appendChild(script);
}

function createChart() {
var canvasEl = document.getElementById(‘netflix_bar_graph_6a8f4ec2d95c4’);
var ctx = canvasEl.getContext(‘2d’);

// Detect mobile screen size
var isMobile = window.innerWidth <= 768;
var isSmallMobile = window.innerWidth 0) {
var perTitle = isSmallMobile ? 38 : (isMobile ? 44 : 50);
var basePad = isSmallMobile ? 80 : (isMobile ? 90 : 100);
var targetH = titleCount * perTitle + basePad;
canvasEl.height = targetH;
canvasEl.style.height = targetH + ‘px’;
}

var chartConfig = {
type: ‘bar’,
data: {
labels: [“Counterattack”,”Facing El Chapo”,”Desire”,”Without Saying Goodbye”,”The Heart Knows”,”Accused”,”Queens on the Run”,”The Marked Woman”,”Firebreak”,”Husbands in Action”,”Almost Family”,”Ikka”],
datasets: [{
label: chartTitle,
data: [18600000,18000000,12900000,8100000,7600000,7500000,7000000,6600000,6100000,5700000,5500000,4400000],
backgroundColor: [“#b9090b”,”#000″,”#b9090b”,”#b9090b”,”#b9090b”,”#b9090b”,”#b9090b”,”#b9090b”,”#b9090b”,”#b9090b”,”#b9090b”,”#b9090b”],
borderColor: [“#b9090b”,”#000″,”#b9090b”,”#b9090b”,”#b9090b”,”#b9090b”,”#b9090b”,”#b9090b”,”#b9090b”,”#b9090b”,”#b9090b”,”#b9090b”],
borderWidth: 0,
hoverBackgroundColor: [“#8a0708″,”#1a1a1a”,”#8a0708″,”#8a0708″,”#8a0708″,”#8a0708″,”#8a0708″,”#8a0708″,”#8a0708″,”#8a0708″,”#8a0708″,”#8a0708″],
hoverBorderColor: ‘#b9090b’,
hoverBorderWidth: 2,
barPercentage: 0.9,
categoryPercentage: 0.9
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
indexAxis: ‘y’,
layout: {
padding: { bottom: isMobile ? 12 : 24, top: 8 }
},
plugins: {
title: {
display: true,
text: chartTitle,
color: ‘#000000’,
align: ‘start’,
font: {
size: titleFontSize,
weight: ‘bold’
},
padding: { top: 4, bottom: 16 }
},
legend: { display: false },
tooltip: {
backgroundColor: ‘#221f1f’,
titleColor: ‘#b9090b’,
bodyColor: ‘#ffffff’,
titleFont: { weight: ‘bold’, size: 13 },
bodyFont: { size: 13 },
padding: { top: 10, bottom: 10, left: 14, right: 14 },
cornerRadius: 6,
displayColors: false,
borderColor: ‘#b9090b’,
borderWidth: 1,
callbacks: {
label: function(context) {
return context.dataset.label + ‘: ‘ + context.parsed.x.toLocaleString();
}
}
}
},
scales: {
x: {
beginAtZero: true,
ticks: {
font: {
size: axisFontSize
},
// Compact “1.2M” / “789K” ticks on mobile so the
// x-axis doesn’t eat half the chart width.
callback: function (value) {
if (window.wonCompactNumber) {
return window.wonCompactNumber(value, isMobile);
}
return value;
}
}
},
y: {
ticks: {
// Bold + brand-red color for the highlighted title’s y-axis tick;
// muted gray for everything else when a highlight is active.
font: function (context) {
var label = context.tick && context.tick.label;
if (titleHighlight && label === titleHighlight) {
return { weight: ‘bold’, size: axisFontSize };
}
return { size: axisFontSize };
},
color: function (context) {
var label = context.tick && context.tick.label;
if (titleHighlight && label === titleHighlight) {
return ‘#b9090b’;
}
return ‘#000000’;
}
}
}
},
}
};

// Add DataLabels configuration if labels are enabled
if (showLabels && window.ChartDataLabels) {
// Small bars (< 15% of max) get their label floated *above* the bar
// tip in Netflix red, so it never overlaps the red bar and never
// becomes black-on-red. A white text stroke keeps the label
// readable even when the chart sits on a coloured/image background.
var isSmallBar = function(context) {
var value = context.dataset.data[context.dataIndex];
if (typeof value === 'undefined' || value === null) return false;
var maxValue = Math.max.apply(null, context.dataset.data.filter(function(v) {
return v !== null && v !== undefined;
}));
if (!maxValue) return false;
return (value / maxValue) * 100 < 15;
};

chartConfig.options.plugins.datalabels = {
anchor: function(context) {
return isSmallBar(context) ? 'end' : 'center';
},
align: function(context) {
return isSmallBar(context) ? 'end' : 'center';
},
offset: function(context) {
return isSmallBar(context) ? 4 : 0;
},
color: function(context) {
return isSmallBar(context) ? '#b9090b' : '#fff';
},
textStrokeColor: function(context) {
return isSmallBar(context) ? '#ffffff' : 'rgba(0,0,0,0.35)';
},
textStrokeWidth: 2,
clip: false,
clamp: true,
font: {
weight: 'bold',
size: dataLabelFontSize
},
formatter: function(value) {
if (window.wonCompactNumber) {
return window.wonCompactNumber(value, true);
}
return value;
},
display: function(context) {
var value = context.dataset.data[context.dataIndex];
return typeof value !== 'undefined' && value !== null;
}
};
chartConfig.plugins = [ChartDataLabels];
}

// Always register the watermark plugin (independent of data labels).
chartConfig.plugins = (chartConfig.plugins || []).concat(
window.wonWatermarkPlugin ? [window.wonWatermarkPlugin] : []
);

var chart = new Chart(ctx, chartConfig);
}

function ensureChartAndPlugin() {
if (!window.Chart) {
loadScript('https://cdn.jsdelivr.net/npm/[email protected]/dist/chart.umd.min.js', function() {
ensureChartAndPlugin();
});
} else if (showLabels && !window.ChartDataLabels) {
loadScript('https://cdn.jsdelivr.net/npm/[email protected]', function() {
createChart();
});
} else {
createChart();
}
}

if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', ensureChartAndPlugin);
} else {
ensureChartAndPlugin();
}
})();

.sr-only {
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
}

.netflix-data-chart-container {
position: relative;
margin-bottom: 40px;
}

.netflix-data-chart-container table {
border-collapse: collapse;
width: 100%;
margin: 10px 0;
}

.netflix-data-chart-container th,
.netflix-data-chart-container td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}

.netflix-data-chart-container th {
background-color: #f2f2f2;
font-weight: bold;
}

/* Dark mode support for netflix bar graph – mobile only */
@media (prefers-color-scheme: dark) and (max-width: 768px) {
.netflix-data-chart-container {
background-color: #ffffff;
padding: 20px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.netflix-data-chart-container canvas {
background-color: #ffffff;
}

.netflix-data-chart-container table {
background-color: #ffffff;
}

.netflix-data-chart-container th,
.netflix-data-chart-container td {
background-color: #ffffff;
color: #333333;
border: 1px solid #ddd;
}

.netflix-data-chart-container th {
background-color: #f2f2f2;
color: #333333;
}
}

/* Additional dark mode support for better contrast – mobile only */
@media (prefers-color-scheme: dark) and (max-width: 768px) {
.netflix-data-chart-container .sr-only {
color: #333333;
}
}

/* Mobile responsive font sizes */
@media (max-width: 768px) {
.netflix-data-chart-container canvas {
font-size: 12px !important;
}
}

@media (max-width: 480px) {
.netflix-data-chart-container canvas {
font-size: 10px !important;
}
}


Freefall: A Reckoning for Boeing

Netflix is double-dipping on the story of Boeing aircraft serving as a follow-up to the 2022 doc. Now we can’t compare this new doc to that one given that it released on a Friday (pulling in 4.94M views) whereas this one, which dropped last Wednesday, pulled in 4.7M views. That said, it’s clear the audience is a bit lower this time around. We can stack it up against some other Wednesday doc films, however:

(function() {
var showLabels = true;
var titleHighlight = “Freefall: A Reckoning for Boeing”;
// Title rendered above the chart in place of the legend (1 week → “Opening Week”).
var chartTitle = “Opening Week Views”;

function loadScript(src, callback) {
var script = document.createElement(‘script’);
script.src = src;
script.onload = callback;
document.head.appendChild(script);
}

function createChart() {
var canvasEl = document.getElementById(‘netflix_bar_graph_6a8f4ec2d965b’);
var ctx = canvasEl.getContext(‘2d’);

// Detect mobile screen size
var isMobile = window.innerWidth <= 768;
var isSmallMobile = window.innerWidth 0) {
var perTitle = isSmallMobile ? 38 : (isMobile ? 44 : 50);
var basePad = isSmallMobile ? 80 : (isMobile ? 90 : 100);
var targetH = titleCount * perTitle + basePad;
canvasEl.height = targetH;
canvasEl.style.height = targetH + ‘px’;
}

var chartConfig = {
type: ‘bar’,
data: {
labels: [“A Toxic Love Story”,”Kidnapped: Elizabeth Smart”,”The Investigation of Lucy Letby”,”Freefall: A Reckoning for Boeing”],
datasets: [{
label: chartTitle,
data: [18000000,15900000,12900000,4700000],
backgroundColor: [“#b9090b”,”#b9090b”,”#b9090b”,”#000″],
borderColor: [“#b9090b”,”#b9090b”,”#b9090b”,”#000″],
borderWidth: 0,
hoverBackgroundColor: [“#8a0708″,”#8a0708″,”#8a0708″,”#1a1a1a”],
hoverBorderColor: ‘#b9090b’,
hoverBorderWidth: 2,
barPercentage: 0.9,
categoryPercentage: 0.9
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
indexAxis: ‘y’,
layout: {
padding: { bottom: isMobile ? 12 : 24, top: 8 }
},
plugins: {
title: {
display: true,
text: chartTitle,
color: ‘#000000’,
align: ‘start’,
font: {
size: titleFontSize,
weight: ‘bold’
},
padding: { top: 4, bottom: 16 }
},
legend: { display: false },
tooltip: {
backgroundColor: ‘#221f1f’,
titleColor: ‘#b9090b’,
bodyColor: ‘#ffffff’,
titleFont: { weight: ‘bold’, size: 13 },
bodyFont: { size: 13 },
padding: { top: 10, bottom: 10, left: 14, right: 14 },
cornerRadius: 6,
displayColors: false,
borderColor: ‘#b9090b’,
borderWidth: 1,
callbacks: {
label: function(context) {
return context.dataset.label + ‘: ‘ + context.parsed.x.toLocaleString();
}
}
}
},
scales: {
x: {
beginAtZero: true,
ticks: {
font: {
size: axisFontSize
},
// Compact “1.2M” / “789K” ticks on mobile so the
// x-axis doesn’t eat half the chart width.
callback: function (value) {
if (window.wonCompactNumber) {
return window.wonCompactNumber(value, isMobile);
}
return value;
}
}
},
y: {
ticks: {
// Bold + brand-red color for the highlighted title’s y-axis tick;
// muted gray for everything else when a highlight is active.
font: function (context) {
var label = context.tick && context.tick.label;
if (titleHighlight && label === titleHighlight) {
return { weight: ‘bold’, size: axisFontSize };
}
return { size: axisFontSize };
},
color: function (context) {
var label = context.tick && context.tick.label;
if (titleHighlight && label === titleHighlight) {
return ‘#b9090b’;
}
return ‘#000000’;
}
}
}
},
}
};

// Add DataLabels configuration if labels are enabled
if (showLabels && window.ChartDataLabels) {
// Small bars (< 15% of max) get their label floated *above* the bar
// tip in Netflix red, so it never overlaps the red bar and never
// becomes black-on-red. A white text stroke keeps the label
// readable even when the chart sits on a coloured/image background.
var isSmallBar = function(context) {
var value = context.dataset.data[context.dataIndex];
if (typeof value === 'undefined' || value === null) return false;
var maxValue = Math.max.apply(null, context.dataset.data.filter(function(v) {
return v !== null && v !== undefined;
}));
if (!maxValue) return false;
return (value / maxValue) * 100 < 15;
};

chartConfig.options.plugins.datalabels = {
anchor: function(context) {
return isSmallBar(context) ? 'end' : 'center';
},
align: function(context) {
return isSmallBar(context) ? 'end' : 'center';
},
offset: function(context) {
return isSmallBar(context) ? 4 : 0;
},
color: function(context) {
return isSmallBar(context) ? '#b9090b' : '#fff';
},
textStrokeColor: function(context) {
return isSmallBar(context) ? '#ffffff' : 'rgba(0,0,0,0.35)';
},
textStrokeWidth: 2,
clip: false,
clamp: true,
font: {
weight: 'bold',
size: dataLabelFontSize
},
formatter: function(value) {
if (window.wonCompactNumber) {
return window.wonCompactNumber(value, true);
}
return value;
},
display: function(context) {
var value = context.dataset.data[context.dataIndex];
return typeof value !== 'undefined' && value !== null;
}
};
chartConfig.plugins = [ChartDataLabels];
}

// Always register the watermark plugin (independent of data labels).
chartConfig.plugins = (chartConfig.plugins || []).concat(
window.wonWatermarkPlugin ? [window.wonWatermarkPlugin] : []
);

var chart = new Chart(ctx, chartConfig);
}

function ensureChartAndPlugin() {
if (!window.Chart) {
loadScript('https://cdn.jsdelivr.net/npm/[email protected]/dist/chart.umd.min.js', function() {
ensureChartAndPlugin();
});
} else if (showLabels && !window.ChartDataLabels) {
loadScript('https://cdn.jsdelivr.net/npm/[email protected]', function() {
createChart();
});
} else {
createChart();
}
}

if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', ensureChartAndPlugin);
} else {
ensureChartAndPlugin();
}
})();

.sr-only {
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
}

.netflix-data-chart-container {
position: relative;
margin-bottom: 40px;
}

.netflix-data-chart-container table {
border-collapse: collapse;
width: 100%;
margin: 10px 0;
}

.netflix-data-chart-container th,
.netflix-data-chart-container td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}

.netflix-data-chart-container th {
background-color: #f2f2f2;
font-weight: bold;
}

/* Dark mode support for netflix bar graph – mobile only */
@media (prefers-color-scheme: dark) and (max-width: 768px) {
.netflix-data-chart-container {
background-color: #ffffff;
padding: 20px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.netflix-data-chart-container canvas {
background-color: #ffffff;
}

.netflix-data-chart-container table {
background-color: #ffffff;
}

.netflix-data-chart-container th,
.netflix-data-chart-container td {
background-color: #ffffff;
color: #333333;
border: 1px solid #ddd;
}

.netflix-data-chart-container th {
background-color: #f2f2f2;
color: #333333;
}
}

/* Additional dark mode support for better contrast – mobile only */
@media (prefers-color-scheme: dark) and (max-width: 768px) {
.netflix-data-chart-container .sr-only {
color: #333333;
}
}

/* Mobile responsive font sizes */
@media (max-width: 768px) {
.netflix-data-chart-container canvas {
font-size: 12px !important;
}
}

@media (max-width: 480px) {
.netflix-data-chart-container canvas {
font-size: 10px !important;
}
}


Blood Sacrifice

Over the weekend, Blood Sacrifice managed to unseat Outer Banks as the #1 show globally based on daily top 10 rankings, but as we learned yesterday, that was more of a weakness on the part of Outer Banks; it’s still commendable for Blood Sacrifice, which comes from the creator of Lupin. Debuting with 7M views, here’s how it stacks up:

(function() {
var showLabels = true;
var titleHighlight = “Blood Sacrifice”;
// Title rendered above the chart in place of the legend (1 week → “Opening Week”).
var chartTitle = “Opening Week Views”;

function loadScript(src, callback) {
var script = document.createElement(‘script’);
script.src = src;
script.onload = callback;
document.head.appendChild(script);
}

function createChart() {
var canvasEl = document.getElementById(‘netflix_bar_graph_6a8f4ec2d96c6’);
var ctx = canvasEl.getContext(‘2d’);

// Detect mobile screen size
var isMobile = window.innerWidth <= 768;
var isSmallMobile = window.innerWidth 0) {
var perTitle = isSmallMobile ? 38 : (isMobile ? 44 : 50);
var basePad = isSmallMobile ? 80 : (isMobile ? 90 : 100);
var targetH = titleCount * perTitle + basePad;
canvasEl.height = targetH;
canvasEl.style.height = targetH + ‘px’;
}

var chartConfig = {
type: ‘bar’,
data: {
labels: [“La Palma”,”Secrets We Keep”,”Blood Sacrifice”,”The Signal”,”Cassandra”,”Midsummer Night”],
datasets: [{
label: chartTitle,
data: [13100000,10300000,7000000,4900000,4200000,2700000],
backgroundColor: [“#b9090b”,”#b9090b”,”#000″,”#b9090b”,”#b9090b”,”#b9090b”],
borderColor: [“#b9090b”,”#b9090b”,”#000″,”#b9090b”,”#b9090b”,”#b9090b”],
borderWidth: 0,
hoverBackgroundColor: [“#8a0708″,”#8a0708″,”#1a1a1a”,”#8a0708″,”#8a0708″,”#8a0708″],
hoverBorderColor: ‘#b9090b’,
hoverBorderWidth: 2,
barPercentage: 0.9,
categoryPercentage: 0.9
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
indexAxis: ‘y’,
layout: {
padding: { bottom: isMobile ? 12 : 24, top: 8 }
},
plugins: {
title: {
display: true,
text: chartTitle,
color: ‘#000000’,
align: ‘start’,
font: {
size: titleFontSize,
weight: ‘bold’
},
padding: { top: 4, bottom: 16 }
},
legend: { display: false },
tooltip: {
backgroundColor: ‘#221f1f’,
titleColor: ‘#b9090b’,
bodyColor: ‘#ffffff’,
titleFont: { weight: ‘bold’, size: 13 },
bodyFont: { size: 13 },
padding: { top: 10, bottom: 10, left: 14, right: 14 },
cornerRadius: 6,
displayColors: false,
borderColor: ‘#b9090b’,
borderWidth: 1,
callbacks: {
label: function(context) {
return context.dataset.label + ‘: ‘ + context.parsed.x.toLocaleString();
}
}
}
},
scales: {
x: {
beginAtZero: true,
ticks: {
font: {
size: axisFontSize
},
// Compact “1.2M” / “789K” ticks on mobile so the
// x-axis doesn’t eat half the chart width.
callback: function (value) {
if (window.wonCompactNumber) {
return window.wonCompactNumber(value, isMobile);
}
return value;
}
}
},
y: {
ticks: {
// Bold + brand-red color for the highlighted title’s y-axis tick;
// muted gray for everything else when a highlight is active.
font: function (context) {
var label = context.tick && context.tick.label;
if (titleHighlight && label === titleHighlight) {
return { weight: ‘bold’, size: axisFontSize };
}
return { size: axisFontSize };
},
color: function (context) {
var label = context.tick && context.tick.label;
if (titleHighlight && label === titleHighlight) {
return ‘#b9090b’;
}
return ‘#000000’;
}
}
}
},
}
};

// Add DataLabels configuration if labels are enabled
if (showLabels && window.ChartDataLabels) {
// Small bars (< 15% of max) get their label floated *above* the bar
// tip in Netflix red, so it never overlaps the red bar and never
// becomes black-on-red. A white text stroke keeps the label
// readable even when the chart sits on a coloured/image background.
var isSmallBar = function(context) {
var value = context.dataset.data[context.dataIndex];
if (typeof value === 'undefined' || value === null) return false;
var maxValue = Math.max.apply(null, context.dataset.data.filter(function(v) {
return v !== null && v !== undefined;
}));
if (!maxValue) return false;
return (value / maxValue) * 100 < 15;
};

chartConfig.options.plugins.datalabels = {
anchor: function(context) {
return isSmallBar(context) ? 'end' : 'center';
},
align: function(context) {
return isSmallBar(context) ? 'end' : 'center';
},
offset: function(context) {
return isSmallBar(context) ? 4 : 0;
},
color: function(context) {
return isSmallBar(context) ? '#b9090b' : '#fff';
},
textStrokeColor: function(context) {
return isSmallBar(context) ? '#ffffff' : 'rgba(0,0,0,0.35)';
},
textStrokeWidth: 2,
clip: false,
clamp: true,
font: {
weight: 'bold',
size: dataLabelFontSize
},
formatter: function(value) {
if (window.wonCompactNumber) {
return window.wonCompactNumber(value, true);
}
return value;
},
display: function(context) {
var value = context.dataset.data[context.dataIndex];
return typeof value !== 'undefined' && value !== null;
}
};
chartConfig.plugins = [ChartDataLabels];
}

// Always register the watermark plugin (independent of data labels).
chartConfig.plugins = (chartConfig.plugins || []).concat(
window.wonWatermarkPlugin ? [window.wonWatermarkPlugin] : []
);

var chart = new Chart(ctx, chartConfig);
}

function ensureChartAndPlugin() {
if (!window.Chart) {
loadScript('https://cdn.jsdelivr.net/npm/[email protected]/dist/chart.umd.min.js', function() {
ensureChartAndPlugin();
});
} else if (showLabels && !window.ChartDataLabels) {
loadScript('https://cdn.jsdelivr.net/npm/[email protected]', function() {
createChart();
});
} else {
createChart();
}
}

if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', ensureChartAndPlugin);
} else {
ensureChartAndPlugin();
}
})();

.sr-only {
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
}

.netflix-data-chart-container {
position: relative;
margin-bottom: 40px;
}

.netflix-data-chart-container table {
border-collapse: collapse;
width: 100%;
margin: 10px 0;
}

.netflix-data-chart-container th,
.netflix-data-chart-container td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}

.netflix-data-chart-container th {
background-color: #f2f2f2;
font-weight: bold;
}

/* Dark mode support for netflix bar graph – mobile only */
@media (prefers-color-scheme: dark) and (max-width: 768px) {
.netflix-data-chart-container {
background-color: #ffffff;
padding: 20px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.netflix-data-chart-container canvas {
background-color: #ffffff;
}

.netflix-data-chart-container table {
background-color: #ffffff;
}

.netflix-data-chart-container th,
.netflix-data-chart-container td {
background-color: #ffffff;
color: #333333;
border: 1px solid #ddd;
}

.netflix-data-chart-container th {
background-color: #f2f2f2;
color: #333333;
}
}

/* Additional dark mode support for better contrast – mobile only */
@media (prefers-color-scheme: dark) and (max-width: 768px) {
.netflix-data-chart-container .sr-only {
color: #333333;
}
}

/* Mobile responsive font sizes */
@media (max-width: 768px) {
.netflix-data-chart-container canvas {
font-size: 12px !important;
}
}

@media (max-width: 480px) {
.netflix-data-chart-container canvas {
font-size: 10px !important;
}
}


My Brilliant Career Viewing Hours Jump 52%

A good second week for My Brilliant Career, the Australian period drama that picked up strong reviews and has been getting positive word of mouth. While it’s ranking well against some Aussie series counterparts in recent years, it’s still a far stretch from comparing against some of the biggest Netflix period dramas in recent years.  

(function () {
var showLabels = true;
var titleHighlight = “My Brilliant Career”;

function loadScript(src, callback) {
var script = document.createElement(‘script’);
script.src = src;
script.onload = callback;
document.head.appendChild(script);
}

function createChart() {
var canvasEl = document.getElementById(‘netflix_split_bar_6a8f4ec2d9738’);
var ctx = canvasEl.getContext(‘2d’);

var isMobile = window.innerWidth <= 768;
var isSmallMobile = window.innerWidth 0) {
var perTitle = isSmallMobile ? 38 : (isMobile ? 44 : 50);
var basePad = isSmallMobile ? 90 : (isMobile ? 100 : 100);
var targetH = titleCount * perTitle + basePad;
canvasEl.height = targetH;
canvasEl.style.height = targetH + ‘px’;
}

var chartConfig = {
type: ‘bar’,
data: {
labels: [“Queen Charlotte: A Bridgerton Story”,”1899″,”All the Light We Cannot See”,”The Empress – Season 1″,”Territory”,”Apple Cider Vinegar”,”My Brilliant Career”,”Boy Swallows Universe”,”Heartbreak High – Season 2″,”The Decameron”],
datasets: [{“label”:”Week 1″,”data”:[22900000,10800000,9800000,8300000,6400000,3800000,3100000,3600000,2300000,2100000],”backgroundColor”:[“#b9090bCC”,”#b9090bCC”,”#b9090bCC”,”#b9090bCC”,”#b9090bCC”,”#b9090bCC”,”#b9090b”,”#b9090bCC”,”#b9090bCC”,”#b9090bCC”],”borderWidth”:0,”barPercentage”:0.90000000000000002220446049250313080847263336181640625,”categoryPercentage”:0.90000000000000002220446049250313080847263336181640625},{“label”:”Week 2″,”data”:[24500000,12000000,10100000,10400000,6300000,5600000,4700000,4000000,2900000,2100000],”backgroundColor”:[“#900608CC”,”#900608CC”,”#900608CC”,”#900608CC”,”#900608CC”,”#900608CC”,”#900608″,”#900608CC”,”#900608CC”,”#900608CC”],”borderWidth”:0,”barPercentage”:0.90000000000000002220446049250313080847263336181640625,”categoryPercentage”:0.90000000000000002220446049250313080847263336181640625}] },
options: {
responsive: true,
maintainAspectRatio: false,
indexAxis: ‘y’,
layout: {
padding: { bottom: isMobile ? 12 : 24, top: 8 }
},
plugins: {
legend: {
display: true,
position: ‘top’,
labels: {
font: { size: legendFontSize },
padding: 12,
boxWidth: 14,
boxHeight: 14
}
},
tooltip: {
backgroundColor: ‘#221f1f’,
titleColor: ‘#b9090b’,
bodyColor: ‘#ffffff’,
footerColor: ‘#cccccc’,
titleFont: { weight: ‘bold’, size: 13 },
bodyFont: { size: 13 },
footerFont: { size: 12, weight: ‘normal’ },
padding: { top: 10, bottom: 10, left: 14, right: 14 },
cornerRadius: 6,
displayColors: true,
borderColor: ‘#b9090b’,
borderWidth: 1,
callbacks: {
label: function (context) {
return context.dataset.label + ‘: ‘ + Number(context.parsed.x).toLocaleString() + ‘ views’;
},
footer: function (items) {
if (!items || !items.length) return ”;
var idx = items[0].dataIndex;
var total = 0;
var datasets = items[0].chart.data.datasets;
for (var i = 0; i < datasets.length; i++) {
total += (datasets[i].data[idx] || 0);
}
return 'Total: ' + total.toLocaleString();
}
}
}
},
scales: {
x: {
beginAtZero: true,
stacked: true,
ticks: {
font: { size: axisFontSize },
callback: function (value) {
if (window.wonCompactNumber) {
return window.wonCompactNumber(value, isMobile);
}
return value;
}
},
grid: { color: 'rgba(0,0,0,0.05)' }
},
y: {
stacked: true,
ticks: {
// Bold + brand-red color for the highlighted title's y-axis tick;
// muted gray for everything else when a highlight is active.
font: function (context) {
var label = context.tick && context.tick.label;
if (titleHighlight && label === titleHighlight) {
return { weight: 'bold', size: axisFontSize };
}
return { size: axisFontSize };
},
color: function (context) {
var label = context.tick && context.tick.label;
if (titleHighlight && label === titleHighlight) {
return '#b9090b';
}
return '#000000';
}
},
grid: { display: false }
}
}
}
};

if (showLabels && window.ChartDataLabels) {
chartConfig.options.plugins.datalabels = {
anchor: 'center',
align: 'center',
color: '#ffffff',
textStrokeColor: 'rgba(0,0,0,0.4)',
textStrokeWidth: 2,
font: { weight: 'bold', size: dataLabelFontSize },
formatter: function (value) {
if (!value) return '';
if (window.wonCompactNumber) {
return window.wonCompactNumber(value, true);
}
return value;
},
display: function (context) {
// Suppress labels on segments smaller than ~8% of the bar
// so cramped segments stay clean. Tooltips still show the
// exact value on hover.
var value = context.dataset.data[context.dataIndex];
if (typeof value === 'undefined' || value === null || value === 0) return false;
var idx = context.dataIndex;
var total = 0;
var datasets = context.chart.data.datasets;
for (var i = 0; i 0 && (value / total) > 0.08;
}
};
chartConfig.plugins = [ChartDataLabels];
}

chartConfig.plugins = (chartConfig.plugins || []).concat(
window.wonWatermarkPlugin ? [window.wonWatermarkPlugin] : []
);

new Chart(ctx, chartConfig);
}

function ensureChartAndPlugin() {
if (!window.Chart) {
loadScript(‘https://cdn.jsdelivr.net/npm/[email protected]/dist/chart.umd.min.js’, ensureChartAndPlugin);
} else if (showLabels && !window.ChartDataLabels) {
loadScript(‘https://cdn.jsdelivr.net/npm/[email protected]’, createChart);
} else {
createChart();
}
}

if (document.readyState === ‘loading’) {
document.addEventListener(‘DOMContentLoaded’, ensureChartAndPlugin);
} else {
ensureChartAndPlugin();
}
})();

.netflix-data-chart-container {
position: relative;
margin-bottom: 40px;
}
.netflix-data-chart-container .sr-only {
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
}
@media (prefers-color-scheme: dark) and (max-width: 768px) {
.netflix-data-chart-container {
background-color: #ffffff;
padding: 20px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.netflix-data-chart-container canvas {
background-color: #ffffff;
}
}


Roommates and Don’t Say Good Luck are neck and neck

Last week, we covered how Don’t Say Good Luck had one of the weakest debuts for Netflix’s 2026 movie slate, but this week, it’s clawed back some momentum and now is exactly the same as Roommates, which is interesting given that both projects were Sandler movie vehicles for Adam’s daughters Sunny and Sadie. 

(function () {
var showLabels = true;
var titleHighlight = “Don’t Say Good Luck”;

function loadScript(src, callback) {
var script = document.createElement(‘script’);
script.src = src;
script.onload = callback;
document.head.appendChild(script);
}

function createChart() {
var canvasEl = document.getElementById(‘netflix_split_bar_6a8f4ec2d97d2’);
var ctx = canvasEl.getContext(‘2d’);

var isMobile = window.innerWidth <= 768;
var isSmallMobile = window.innerWidth 0) {
var perTitle = isSmallMobile ? 38 : (isMobile ? 44 : 50);
var basePad = isSmallMobile ? 90 : (isMobile ? 100 : 100);
var targetH = titleCount * perTitle + basePad;
canvasEl.height = targetH;
canvasEl.style.height = targetH + ‘px’;
}

var chartConfig = {
type: ‘bar’,
data: {
labels: [“War Machine”,”The Rip”,”Apex”,”Thrash”,”Swapped”,”Voicemails for Isabelle”,”72 HOURS”,”Office Romance”,”Peaky Blinders: The Immortal Man”,”People We Meet on Vacation”,”Remarkably Bright Creatures”,”Ladies First”,”Little Brother”,”Joe’s College Road Trip”,”Don’t Say Good Luck”,”Roommates”],
datasets: [{“label”:”Week 1″,”data”:[39300000,41600000,38200000,37700000,15500000,17500000,22100000,20900000,25300000,17200000,10400000,11900000,14000000,12500000,8100000,8800000],”backgroundColor”:[“#b9090bCC”,”#b9090bCC”,”#b9090bCC”,”#b9090bCC”,”#b9090bCC”,”#b9090bCC”,”#b9090bCC”,”#b9090bCC”,”#b9090bCC”,”#b9090bCC”,”#b9090bCC”,”#b9090bCC”,”#b9090bCC”,”#b9090bCC”,”#b9090b”,”#b9090bCC”],”borderWidth”:0,”barPercentage”:0.90000000000000002220446049250313080847263336181640625,”categoryPercentage”:0.90000000000000002220446049250313080847263336181640625},{“label”:”Week 2″,”data”:[44400000,40400000,40200000,34500000,38700000,31000000,25100000,24600000,19400000,23300000,20300000,18800000,12700000,10400000,12800000,12100000],”backgroundColor”:[“#900608CC”,”#900608CC”,”#900608CC”,”#900608CC”,”#900608CC”,”#900608CC”,”#900608CC”,”#900608CC”,”#900608CC”,”#900608CC”,”#900608CC”,”#900608CC”,”#900608CC”,”#900608CC”,”#900608″,”#900608CC”],”borderWidth”:0,”barPercentage”:0.90000000000000002220446049250313080847263336181640625,”categoryPercentage”:0.90000000000000002220446049250313080847263336181640625}] },
options: {
responsive: true,
maintainAspectRatio: false,
indexAxis: ‘y’,
layout: {
padding: { bottom: isMobile ? 12 : 24, top: 8 }
},
plugins: {
legend: {
display: true,
position: ‘top’,
labels: {
font: { size: legendFontSize },
padding: 12,
boxWidth: 14,
boxHeight: 14
}
},
tooltip: {
backgroundColor: ‘#221f1f’,
titleColor: ‘#b9090b’,
bodyColor: ‘#ffffff’,
footerColor: ‘#cccccc’,
titleFont: { weight: ‘bold’, size: 13 },
bodyFont: { size: 13 },
footerFont: { size: 12, weight: ‘normal’ },
padding: { top: 10, bottom: 10, left: 14, right: 14 },
cornerRadius: 6,
displayColors: true,
borderColor: ‘#b9090b’,
borderWidth: 1,
callbacks: {
label: function (context) {
return context.dataset.label + ‘: ‘ + Number(context.parsed.x).toLocaleString() + ‘ views’;
},
footer: function (items) {
if (!items || !items.length) return ”;
var idx = items[0].dataIndex;
var total = 0;
var datasets = items[0].chart.data.datasets;
for (var i = 0; i < datasets.length; i++) {
total += (datasets[i].data[idx] || 0);
}
return 'Total: ' + total.toLocaleString();
}
}
}
},
scales: {
x: {
beginAtZero: true,
stacked: true,
ticks: {
font: { size: axisFontSize },
callback: function (value) {
if (window.wonCompactNumber) {
return window.wonCompactNumber(value, isMobile);
}
return value;
}
},
grid: { color: 'rgba(0,0,0,0.05)' }
},
y: {
stacked: true,
ticks: {
// Bold + brand-red color for the highlighted title's y-axis tick;
// muted gray for everything else when a highlight is active.
font: function (context) {
var label = context.tick && context.tick.label;
if (titleHighlight && label === titleHighlight) {
return { weight: 'bold', size: axisFontSize };
}
return { size: axisFontSize };
},
color: function (context) {
var label = context.tick && context.tick.label;
if (titleHighlight && label === titleHighlight) {
return '#b9090b';
}
return '#000000';
}
},
grid: { display: false }
}
}
}
};

if (showLabels && window.ChartDataLabels) {
chartConfig.options.plugins.datalabels = {
anchor: 'center',
align: 'center',
color: '#ffffff',
textStrokeColor: 'rgba(0,0,0,0.4)',
textStrokeWidth: 2,
font: { weight: 'bold', size: dataLabelFontSize },
formatter: function (value) {
if (!value) return '';
if (window.wonCompactNumber) {
return window.wonCompactNumber(value, true);
}
return value;
},
display: function (context) {
// Suppress labels on segments smaller than ~8% of the bar
// so cramped segments stay clean. Tooltips still show the
// exact value on hover.
var value = context.dataset.data[context.dataIndex];
if (typeof value === 'undefined' || value === null || value === 0) return false;
var idx = context.dataIndex;
var total = 0;
var datasets = context.chart.data.datasets;
for (var i = 0; i 0 && (value / total) > 0.08;
}
};
chartConfig.plugins = [ChartDataLabels];
}

chartConfig.plugins = (chartConfig.plugins || []).concat(
window.wonWatermarkPlugin ? [window.wonWatermarkPlugin] : []
);

new Chart(ctx, chartConfig);
}

function ensureChartAndPlugin() {
if (!window.Chart) {
loadScript(‘https://cdn.jsdelivr.net/npm/[email protected]/dist/chart.umd.min.js’, ensureChartAndPlugin);
} else if (showLabels && !window.ChartDataLabels) {
loadScript(‘https://cdn.jsdelivr.net/npm/[email protected]’, createChart);
} else {
createChart();
}
}

if (document.readyState === ‘loading’) {
document.addEventListener(‘DOMContentLoaded’, ensureChartAndPlugin);
} else {
ensureChartAndPlugin();
}
})();

.netflix-data-chart-container {
position: relative;
margin-bottom: 40px;
}
.netflix-data-chart-container .sr-only {
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
}
@media (prefers-color-scheme: dark) and (max-width: 768px) {
.netflix-data-chart-container {
background-color: #ffffff;
padding: 20px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.netflix-data-chart-container canvas {
background-color: #ffffff;
}
}


A Check-In With My Life With The Walter Boys

It’s week 3 of My Life with the Walter Boys season 3, and it’s an interesting trajectory compared with seasons 2 and 1, but the show is definitely showing signs of decay, with viewership naturally front-loaded now that it’s three seasons in. As of week 3, the latest season is sitting at 173.4 million viewing hours and 22.0 million completed views.

document.addEventListener(‘DOMContentLoaded’, function () {
var ctx = document.getElementById(‘cumulativeChart_6a8f4ec2d984f’).getContext(‘2d’);

// Responsive sizing so the line chart doesn’t squash itself on
// narrow viewports. Right padding shrinks because the end-of-line
// pill labels also shrink; axis/title fonts scale to match the
// bar-graph scheme; ticks switch to compact notation on mobile.
var isMobile = window.innerWidth <= 768;
var isSmallMobile = window.innerWidth = 0; i–) {
if (data[i] !== null && data[i] !== undefined) {
return context.dataIndex === i;
}
}
return false;
},
formatter: function (value, context) {
return context.dataset.label;
}
}
},
scales: {
x: {
title: {
display: true,
text: ‘Week Number’,
font: {
size: axisTitleFontSize
}
},
type: ‘linear’,
position: ‘bottom’,
ticks:{
stepSize: 1,
font: {
size: axisFontSize
}
}
},
y: {
title: {
display: true,
text: ‘Cumulative Views’,
font: {
size: axisTitleFontSize
}
},
beginAtZero: true,
ticks: {
font: { weight: ‘bold’, size: axisFontSize },
color: ‘#222’,
// Compact “1.2M” / “789K” on mobile so the y-axis
// doesn’t eat half the chart width with comma-
// separated numbers like “1,234,567,890”.
callback: function (value) {
if (window.wonCompactNumber) {
return window.wonCompactNumber(value, isMobile);
}
return value;
}
}
}
},
elements: {
line: {
tension: 0 // Disable bezier curves
}
}
}
});
});

/* Dark mode support for cumulative views chart – mobile only */
@media (prefers-color-scheme: dark) and (max-width: 768px) {
.netflix-data {
background-color: #ffffff;
padding: 20px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.netflix-data canvas {
background-color: #ffffff;
}
}


Full Top 10s for August 17th through August 23rd

English TV

Rank Title Hours Views Week #
1 Outer Banks: Season 5 80,600,000 9,400,000 1
2 My Brilliant Career: Season 1 21,800,000 (52.45%) 4,700,000 2
3 My Life With the Walter Boys: Season 3 33,900,000 (-50.51%) 4,300,000 3
4 Conversations with a Killer: The Charles Manson Tapes: Season 1 8,800,000 (-37.14%) 3,100,000 2
5 Tires: Season 3 13,800,000 (15.97%) 2,800,000 2
6 Raw: August 17, 2026 5,000,000 (11.11%) 2,700,000 1
7 I Will Find You: Limited Series 13,800,000 (-6.76%) 2,500,000 10
8 Seal Team: Season 1 36,400,000 2,300,000 1
9 Danny Go!: Season 1 4,000,000 2,000,000 9
10 The Idaho Murders: College Nightmare: Season 1 4,000,000 (-50.62%) 1,800,000 4

English Film

Rank Title Hours Views Week #
1 Don’t Say Good Luck 20,300,000 (58.59%) 12,800,000 2
2 The Last House 22,400,000 (-64.16%) 12,000,000 3
3 Freefall: A Reckoning for Boeing 7,500,000 4,700,000 1
4 72 HOURS 7,000,000 (-33.33%) 4,000,000 5
5 The Dating App Killer: The Monica White Story 4,900,000 3,400,000 1
6 KPop Demon Hunters 5,200,000 (-5.45%) 3,100,000 62
7 Breaking In 4,500,000 3,100,000 1
8 To Catch a Cheater 4,400,000 3,000,000 1
9 Swapped 4,100,000 2,400,000 13
10 Charlie and the Chocolate Factory 4,400,000 (-46.99%) 2,300,000 2

Non-English TV

Rank Title Hours Views Week #
1 Blood Sacrifice: Season 1 29,300,000 7,000,000 1
2 Our Sticky Love: Limited Series 43,300,000 (-50.80%) 3,700,000 3
3 Umthetho: Season 1 18,500,000 (107.87%) 3,500,000 2
4 Spooky in Love: Limited Series 33,900,000 (19.79%) 2,700,000 6
5 Moria: Season 1 10,900,000 (36.25%) 2,200,000 2
6 Operation Safed Sagar: The Highest Air Force Mission: Season 1 10,800,000 (-59.55%) 2,000,000 3
7 Badly in Love: Season 2 15,700,000 (0.64%) 1,900,000 3
8 My Daughter’s Father: Season 1 9,700,000 (-36.18%) 1,300,000 5
9 The Apartment Job: Limited Series 14,400,000 1,100,000 5
10 Teach You a Lesson: Limited Series 11,900,000 1,100,000 10

Non-English Film

Rank Title Hours Views Week #
1 Facing El Chapo 27,900,000 18,000,000 1
2 A Child of My Own 10,100,000 (23.17%) 6,200,000 2
3 The Wave 7,400,000 4,400,000 1
4 To the Max 8,200,000 4,400,000 1
5 Cocktail 2 10,100,000 (40.28%) 4,000,000 2
6 Nando Between Two Worlds – A Sintonia Film 7,100,000 3,900,000 2
7 Daddy’s in Trouble 5,200,000 (73.33%) 3,100,000 3
8 My Best Friend, His Girlfriend and Me 4,400,000 (25.71%) 2,700,000 2
9 Chompoo: Lost & Forgotten 2,500,000 1,800,000 1
10 Here the Whole Time 2,700,000 1,600,000 1

That’s it for this week – hopefully a regularly scheduled top 10 report next Tuesday! 

RELATED ARTICLES
- Advertisment -

Most Popular

Recent Comments