Better Minesweeper - Documentation
Features

Stats

Stats Window

Press S to open the stats window. Click Customize Stats to reorder rows and turn individual stats on or off. The window can follow the game window. Right-click anywhere in the window (or click More Options) to copy stats to the clipboard, toggle always-on-top, apply or copy from presets, or send finished runs to LlamaSweeper.

Per-Game Stat Definitions

MetricDescription
R Time How long a run has taken in seconds.
Est R Time Estimated final time if you keep solving at the same 3BV/s rate.Total 3BV / current 3BV/s
3BV 3BV (Bechtel’s Board Benchmark Value) is the minimum number of clicks required to solve the board.board 3BV; losses show solved / total
3BV/s 3BV/s is Bechtel board value solved per second. Higher is better.3BV / time
OBV OBV (Optimized Board Value) estimates difficulty from layout, openings, and 3BV.weighted safe squares + 3BV + openings, normalized by difficulty
Clicks (L/R/D/T) Breakdown of reveal clicks, flag clicks, chord clicks, and total clicks.reveal "/" flag "/" chord "/" total clicks
Wasted Clicks (C/Crd/T) Clicks that did not reveal, flag, or otherwise advance the solve.extra "/" failed chord "/" total wasted clicks
Flags How many flags you placed during the run.
Chords Successful chording actions that revealed nearby tiles.
Effective Clicks Clicks that changed the board state.
Misflags Flags you removed after placing them.
Efficiency How close your total clicks were to the board 3BV minimum. Higher is better.(3BV / total clicks) * 100
IOE IOE (Index of Efficiency) is efficiency shown as a decimal ratio. Higher is better.3BV / total clicks
IOS IOS (Index of Speed) compares board value against time on a log scale. Higher is better.log(3BV) / log(time)
IoME IoME (Index of Moving Efficiency) is board value solved per mouse pixel. Higher is better.3BV / Path
RQP RQP (Rapport Qualite Prix) is a time-based quality score. Lower is better.time * (time + 1) / 3BV
Correctness Fraction of your clicks that effectively changed the board. Higher is better.effective clicks / total clicks
Throughput Board value gained per effective click. Higher is better.3BV / effective clicks
CeS CeS (effective clicks per second) is board-changing clicks per second. Higher is better.effective clicks / time
Cl Cl (click rate) the amount of total clicks you made per second.total clicks / time
Ce Ce (effective clicks).
QG QG (Quality Grade) is a speed quality score using time and board value. Lower is better.time^1.7 / 3BV
STNB STNB (Shiti niu bi) is a balanced speed rating for standard boards. Higher is better.completion * difficulty constant / QG
Current Win Streak Wins in a row on a given difficulty.
Mastery Wins in your last 100 streak-eligible games.
Avg Time Average clear time across the last 100 streak-eligible wins.
Avg 3BV/s Average 3BV per second across the last 100 streak-eligible wins. Higher is better.
PB Time Your fastest eligible clear time.
PB 3BV/s Your fastest eligible 3BV-per-second pace.
PB Efficiency Your best eligible efficiency for this rule class.
NF PB Time Your fastest eligible win without placing flags.
NF PB 3BV/s Your best eligible 3BV/s win without placing flags.
NF PB Efficiency Your best eligible efficiency without placing flags.
Seed Code that you can use to regenerate the board.
Ops Clusters of empty zero-cells that expand from one reveal.
Isls Separated groups of number cells that do not touch an opening.
Path Total mouse distance traveled during the run by pixel.
MOV MOV (movement speed) is mouse travel speed during the run.Path / time
SAO SAO (solving ability) combines movement speed with effective-click speed. Higher is better.MOV * CeS
Zini Zini is the Greedy Zini flag-and-chord click estimate for the board.
H.Zini H.Zini (Human Zini) opens all zero areas first, then estimates Zini clicks.
8-Way Zini 8-Way Zini is the best Greedy Zini value across all eight tie-break directions.
100C.Zini 100C.Zini is LlamaSweeper 100Chain Zini using 100 seeded chain-priority runs.
ZNE ZNE (Zini Efficiency) compares Zini with your total click count. Higher is better.Zini / total clicks
ZNT ZNT (Zini Throughput) compares Zini with your effective click count. Higher is better.Zini / effective clicks
HZNE HZNE (Human ZiNi Efficiency) compares H.ZiNi with your total clicks. Higher is better.H.Zini / total clicks
HZNT HZNT (Human ZiNi Throughput) compares H.ZiNi with your effective clicks. Higher is better.H.Zini / effective clicks
8-Way ZNE 8-Way ZNE compares 8-Way Greedy Zini with your total click count. Higher is better.8-Way Greedy Zini / total clicks
8-Way ZNT 8-Way ZNT compares 8-Way Greedy Zini with your effective click count. Higher is better.8-Way Greedy Zini / effective clicks
100C.ZNE 100C.ZNE compares 100Chain Zini with your total click count. Higher is better.100Chain Zini / total clicks
100C.ZNT 100C.ZNT compares 100Chain Zini with your effective click count. Higher is better.100Chain Zini / effective clicks

