Waze for fishing wiki

Crowd display & distribution: does it disperse anglers, or attract them?

Part of the «Waze для рыбалки» wiki · Design research, 2026-07-02 · Status: v1 — direction must be tested before shipping counts
Related: Design principles (P6 k-anonymity) · Open decisions (D5) · Secret spots


The idea, and the surprise

The idea (Piotr): show how many anglers are at each spot so the crowd self-distributes — if a spot looks crowded, people go elsewhere. It's attractive because crowd-count is non-rival: reporting "it's crowded" costs the reporter nothing and even protects their spot.

The surprise from the research: for fishing specifically, a visible crowd probably ATTRACTS anglers rather than repelling them — the opposite of the self-dispersal premise. A crowd, or visible catches, reads as social proof of a hot bite ("fish must be biting HERE"), so a raw count becomes a beacon that accelerates spot-burning. So the feature is real, but it has to be designed against two distinct failure modes, not just switched on.

Failure mode 1 — herding TOWARD the crowd (fishing-specific)

Unlike surfers or hikers (who mostly want to avoid crowds), anglers read a crowd as a fish signal:
- Surf precedent runs the same direction: Surfline is widely blamed for increasing crowds — accurate forecasting funnels surfers to the best breaks on the best days, triggering the "locals only" backlash (some cameras were vandalized). No surf app has ever measurably thinned a lineup.
- Fishing is stronger still. Documented case: after crappie fishing at Grenada Lake was publicized, "tens of thousands of anglers flocked" there — Mississippi cut creel limits 15→10 fish/person in response. Hot patterns "burn out almost overnight" once public; anglers actively move toward signs others are catching ("word of an impending blitz travels like mad").
- → A bare "who's here now" count on a fishing spot is more likely a recruiting beacon than a deterrent.

Failure mode 2 — oscillation (game theory, applies to any crowd signal)

Even where a crowd signal does repel, a precise, shared, real-time one oscillates:
- This is the El Farol Bar problem (W. Brian Arthur, 1994) / Minority Game (Challet & Zhang, 1997): if a public signal says a spot is empty, everyone goes → it's crowded → everyone avoids → it's empty. Any commonly-shared prediction is self-negating.
- Real systems reproduce it: Waze/Google Maps "dump" traffic onto side streets and cause oscillating congestion because everyone reroutes on the same signal at the same time. The Informational Braess' Paradox (Acemoglu et al., 2018) formally proves extra route info can make all informed users worse off, depending on network structure.
- The minority-game "information paradox": when everyone keys off the same precise signal, coordination is worse than random ("informationally efficient, socially inefficient"). Noise, coarsening, delay, and strategy diversity damp the oscillation.

When a crowd signal actually redistributes

Only two conditions make it work, and they show the design:
1. Framed as congestion/cost, not opportunity. The one precedent that genuinely redistributed people is park timed-entry (Yosemite 2026: removing reservations re-concentrated weekends +15.5%). Passive busyness displays (Google "popular times", gym crowd-meters, AllTrails traffic) help individuals dodge crowds and do steer demand — but they're coarse, typical-baseline, bucketed, not knife-edge live counts. Transit crowding displays are the best positive evidence: showing crowding for the next two departures made 30–70% of riders skip a full vehicle and cut variance ~20% — because riders re-sample cheaply and an alternative is imminent.
2. Real redistribution needs friction, not just a number. A passive display alone doesn't demonstrably thin the aggregate; a soft nudge to specific alternatives does.

Design rules (the evidence-backed levers)

  1. Never show a raw live head-count as the primary signal. That's the El Farol regime and the social-proof beacon at once.
  2. Coarse bands, not integers. "тихо / оживлённо / людно" (quiet / busy / packed), not "7 anglers." Bucketing is what makes gym meters and Google popular-times stabilizing instead of oscillating.
  3. Typical-for-this-time baseline, not a live prediction. "Usually quiet on Tuesday mornings" disperses; "will be empty at 6am tomorrow" is the self-negating trap. Report a lagged/typical state with only a gentle "busier/quieter than usual" nudge.
  4. Frame as congestion/cost, never opportunity. Emphasize the discomfort (packed bank, nowhere to park), never "catches happening here" — the latter recruits.
  5. Inject noise + never broadcast synchronously. No "Spot X just emptied!" push to many users at once (that's the synchronized-reroute instability). Jitter updates per user; diversify the suggested alternative so different anglers are nudged to different quieter waters, not all to the same one.
  6. Min-N privacy floor. On a small Latvian lake, "2 here" deanonymizes by elimination (the Strava heatmap precedent — small N is high-signal, and the leak vector was the username/leaderboard link). Never render a crowd layer below a threshold of active users; show bands only; geofence to waterbody, not point; never link the crowd layer to usernames.
  7. Expect gaming both ways. Because a crowd attracts, a strategic angler may over-report "crowded" to scare others off a good spot, or under-report to keep it quiet. Data integrity depends on weighting by reporter reputation (ties into P4 anti-abuse).

Latvia compounds both problems

Chronic low density makes the privacy risk acute and makes each reported crowd a stronger, sparser social-proof signal (higher attract-risk per report). A design that's safe in dense California surf or US parks can be actively harmful on quiet Baltic lakes. Test the attract-vs-avoid direction locally before shipping any absolute count.

What this means for the MVP / the mock

The current mock already does two things right: it uses coarse crowd bands (тихо/оживлённо/людно) and frames "людно" as a cost with a diversified alternative suggestion ("здесь людно → спокойнее сейчас: …"). Two things to fix before it's more than a demo: (a) the alternative suggestion is currently the same for everyone who opens a packed spot — jitter/personalize it so it doesn't herd everyone to one "quiet" lake; (b) gate it behind a min-N floor so it never appears on a 1–2-angler water. Net MVP: bucketed bands + typical-baseline default + gentle live nudge + per-user diversified alternatives + no synchronized "empty now" broadcasts — exactly the deployed pattern (popular times, gym meters, transit crowding) that demonstrably spreads load while avoiding the oscillation-prone precise-real-time regime.

Sources

Game theory: El Farol / Minority Game · Moro, Minority Games review · Informational Braess' Paradox, Acemoglu et al. 2018 · Waze oscillation: Berkeley ITS, IEEE Spectrum · transit crowding Transportation Research A 2021 · Google popular times. Outdoor precedents: Surfline (Wikipedia) · Fishbrain map/privacy · social media & spot-burning (Wired2Fish) · The Fisherman, "Fishing in a Crowd" · AllTrails Insights / Yosemite 2026 · Strava deanonymization: NC State, Chino.io.

Thin data flagged: no controlled study of a crowd-count feature's effect on fishing behavior exists — the attract-direction is trade-press + forum + one management action, directionally strong but not rigorous; no published numeric k-anonymity threshold from any app.