Despite using AUROCs for years, I could never develop an intuition for what they actually meant. So I made a cute visualization where you can generate a population and visually see what various AUROCs mean.

This lets you explore AUROCs by playing with a population of little blocks that come in two types: (positive) and (negative).

You can generate a population of these little blocks, and see the AUROC, treating the height of each block as the score and the type as the label (with as positive and as negative). The AUROC is calculated via the frequency that a type has a higher value/height compared to a type. Each population is sampled from gaussians with a type-specific mean and a shared standard deviation.

Mean 0 (25)           Mean 1 (30)
Standard Deviation(5)           N(250)

Generate new population: Note that these are approximate to start with and may be off further due to finite sampling (i.e., while the AUROC is the given value as N → ∞, this is not guaranteed for small N). Also since height is a positive value, things may break down with lots of blocks with height close to 0.

You can sort the blocks by three styles:
Population AUROC: Undefined%