All-Time Stats

Open with Alt+S. Tracks lifetime totals, per-difficulty breakdowns, personal bests, and progression. Check Pause recording in the window to temporarily stop tracking without erasing history.

Progression

Level, XP bar, and coin balance from the Hub progression system.

Game Overview

StatDescription
Games played / won / lostLifetime game counts
Win rateWins divided by total games played
Total playtimeSum of all game times
Time on abandoned runsCumulative time spent on runs quit mid-game
Play streakConsecutive days with at least one game played
Best play streakRecord consecutive play days

Statistics

StatDescription
Tiles clearedTotal tiles revealed across all games
Flood revealsTiles revealed by zero flood-fill openings
ChordsSuccessful chord actions
Failed chordsChord attempts that did not clear tiles
Flags placedTotal flags placed
Total misflagsFlags removed after placement
Total 3BV solvedCumulative 3BV cleared
Reveal / flag / chord clicksLifetime click counts by button
Total clicksSum of reveal, flag, and chord clicks

Difficulty Breakdowns

Each standard difficulty (Beginner, Intermediate, Expert) shows its own section with per-profile personal bests:

StatDescription
Games played / won / lostCounts for this difficulty
Win rateWins divided by games played at this difficulty
Best win streakLongest consecutive win run at this difficulty
Total time playedAll playtime at this difficulty
Time on abandoned runsCumulative abandoned time at this difficulty
Avg timeAverage win time across the last 100 streak-eligible wins
Avg 3BV/sAverage 3BV/s across the last 100 streak-eligible wins
Avg efficiency (overall)Efficiency computed from total 3BV solved and total clicks on wins
Best TimeFastest eligible win. Shown per rule profile (Classic, NG Classic, Custom).
Best 3BV/sHighest eligible 3BV/s win. Shown per rule profile.
NF Best TimeFastest eligible win with zero flags placed. Shown per rule profile.
NF Best 3BV/sHighest eligible 3BV/s win with zero flags placed. Shown per rule profile.

Rule Profiles

Personal bests are tracked separately for each rule profile:

ProfilePBs Tracked
ClassicTime, 3BV/s, IoE, no-flag time, no-flag 3BV/s
NG ClassicTime, 3BV/s, IoE, no-flag time, no-flag 3BV/s
CustomTime, 3BV/s, IoE, no-flag time, no-flag 3BV/s
RecursiveIoE only
Recursive+IoE only

Game Modes

ModePB Description
Russian RouletteBest win streak
Flags OnlyBest time per difficulty (B / I / E)
Worse MinesweeperBest time per difficulty (I / E)
LTR TimedBest score per difficulty (B / I / E)
Aim Trainer TimedBest score per difficulty (B / I / E)
Aim Trainer EndlessBest score per difficulty (B / I / E)

