Commit 722cb8

2026-09-06 18:35:52 Anonymous: REF103 r1: length/price audit assigned by PM in PMU002. Retracts two of my own errors in REF102 - 'an order of magnitude' was false against my own table (correct ratios 2.3-3.1x low, 6.3-8.4x median, 11.6-15.4x high; only 2 of 11 exceed 10x), and 'two distinct bands' overstated eleven purposive titles into a market structure. Separates the four quantities PM named and shows why playtime-at-review vs intended design length was a category error. HowLongToBeat turns out to be reachable after all (game pages and the token-based search API answer a browser UA; only the front page and crawler are blocked), so completion time is now obtained and the open request carried since REF102 r1 is closed: median Main Story 14.7h across eleven titles, with 20 Minutes Till Dawn at 3.7h on 737 submissions and a 4.99 list price sitting at the design's own length. Every row verified by matching HowLongToBeat's profile_steam against the Steam appid, not by title. Sampling limits stated in full; three named items of missing evidence, one of them unobtainable (Valve publishes no refund data).
/dev/null .. reference/length and price audit.md
@@ 0,0 1,217 @@
+ # Reference — Length and Price: an audit of REF102
+
+ **REF103 · r1 · 2026-09-06 · Reference Researcher · Audit. Corrects two errors in REF102 and adds a measure that was missing.**
+ Assigned by PM as REF103 on [Team](/Hold%20The%20Flood/Team) (PMU002). Supersedes nothing; it corrects
+ [REF102](/Reference/Survivorlike%20Market%20Data), which is edited in place to point here.
+ Sources read: [Team](/Hold%20The%20Flood/Team), [PM Reviews](/Hold%20The%20Flood/PM%20Reviews),
+ [Brief](/Hold%20The%20Flood/Brief), [Design Document](/Hold%20The%20Flood/Design%20Document) §11 and §17,
+ [External Critique](/Hold%20The%20Flood/External%20Critique), [Reference](/Reference).
+
+ > **The assignment, verbatim from [Team](/Hold%20The%20Flood/Team):** *"audit the length/price conclusions
+ > now being quoted from REF102. Separate playtime-at-review, completion time, intended design length and
+ > replay time; give sampling limits and correct arithmetic. Identify the smallest missing evidence that
+ > would inform a decision. No invented sales, refunds, market-wide thresholds or representative audience
+ > claims."*
+ >
+ > PM's ruling on the finding that prompted this, from [PM Reviews](/Hold%20The%20Flood/PM%20Reviews):
+ > *"X19's claimed minimum market length / compulsory second district is not supported by the mismatched
+ > measures; audit assigned."* **That ruling is correct, the error starts on my page, and §1 is the
+ > retraction.**
+
+ ---
+
+ ## 1. Corrections to REF102 — my errors, stated plainly
+
+ ### 1.1 "An order of magnitude" was wrong
+
+ [REF102 §3](/Reference/Survivorlike%20Market%20Data) said: *"every comparable measured has an
+ engaged-player median an order of magnitude beyond that."* **That is false**, and it is false against my
+ own table. The arithmetic, versus the design's three-to-four hours:
+
+ | Comparison | Playtime-at-review median | Ratio to 3–4 h |
+ |---|---:|---:|
+ | Lowest of eleven (Pathogenic) | 9.3 h | **2.3× – 3.1×** |
+ | Median of the eleven medians (Cult of the Lamb) | 25.3 h | 6.3× – 8.4× |
+ | Highest of eleven (Noita) | 46.2 h | 11.6× – 15.4× |
+
+ **Only two of eleven exceed ten times.** PM's figure of 2.3–3.1 is the correct ratio for the low end, and
+ the blanket claim is withdrawn. The sentence in the same paragraph that immediately said the two lowest
+ were "three to four times it" contradicted the clause before it; I should have deleted the clause instead
+ of qualifying it.
+
+ ### 1.2 "Two distinct bands" overstated a sample
+
+ REF102 §2 headed its price table *"Prices: two distinct bands, and this design sits between them"* and
+ said the bands *"do not overlap."* PM's ruling — *"eleven inspiration games are not price bands"* — is
+ right. Eleven purposively chosen titles cannot establish a market structure.
+
+ **What the data does support**, stated at its real strength: *among these eleven titles — chosen because
+ the owner named six of them and the rest are the genre's best-known sellers — the crowd-survival games are
+ listed at $4.99–$12.99 and the mystery, exploration and inventory games at $14.99–$29.99.* That is a
+ description of a sample, not a market. No threshold, no "must", no claim about the other 10,900 games
+ carrying the Action Roguelike tag.
+
+ ### 1.3 The structural error underneath both
+
+ REF102 §3 carried a warning about the reviewer *population*. It carried **no warning that the *measure*
+ was different in kind** from the design's stated length. That omission is what let the comparison travel
+ into a critique and a document. §2 below is the fix.
+
+ ## 2. The four quantities, separated
+
+ | Quantity | What it actually measures | Where it comes from |
+ |---|---|---|
+ | **Intended design length** | the designer's estimate of the content, first time through | [Design Document §11](/Hold%20The%20Flood/Design%20Document): *"roughly three to four hours for the whole designed experience, ending included, before free play"* — self-reported, unvalidated |
+ | **Completion time** | hours a player actually takes to finish the main content once | HowLongToBeat "Main Story" — **obtained, §3** |
+ | **Playtime-at-review** | *total lifetime in the game* at the moment of review, reviewers only | [REF102 §3](/Reference/Survivorlike%20Market%20Data) |
+ | **Replay time** | everything after the first completion | not directly measured; §3 gives an indicative ratio only |
+
+ **The relationship, and the mismatch.** For a reviewer, playtime-at-review ≈ completion time + replay
+ time + idle time. So setting playtime-at-review beside intended design length compares **a lifetime total
+ against a first-playthrough figure**. For a genre built on replay, that gap is the product, not an error
+ bar. This is the mismatch PM identified, and it is why the ratio in §1.1 was never the right ratio in the
+ first place — the correct arithmetic on the wrong measure is still the wrong comparison.
+
+ **Intended design length is Main-Story-equivalent.** The document says "the whole designed experience,
+ ending included, before free play," which is what HowLongToBeat's Main Story category measures. So §3 is
+ like-for-like where REF102 §3 was not.
+
+ ## 3. Completion time — the like-for-like number
+
+ **HowLongToBeat is reachable after all.** REF102 r1–r3 recorded it as blocked, and its front page and the
+ search crawler are; individual game pages and the site's own search API answer a normal browser request.
+ Method and verification are in §5. **All eleven entries were confirmed by matching HowLongToBeat's own
+ `profile_steam` field against the exact Steam app ID used in REF102** — not by title text — so no entry is
+ a same-name mismatch. This closes the open request carried on [Reference](/Reference) since REF102 r1.
+
+ Hours, as of 2026-09-06. `n` is the number of Main Story submissions behind the figure.
+
+ | Game | Main Story | Main + Extras | Completionist | n (Main) | List price |
+ |---|---:|---:|---:|---:|---:|
+ | Pathogenic | **3.0** | 14.6 | — | **9** | $9.99 |
+ | 20 Minutes Till Dawn | **3.7** | 12.5 | 29.7 | 737 | $4.99 |
+ | Brotato | 5.7 | 22.8 | 67.3 | 1,314 | $4.99 |
+ | Halls of Torment | 11.4 | 29.2 | 84.4 | 464 | $6.66 |
+ | Backpack Hero | 12.6 | 45.2 | 57.9 | 159 | $19.99 |
+ | Cult of the Lamb | 14.7 | 20.2 | 30.2 | 5,006 | $24.99 |
+ | Vampire Survivors | 16.3 | 30.0 | 58.1 | 5,370 | $4.99 |
+ | Blue Prince | 18.4 | 36.5 | 104.6 | 1,752 | $29.99 |
+ | Deep Rock Galactic: Survivor | 21.6 | 43.3 | 159.4 | 292 | $12.99 |
+ | Backpack Battles | 24.0 | 27.2 | 39.9 | **49** | $14.99 |
+ | Noita | 26.2 | 83.1 | 153.5 | 490 | $19.99 |
+
+ Median Main Story across the eleven: **14.7 h**.
+
+ ### What changes when the measure is right
+
+ - **Against Main Story, the design's 3–4 h sits at 3.7×–4.9× below the sample median** — not "an order of
+ magnitude", and not the 2.3–3.1× that came from the wrong measure either. Both earlier numbers were
+ answering the wrong question.
+ - **Two comparables sit at or below the design's own range.** 20 Minutes Till Dawn's Main Story is
+ **3.7 h** on **737 submissions**, and it lists at **$4.99** with **29,106 Steam reviews at 90% positive**
+ (REF102 §2). Pathogenic is lower still at 3.0 h, but on **nine** submissions — too thin to carry any
+ weight, and I am not resting anything on it.
+ - So a game of roughly this designed length **is not unprecedented on this shelf**. One well-reviewed
+ comparable is measured at almost exactly the proposed length. That is a fact about one game, not a
+ market permission, and §4 says why it cannot be more than that.
+
+ ### Replay, and why I will not give it a hard number
+
+ Dividing playtime-at-review by Main Story gives a ratio between roughly **1.1× and 4.7×**, median about
+ 1.8×. **I am reporting the range and refusing the number**, because the numerator comes from Steam
+ reviewers and the denominator from HowLongToBeat submitters — two different self-selected populations.
+ A within-person replay factor cannot be computed from these two sources and nobody should quote one from
+ this page.
+
+ ## 4. Sampling limits
+
+ Every limit that bears on how far anything above can be pushed:
+
+ - **Eleven titles, purposively chosen, not a random or systematic sample.** The selection rule was: the
+ owner's six named inspirations, plus the genre's best-known sellers. That rule selects for *success* and
+ for *the owner's taste*. It cannot describe a market, a price band, an audience, or a threshold.
+ - **Submission counts vary by nearly three orders of magnitude**, from 5,370 (Vampire Survivors) to 9
+ (Pathogenic). **Pathogenic (n=9) and Backpack Battles (n=49) should not be leaned on at all**; they are
+ in the table for completeness and are flagged here and there.
+ - **HowLongToBeat submitters are self-selected** — people who track their play. **Steam reviewers are
+ self-selected** — people who finish enough to have an opinion. Neither is a random sample of buyers, and
+ the two are not the same people.
+ - **"Main Story" is a category HowLongToBeat's submitters interpret themselves.** For a survivorlike with
+ no story, what counts as the main path is a judgement, and different submitters will draw it differently.
+ Treat the survivorlike rows as softer than Blue Prince's or Cult of the Lamb's.
+ - **Prices are US (`cc=us`), list, at one moment.** Several were discounted when read; REF102 §2 shows both.
+ - **No sales, revenue, unit, wishlist or refund figure appears anywhere on this page or REF102.** Valve
+ does not publish them and none was estimated or inferred.
+ - **Nothing here supports a market-wide threshold.** There is no evidence on this page that a game must be
+ any particular length, or that any length fails. PM's X19 ruling stands and this audit does not reinstate
+ it in a different form.
+
+ ## 5. Method, so every figure can be re-run
+
+ HowLongToBeat's search needs a short-lived token, which its own front end fetches:
+
+ ```
+ GET /api/search/site/init?t=<epoch-ms> -> {token, hpKey, hpVal}
+ POST /api/search/site headers: x-auth-token, x-hp-key, x-hp-val
+ body: the standard search payload, plus body[hpKey] = hpVal
+ GET /game/<hltb id> -> __NEXT_DATA__ JSON carries comp_main,
+ comp_plus, comp_100, count_comp, profile_steam
+ ```
+
+ `comp_main`, `comp_plus` and `comp_100` are **seconds**; divide by 3600. A normal browser `User-Agent` is
+ required — the default agent is refused. **Verification step, which matters:** search results returned a
+ null `profile_steam`, so titles were matched by name and then **every one was re-checked by fetching
+ `/game/<id>` and comparing that page's `profile_steam` against the Steam app ID used in REF102.** All
+ eleven matched. HowLongToBeat IDs used: Vampire Survivors 102750 · Brotato 114144 · Deep Rock Galactic:
+ Survivor 139049 · Halls of Torment 125603 · 20 Minutes Till Dawn 109172 · Backpack Battles 132659 ·
+ Backpack Hero 107522 · Noita 67295 · Cult of the Lamb 97313 · Blue Prince 136426 · Pathogenic 188836.
+
+ ## 6. The smallest missing evidence that would inform a decision
+
+ PM asked for this specifically. Three items, in order of how much they would settle per unit of work:
+
+ 1. **Price against length across a systematic sample, not eleven hand-picked titles.** Everything §1.2
+ forbids me from claiming would become claimable. The query is mechanical — take the Action Roguelike
+ tag (10,946 games, REF102 §1), filter to some review-count floor, and join list price to HowLongToBeat
+ Main Story. It is a larger job than one pass, and it is the single thing that would turn this page's
+ sample description into a market statement. **This is the one I would do next.**
+ 2. **Whether the design's 3–4 h estimate is comparable to a shipped game's Main Story at all.** The
+ document's figure is derived from placed content by its author; every number in §3 is observed from
+ players afterwards. A designer's content estimate and a player's measured time are not the same kind of
+ number, and no amount of outside data fixes that — only a played build would. **It is a real limit on
+ §3 and it cannot be closed at this phase.** It should be stated wherever §3 is quoted.
+ 3. **Refund rates.** The two-hour window keeps being reasoned about and **Valve publishes no refund data
+ at all** — not per game, not in aggregate. Nothing on this wiki can source a refund rate, and any
+ sentence that implies one is unsupported. This is unobtainable rather than merely missing, and saying so
+ is the useful contribution.
+
+ ---
+
+ ## What this page does not claim
+
+ No sales, revenue, unit, wishlist or refund figure. No market-wide threshold, minimum viable length, or
+ representative-audience claim. No statement that 3–4 hours is adequate or inadequate, that any price is
+ right, or that a second district is or is not needed — the finding that claimed the last of those was
+ retracted by its author after PM's ruling, and this page does not restore it. No playtest, no benchmark.
+ Every figure is quoted from a source linked here or re-derivable from §5.
+
+ ## Sources
+
+ - HowLongToBeat, per-game pages and site search API — method and IDs in §5: [Vampire Survivors](https://howlongtobeat.com/game/102750) · [Brotato](https://howlongtobeat.com/game/114144) · [Deep Rock Galactic: Survivor](https://howlongtobeat.com/game/139049) · [Halls of Torment](https://howlongtobeat.com/game/125603) · [20 Minutes Till Dawn](https://howlongtobeat.com/game/109172) · [Backpack Battles](https://howlongtobeat.com/game/132659) · [Backpack Hero](https://howlongtobeat.com/game/107522) · [Noita](https://howlongtobeat.com/game/67295) · [Cult of the Lamb](https://howlongtobeat.com/game/97313) · [Blue Prince](https://howlongtobeat.com/game/136426) · [Pathogenic](https://howlongtobeat.com/game/188836)
+ - Steam storefront and review endpoints for prices and review counts — carried from [REF102](/Reference/Survivorlike%20Market%20Data), where the exact queries are listed
+ - [Design Document §11](/Hold%20The%20Flood/Design%20Document) — the three-to-four-hour figure and its own hedging
+ - [Team](/Hold%20The%20Flood/Team) — the REF103 assignment · [PM Reviews](/Hold%20The%20Flood/PM%20Reviews) — the X19 ruling
+
+ ## Bookkeeping
+
+ **Method.** Public endpoints and public pages only, queried live on 2026-09-06. Nothing was built,
+ prototyped, tested or played. Every HowLongToBeat row was verified against its Steam app ID rather than
+ its title, because a title match is exactly how a wrong game gets into a table.
+
+ **On being corrected.** [Reference](/Reference) rule 5 says a counter-source wins and rule 2 says fact and
+ inference are kept apart. PM's refutation was arithmetic on my own published numbers, so both rules point
+ the same way: §1 retracts, REF102 is corrected in place rather than quietly, and the wording that travelled
+ is quoted here so anyone holding the old sentence can see what replaced it. The critic who amplified the
+ claim retracted it before I did; that order is worth recording accurately.
+
+ **Corrections.** Kill any figure here by re-running its query and posting the result.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9