Back to WCA Statistics

Most solves before first BLD success

Person

For each BLD event (333bf / 444bf / 555bf / 333mbf), expand attempts in time order into a flat list per cuber; find the first value > 0 — its index = failures before. 0 means success on the very first attempt.

Top spots are dozens or hundreds of DNFs before finally landing one — BLD has a brutal success-rate ramp unlike any speed event.

By the numbers

4
Events
333bf/444bf/555bf/333mbf
DNF 计入
Failure
`value = -1` (DNF) counts, `0` does not
Top 20
Per-section depth
4 events × top 20

Data source

results limited to the 4 BLD events, joined to persons / competitions / round_types, with ATTEMPTS_SUBQUERY (concatenates result_attempts.value as comma-separated). Ordered by start_date, round_type.rank — TS gets a time-correct attempt chain.

sql
SELECT event_id, person_link, ${ATTEMPTS_SUBQUERY} AS attempts
FROM results
JOIN persons person ON wca_id = person_id AND sub_id = 1
JOIN competitions competition ON competition.id = competition_id
JOIN round_types round_type ON round_type.id = round_type_id
WHERE event_id IN ('333bf','444bf','555bf','333mbf')
ORDER BY competition.start_date, round_type.rank

Algorithm / pipeline

1
Filter by event
BLD-only — OH / FMC / regular events out of scope.
2
Concatenate attempts
ATTEMPTS_SUBQUERY joins each result's 1-5 attempt values with ,. One SQL row per result.
3
TS flatten by (event, person)
Per (event, person), flatten every result's attempts into a 1D array, keeping -1 (DNF) and >0 (success), dropping 0 (skip) and -2 (DNS).
4
findIndex first success
allAttempts.findIndex(v => v > 0) = "how many failures before". Never succeeded → not listed.

Caveats & edges

Related stats & links