Achievements

AchievementDescription
Perfect GamesWins with 100% efficiency (no wasted clicks)
No-Flag WinsWins completed without placing any flags

Fun Stats

StatDescription
Smiley clicksTimes the restart button was clicked
Runs abandonedGames closed mid-run without a win or loss
Excluded from PBs and win streaks: assisted runs (automation features on), seeded runs (loaded seed, Ctrl+R, or replay library), daily challenge runs, and runs using the Other rule profile. Fully excluded: disqualified runs and runs recorded while Pause recording is active. Boards below the minimum qualifying 3BV for their difficulty are also excluded from PBs.

PB Popups

When you beat a personal best, a popup can appear. Toggle the master switch and individual popup types in Settings > PB Notifications:

TypeDescription
Best timeNew fastest win time for the current rule profile and difficulty
Best 3BV/sNew highest 3BV/s for the current rule profile and difficulty
Win streakNew longest win streak for the current difficulty
IoENew best efficiency for the current rule profile and difficulty
No-flagNew no-flag best time or 3BV/s

Custom Stats

Custom stats appear under a “Custom” category in the stats window and evaluate live during play. Defined in Settings > Custom Stats.

Stat Fields

FieldDescription
LabelName shown in the stats window
FormulaMath expression using built-in variables
Formatvalue, time_seconds, time_hms, percent, or custom
Format stringPython format string for custom mode, e.g. {:.3f}

Format Modes

ModeExample OutputNotes
value3.14Raw number, 2 decimal places
time_seconds42.51Seconds with decimals
time_hms1:23:45Hours:minutes:seconds
percent78.5%Multiplies by 100 — formula should return 0–1
custom(your format)Python format string, e.g. {:.3f}

Formula Syntax

Arithmetic
+ - * / // % **
Comparisons
== != < > <= >=
Boolean
and or not if/else
Math functions
abs() round() min() max() pow() sqrt() log() log10() floor() ceil()
Constants
e inf nan
Clamp
clamp(value, min, max)

Variable Reference

All variables available in custom stat formulas, grouped by kind. Aliases are shown in blue. All-time variables are prefixed with alltime_.

Time

VariableDescription
elapsed_timeElapsed game time in seconds. Aliases: time, rtime, runtime, seconds
elapsed_msElapsed game time in milliseconds. Aliases: milliseconds, ms
projected_win_timeProjected final time for an in-progress or lost game. Aliases: projected_time, est time, estimate

Game

VariableDescription
difficultyCurrent difficulty name as text. Aliases: mode, board
difficulty_lowerCurrent difficulty name as lowercase text. Aliases: difficulty, mode
game_stateCurrent game state text: no_game, in_progress, won, or lost. Aliases: state, result
resultFinished result text, usually Won or Lost. Aliases: outcome
is_won1 when the game was won, otherwise 0. Aliases: win, won
is_lost1 when the game was lost, otherwise 0. Aliases: loss, lost
is_in_progress1 while the game is still being played. Aliases: running, active

Board

VariableDescription
board_widthPlayable board width in tiles. Aliases: width, w
board_heightPlayable board height in tiles. Aliases: height, h
board_minesTotal mines on the board. Aliases: mines, mine count
board_cellsPlayable board area: board_width * board_height. Aliases: cells, area
tile_sizeTile Size: current board tile size from Options, in pixels. Aliases: board scale, scale, zoom
board_scaleBoard scale relative to the default tile size. Aliases: scale, zoom
use_classic_scale1 when classic scale mode is enabled, otherwise 0. Aliases: classic scale
lock_classic_scale1 when classic scale is locked, otherwise 0. Aliases: scale lock, locked scale
tiles_revealedTotal revealed tiles. Aliases: revealed, cleared tiles
flood_revealsTiles revealed by flood openings. Aliases: open clears, flood
openingsZero-cell flood regions. Aliases: zeros, openings
islandsNumbered regions not touching openings. Aliases: islands

