#white-rabbit-advanced-analytics {
--text: #ffffff;
--muted: rgba(255,255,255,0.72);
--soft: rgba(255,255,255,0.14);
--soft-2: rgba(255,255,255,0.08);
--cyan: #7fe7ff;
--pink: #ff6ec7;
--gold: #ffd76a;
--purple: #b48cff;
--green: #7dffb3;
color: var(--text);
background: transparent;
font-family: Arial, Helvetica, sans-serif;
line-height: 1.55;
}#white-rabbit-advanced-analytics * {
box-sizing: border-box;
}#white-rabbit-advanced-analytics .wr-wrap {
max-width: 1180px;
margin: 0 auto;
padding: 24px 16px;
}#white-rabbit-advanced-analytics .wr-hero {
text-align: center;
padding: 18px 0 30px;
}#white-rabbit-advanced-analytics .wr-kicker {
color: var(--cyan);
text-transform: uppercase;
letter-spacing: 0.14em;
font-size: 12px;
font-weight: 700;
margin-bottom: 10px;
}#white-rabbit-advanced-analytics h1,
#white-rabbit-advanced-analytics h2,
#white-rabbit-advanced-analytics h3,
#white-rabbit-advanced-analytics p,
#white-rabbit-advanced-analytics li,
#white-rabbit-advanced-analytics span,
#white-rabbit-advanced-analytics div {
color: var(--text);
}#white-rabbit-advanced-analytics h1 {
font-size: clamp(32px, 5vw, 58px);
line-height: 1.08;
margin: 0 0 14px;
font-weight: 800;
}#white-rabbit-advanced-analytics .wr-subtitle {
max-width: 820px;
margin: 0 auto;
color: var(--muted);
font-size: 18px;
}#white-rabbit-advanced-analytics .wr-grid {
display: grid;
gap: 20px;
}#white-rabbit-advanced-analytics .wr-grid-3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}#white-rabbit-advanced-analytics .wr-grid-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}#white-rabbit-advanced-analytics .wr-card {
background: rgba(255,255,255,0.03);
border: 1px solid var(--soft);
border-radius: 18px;
padding: 22px;
backdrop-filter: blur(0px);
}#white-rabbit-advanced-analytics .wr-card h2 {
margin: 0 0 8px;
font-size: 24px;
font-weight: 800;
}#white-rabbit-advanced-analytics .wr-card p {
margin: 0;
color: var(--muted);
font-size: 15px;
}#white-rabbit-advanced-analytics .wr-stat {
text-align: center;
min-height: 180px;
display: flex;
flex-direction: column;
justify-content: center;
}#white-rabbit-advanced-analytics .wr-stat-label {
font-size: 12px;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--muted);
font-weight: 700;
margin-bottom: 8px;
}#white-rabbit-advanced-analytics .wr-stat-value {
font-size: clamp(34px, 4vw, 52px);
font-weight: 800;
line-height: 1;
margin-bottom: 8px;
}#white-rabbit-advanced-analytics .wr-stat-note {
font-size: 13px;
color: var(--muted);
}#white-rabbit-advanced-analytics .wr-section {
margin-top: 22px;
}#white-rabbit-advanced-analytics .wr-section-title {
margin: 0 0 8px;
font-size: 28px;
font-weight: 800;
}#white-rabbit-advanced-analytics .wr-section-copy {
color: var(--muted);
margin: 0 0 18px;
}#white-rabbit-advanced-analytics .wr-chart-card {
min-height: 470px;
display: flex;
flex-direction: column;
}#white-rabbit-advanced-analytics .wr-canvas-wrap {
position: relative;
width: 100%;
height: 320px;
margin-top: 16px;
border-radius: 14px;
border: 1px solid var(--soft);
background: rgba(255,255,255,0.02);
overflow: hidden;
}#white-rabbit-advanced-analytics canvas {
width: 100%;
height: 100%;
display: block;
}#white-rabbit-advanced-analytics .wr-legend {
display: flex;
flex-wrap: wrap;
gap: 14px;
margin-top: 14px;
}#white-rabbit-advanced-analytics .wr-legend-item {
display: inline-flex;
align-items: center;
gap: 8px;
color: var(--muted);
font-size: 13px;
}#white-rabbit-advanced-analytics .wr-swatch {
width: 12px;
height: 12px;
border-radius: 50%;
flex: 0 0 12px;
}#white-rabbit-advanced-analytics .wr-process {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
margin-top: 14px;
}#white-rabbit-advanced-analytics .wr-step {
border: 1px solid var(--soft);
border-radius: 16px;
padding: 22px 18px;
background: rgba(255,255,255,0.02);
text-align: center;
position: relative;
}#white-rabbit-advanced-analytics .wr-step-number {
width: 34px;
height: 34px;
border-radius: 50%;
display: inline-flex;
align-items: center;
justify-content: center;
font-weight: 800;
font-size: 14px;
border: 1px solid var(--soft);
margin-bottom: 12px;
}#white-rabbit-advanced-analytics .wr-step h3 {
margin: 0 0 8px;
font-size: 20px;
font-weight: 800;
}#white-rabbit-advanced-analytics .wr-step p {
margin: 0;
color: var(--muted);
font-size: 14px;
}#white-rabbit-advanced-analytics .wr-note-box {
margin-top: 18px;
border: 1px solid var(--soft);
border-radius: 14px;
padding: 16px 18px;
color: var(--muted);
background: rgba(255,255,255,0.02);
font-size: 14px;
}#white-rabbit-advanced-analytics .wr-footer {
text-align: center;
color: var(--muted);
font-size: 13px;
margin-top: 22px;
}@media (max-width: 900px) {
#white-rabbit-advanced-analytics .wr-grid-3,
#white-rabbit-advanced-analytics .wr-grid-2,
#white-rabbit-advanced-analytics .wr-process {
grid-template-columns: 1fr;
}#white-rabbit-advanced-analytics .wr-chart-card {
min-height: auto;
}#white-rabbit-advanced-analytics .wr-canvas-wrap {
height: 280px;
}
}
Advanced Analytics
White Rabbit Slot Data & Mechanics Analysis
Core Performance Metrics
These headline figures explain why White Rabbit became one of Big Time Gaming’s most influential Megaways releases.
Max Win Potential
17,420x
Top-end theoretical payout multiplier
Peak RTP
97.77%
Highest modeled return with Feature Drop access
Max Ways to Win
248,832
Reached in fully expanded free spins
Mechanics: Base Game vs Free Spins
White Rabbit starts with a standard 5-reel Megaways structure, then dramatically escalates during free spins as cupcake-driven reel extensions push the grid from 16,807 ways to a maximum of 248,832 ways.
Base game max: 16,807
Free spins max: 248,832
RTP Distribution Breakdown
This visual models how White Rabbit’s return profile is concentrated: the base game sustains engagement, but the bonus round carries a large share of the title’s theoretical value and emotional payoff.
Base game allocation: 61.5%
Free spins allocation: 36.27%
Feature Drop Process
White Rabbit helped normalize bonus-buy thinking by combining direct feature access with a collectible discount system tied to BTG coins.
1
Base Game Coin Drops
During regular spins, BTG coins can land and contribute value toward reducing the Feature Drop entry cost.
2
Dynamic Cost Reduction
Each collected coin lowers the price of the bonus, turning the buy feature into a progression mechanic rather than a flat shortcut.
3
Bonus Activation
The feature can be purchased at the reduced price, or trigger automatically when enough coin value has been accumulated.
Analytical takeaway: this structure is significant because it blends volatility, player agency, session persistence, and bonus anticipation into one monetization loop.
Long-Term Popularity Index
The trend below models White Rabbit’s staying power among high-volatility slot audiences. Its design longevity comes from a rare mix of high RTP, memorable theming, and mechanically dramatic bonus escalation.
Player engagement index
(function () {
const root = document.getElementById('white-rabbit-advanced-analytics');
if (!root) return;const COLORS = {
text: '#ffffff',
muted: 'rgba(255,255,255,0.72)',
grid: 'rgba(255,255,255,0.12)',
cyan: '#7fe7ff',
pink: '#ff6ec7',
gold: '#ffd76a',
purple: '#b48cff',
green: '#7dffb3'
};function fitCanvas(canvas) {
const ratio = window.devicePixelRatio || 1;
const rect = canvas.getBoundingClientRect();
canvas.width = Math.round(rect.width * ratio);
canvas.height = Math.round(rect.height * ratio);
const ctx = canvas.getContext('2d');
ctx.setTransform(ratio, 0, 0, ratio, 0, 0);
return { ctx, w: rect.width, h: rect.height };
}function clear(ctx, w, h) {
ctx.clearRect(0, 0, w, h);
}function drawText(ctx, text, x, y, options) {
ctx.save();
ctx.fillStyle = options.color || COLORS.text;
ctx.font = options.font || '14px Arial';
ctx.textAlign = options.align || 'left';
ctx.textBaseline = options.baseline || 'alphabetic';
ctx.fillText(text, x, y);
ctx.restore();
}function roundRect(ctx, x, y, w, h, r, fill) {
const radius = Math.min(r, w / 2, h / 2);
ctx.beginPath();
ctx.moveTo(x + radius, y);
ctx.arcTo(x + w, y, x + w, y + h, radius);
ctx.arcTo(x + w, y + h, x, y + h, radius);
ctx.arcTo(x, y + h, x, y, radius);
ctx.arcTo(x, y, x + w, y, radius);
ctx.closePath();
if (fill) ctx.fill();
}function drawBarChart(canvasId, labels, values, barColors, maxValue) {
const canvas = document.getElementById(canvasId);
if (!canvas) return;
const { ctx, w, h } = fitCanvas(canvas);
clear(ctx, w, h);const pad = { top: 24, right: 20, bottom: 78, left: 72 };
const chartW = w - pad.left - pad.right;
const chartH = h - pad.top - pad.bottom;ctx.strokeStyle = COLORS.grid;
ctx.lineWidth = 1;const steps = 5;
ctx.font = '12px Arial';
ctx.fillStyle = COLORS.muted;for (let i = 0; i {
const x = startX + i * (barWidth + barGap);
const barH = (val / maxValue) * chartH;
const y = pad.top + chartH - barH;ctx.fillStyle = barColors[i];
roundRect(ctx, x, y, barWidth, barH, 10, true);drawText(ctx, val.toLocaleString(), x + barWidth / 2, y - 10, {
color: COLORS.text,
font: 'bold 13px Arial',
align: 'center',
baseline: 'bottom'
});const lines = String(labels[i]).split('\n');
lines.forEach((line, index) => {
drawText(ctx, line, x + barWidth / 2, pad.top + chartH + 24 + index * 16, {
color: COLORS.muted,
font: '12px Arial',
align: 'center',
baseline: 'middle'
});
});
});
}function drawDonutChart(canvasId, data, colors, centerTitle, centerSubtitle) {
const canvas = document.getElementById(canvasId);
if (!canvas) return;
const { ctx, w, h } = fitCanvas(canvas);
clear(ctx, w, h);const total = data.reduce((a, b) => a + b, 0);
const cx = w / 2;
const cy = h / 2;
const radius = Math.min(w, h) * 0.28;
const lineWidth = Math.min(w, h) * 0.12;let startAngle = -Math.PI / 2;
data.forEach((value, i) => {
const slice = (value / total) * Math.PI * 2;
ctx.beginPath();
ctx.arc(cx, cy, radius, startAngle, startAngle + slice);
ctx.strokeStyle = colors[i];
ctx.lineWidth = lineWidth;
ctx.lineCap = 'butt';
ctx.stroke();
startAngle += slice;
});drawText(ctx, centerTitle, cx, cy - 8, {
color: COLORS.text,
font: 'bold 28px Arial',
align: 'center',
baseline: 'middle'
});drawText(ctx, centerSubtitle, cx, cy + 18, {
color: COLORS.muted,
font: '13px Arial',
align: 'center',
baseline: 'middle'
});
}function drawLineChart(canvasId, labels, values, lineColor) {
const canvas = document.getElementById(canvasId);
if (!canvas) return;
const { ctx, w, h } = fitCanvas(canvas);
clear(ctx, w, h);const pad = { top: 24, right: 18, bottom: 52, left: 52 };
const chartW = w - pad.left - pad.right;
const chartH = h - pad.top - pad.bottom;
const min = 40;
const max = 100;ctx.strokeStyle = COLORS.grid;
ctx.lineWidth = 1;for (let v = min; v {
const x = pad.left + (chartW / (labels.length - 1)) * i;
drawText(ctx, label, x, pad.top + chartH + 22, {
color: COLORS.muted,
font: '12px Arial',
align: 'center',
baseline: 'middle'
});
});const points = values.map((v, i) => {
const x = pad.left + (chartW / (values.length - 1)) * i;
const y = pad.top + chartH - ((v - min) / (max - min)) * chartH;
return { x, y };
});const areaGradient = ctx.createLinearGradient(0, pad.top, 0, pad.top + chartH);
areaGradient.addColorStop(0, 'rgba(127,231,255,0.28)');
areaGradient.addColorStop(1, 'rgba(127,231,255,0.02)');ctx.beginPath();
ctx.moveTo(points[0].x, pad.top + chartH);
points.forEach((p, i) => {
if (i === 0) ctx.lineTo(p.x, p.y);
else ctx.lineTo(p.x, p.y);
});
ctx.lineTo(points[points.length - 1].x, pad.top + chartH);
ctx.closePath();
ctx.fillStyle = areaGradient;
ctx.fill();ctx.beginPath();
points.forEach((p, i) => {
if (i === 0) ctx.moveTo(p.x, p.y);
else ctx.lineTo(p.x, p.y);
});
ctx.strokeStyle = lineColor;
ctx.lineWidth = 3;
ctx.stroke();points.forEach((p, i) => {
ctx.beginPath();
ctx.arc(p.x, p.y, 4.5, 0, Math.PI * 2);
ctx.fillStyle = '#ffffff';
ctx.fill();ctx.beginPath();
ctx.arc(p.x, p.y, 2.5, 0, Math.PI * 2);
ctx.fillStyle = COLORS.pink;
ctx.fill();drawText(ctx, values[i], p.x, p.y - 12, {
color: COLORS.text,
font: 'bold 11px Arial',
align: 'center',
baseline: 'bottom'
});
});
}function renderAll() {
drawBarChart(
'wrWaysChart',
['Base Game\nMax Grid', 'Free Spins\nExpanded Grid'],
[16807, 248832],
[COLORS.cyan, COLORS.pink],
260000
);drawDonutChart(
'wrRtpChart',
[61.5, 36.27],
[COLORS.purple, COLORS.gold],
'97.77%',
'Peak RTP model'
);drawLineChart(
'wrTrendChart',
['2017', '2018', '2019', '2020', '2021', '2022', '2023', '2024'],
[65, 95, 88, 76, 82, 89, 94, 91],
COLORS.cyan
);
}let resizeTimer;
function onResize() {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(renderAll, 120);
}window.addEventListener('resize', onResize);
renderAll();
})();