3BV

VariableDescription
total_3bvBoard's total 3BV. Aliases: 3bv, bv, bechtel
solved_3bv3BV solved so far. Aliases: cleared 3bv, done bv
remaining_3bvUnsolved 3BV: total_3bv - solved_3bv. Aliases: left 3bv, remaining bv
completionSolved fraction from 0 to 1. Aliases: progress, percent done
bv_for_eff3BV value used for efficiency stats: total_3bv on wins, solved_3bv otherwise. Aliases: efficiency bv
bv_for_speed3BV value used for speed stats: total_3bv on wins, solved_3bv otherwise. Aliases: speed bv
threebvDisplay-style 3BV value: total_3bv on wins, solved_3bv otherwise. Aliases: 3bv, display 3bv

Speed

VariableDescription
threebv_s3BV/s: Final 3BV per second on wins. Aliases: 3bvs, speed, bv/s
projected_threebv_sProjected 3BV per second before a win. Aliases: projected speed, est speed
current_speedthreebv_s on wins, otherwise projected_threebv_s. Aliases: speed, current 3bvs

Clicks

VariableDescription
total_clicksTotal reveal, flag, and chord clicks. Aliases: clicks, all clicks
reveal_clicksReveal clicks. Aliases: left_clicks, left clicks, clears
flag_clicksFlag clicks. Aliases: right_clicks, right clicks, flags
chord_clicksChord clicks. Aliases: middle_clicks, double_clicks, chords
chordsSuccessful chord actions. Aliases: successful chords
failed_chordsChord attempts that did not clear tiles. Aliases: bad chords, wasted chords
effective_clicksEffective clicks used by efficiency stats. Aliases: ce, effective
ceEffective click count used by Ce/s style stats. Aliases: effective_clicks
extra_clicksWasted clicks excluding failed chords. Aliases: wasted clicks, extra
wasted_clicksTotal clicks that did not change the board. Aliases: wasted, bad clicks

Flags

VariableDescription
flags_placedCurrent or final placed flag count. Aliases: flags
false_flagsRemoved or incorrect flag count. Aliases: misflags, bad flags
unused_chord_flagsCorrectly flagged mines that never contributed to a successful chord.

Chording

VariableDescription
effective_chordsEffective chord count. Aliases: good chords
tiles_cleared_by_chordingTiles revealed by chord actions. Aliases: chord clears

Efficiency

VariableDescription
ioeIoE: 3BV per click. Aliases: efficiency, 3bv per click
efficiencyEfficiency percentage: ioe * 100. Aliases: ioe percent, percent efficiency
iosIOS: Speed/board metric. Aliases: ios
rqpRQP: Lower is better. Aliases: rqp
correctnessEffective clicks divided by total clicks. Aliases: accuracy
throughput3BV per effective click. Aliases: throughput
cesCeS: Effective clicks per second. Aliases: ce/s, click efficiency speed

Mouse

VariableDescription
iomeIoME: 3BV per cursor movement distance. Aliases: movement efficiency
clClicks per second. Aliases: click speed, cps
pathTotal cursor movement distance in pixels. Aliases: mouse path, distance
movMOV: Cursor movement speed in pixels per second. Aliases: mouse speed

Advanced

VariableDescription
qgQG: Quality Grade metric. Lower is better. Aliases: quality grade
stnbSTNB: Balanced speed stat. Higher is better. Aliases: balanced speed
obvOBV: Optimized Board Value. Aliases: optimized board value
saoSAO: Solving ability indicator, MOV * CeS. Aliases: solving ability

ZiNi

VariableDescription
ziniZiNi: Greedy ZiNi click estimate. Aliases: gzini, zini
hziniH.ZiNi: Opening-first ZiNi click estimate. Aliases: h zini
eight_way_gzini8G.ZiNi: Best greedy ZiNi result across eight tie-break directions. Aliases: 8g zini, 8-way zini
chain100_zini100C.ZiNi: LlamaSweeper 100Chain ZiNi. Aliases: 100chain, 100czini, 100c zini
zneZNE: ZiNi efficiency. Aliases: zini efficiency
zntZNT: ZiNi throughput. Aliases: zini throughput
hzneHZNE: H.ZiNi efficiency. Aliases: hzini efficiency
hzntHZNT: H.ZiNi throughput. Aliases: hzini throughput
eight_way_gzne8G.ZNE: 8-way ZiNi efficiency. Aliases: 8gzne
eight_way_gznt8G.ZNT: 8-way ZiNi throughput. Aliases: 8gznt
chain100_zne100C.ZNE: 100Chain ZiNi efficiency. Aliases: 100czne
chain100_znt100C.ZNT: 100Chain ZiNi throughput. Aliases: 100cznt

All-Time (Current Difficulty)

VariableDescription
pb_timeCurrent difficulty PB time, in seconds.
pb_3bvsCurrent difficulty PB 3BV/s.
pb_ioeCurrent difficulty PB efficiency as an IoE decimal.
nf_pb_timeCurrent difficulty no-flag PB time, in seconds.
nf_pb_3bvsCurrent difficulty no-flag PB 3BV/s.
nf_pb_ioeCurrent difficulty no-flag PB efficiency as an IoE decimal.
current_streakCurrent win streak for the current standard difficulty.
masteryMastery count for the current standard difficulty and rule profile.
avg_timeRolling average win time for the current standard difficulty and rule profile, in seconds.
avg_3bvsRolling average 3BV/s for the current standard difficulty and rule profile.

Functions

FunctionDescription
min()Smallest value.
max()Largest value. Useful for avoiding divide-by-zero: max(elapsed_time, 1).
abs()Absolute value.
round()Round a value.
pow()Power function: pow(value, exponent).
sqrt()Square root.
log()Natural logarithm.
log10()Base-10 logarithm.
floor()Round down.
ceil()Round up.
clamp()Limit a value: clamp(value, min, max).

Constants

ConstantDescription
eEuler's number. Aliases: 2.718

All-Time Variables

Global lifetime totals. These values do not vary by difficulty.

VariableDescription
alltime_total_games_playedAll-time Total Games Played
alltime_total_games_wonAll-time Total Games Won
alltime_total_games_lostAll-time Total Games Lost
alltime_total_playtime_msAll-time Total Playtime Ms
alltime_total_tiles_revealedAll-time Total Tiles Revealed
alltime_total_flood_revealsAll-time Total Flood Reveals
alltime_total_flags_placedAll-time Total Flags Placed
alltime_total_chordsAll-time Total Chords
alltime_total_failed_chordsAll-time Total Failed Chords
alltime_total_reveal_clicksAll-time Total Reveal Clicks
alltime_total_flag_clicksAll-time Total Flag Clicks
alltime_total_chord_clicksAll-time Total Chord Clicks
alltime_total_misflagsAll-time Total Misflags
alltime_total_3bv_solvedAll-time Total 3BV Solved
alltime_total_smiley_clicksAll-time Total Smiley Clicks
alltime_total_runs_abandonedAll-time Total Runs Abandoned
alltime_total_abandoned_time_msAll-time Total Abandoned Time Ms
alltime_total_perfect_gamesAll-time Total Perfect Games
alltime_total_no_flag_winsAll-time Total No Flag Wins
alltime_current_win_streakAll-time Current Win Streak
alltime_best_win_streakAll-time Best Win Streak
alltime_current_loss_streakAll-time Current Loss Streak
alltime_current_play_streakAll-time Current Play Streak
alltime_best_play_streakAll-time Best Play Streak
alltime_last_play_date_ordinalAll-time Last Play Date Ordinal

Per-difficulty and per-ruleset data is available through the dynamic All-Time (Current Difficulty) variables above (e.g. pb_time, avg_time, avg_3bvs). These automatically resolve to the active difficulty and rule profile.