We bouwden een model om één vraag te beantwoorden: wanneer bijt de vis? Twee weken lang beantwoordde het zelfverzekerd twee heel andere vragen, namelijk in welk weer gaan vissers graag op pad en welke stekken zijn goed. Allebei prima voorspelbaar. Geen van beide is wat wij beloven. Dit is het verhaal van vijf keer ernaast zitten, en van de pagina die we erop hebben herbouwd.
Hoe de nuldagen wind groot maakten
Ons model noemde wind veruit de grootste factor: ruwweg de helft van alles. Het stond in onze documentatie, in onze soortbeschrijvingen, in onze FAQ. Het voelde ook goed, want elke visser heeft een mening over wind.
Het zat anders. Het lag aan hoe we de dagen kozen waarop niemand iets ving. Die negatieve voorbeelden trokken we uit elke dag waarvoor we weerdata hadden, maar op de meeste van die dagen viste er domweg niemand. Het model leerde dus voor een deel iets heel anders: waar en wanneer komen vissers opdagen. En dat is goed te voorspellen.
Wind was de variabele die dat kón dragen. Van al het weer dat we meten is wind in Nederland het sterkst ruimtelijk gestructureerd. Een flink deel van de variatie zit tussen plekken in plaats van tussen dagen; temperatuur verschilt vooral van dag tot dag en nauwelijks van plek tot plek. Wind voorspelde geen vis: wind stond voor de kustlijn, en via de kustlijn voor menselijk gedrag.
De oplossing komt uit soortverspreidingsmodellering: trek negatieve voorbeelden alleen uit dagen waarop aantoonbaar iemand aan het vissen was en iets meldde, alleen niet de soort in kwestie. Wind viel van ongeveer de helft van het model naar een paar procent, en is daar bij elke training sindsdien gebleven.
Het waterpeil dat eigenlijk een hoogtemeter was
Waterpeil was onze tweede factor. We voerden het model centimeters boven NAP. Maar een peilschaal aan de Maas bij de Duitse grens staat op een totaal andere absolute hoogte dan één in een polder onder zeeniveau. We hebben het nagemeten: de spreiding tussen stations was vele malen groter dan de spreiding binnen één station over de tijd.
"Waterpeil" vertelde het model dus vooral naar welke meetlat het keek. Opnieuw geografie, nu binnengeslopen via de peilschaal. Met de verandering over drie dagen in plaats van de absolute hoogte zakte het landelijk naar een paar procent, al blijft het voor sommige stroomsoorten wél de sterkste factor die ze hebben. Voor serpeling is het nog altijd nummer één.
De kalender deed het werk
Met die twee fouten eruit zagen de modellen er nog steeds goed uit. Snoek scoorde 8,6×: de best beoordeelde dagen leverden acht keer de vangst van de slechtste.
Toen stelden we een eerlijkere vraag. Niemand kiest tussen januari en juli. Je kiest tussen zaterdag en zondag. Dus maten we de voorspelkracht binnen een kalendermaand, wat het seizoen eruit haalt en alleen de omstandigheden overlaat. Snoeks 8,6× werd 1,59×. Brasem werd 0,9995, toeval tot op vier decimalen.
Brasem maakt het niet uit, die koeien vang je altijd.
— gezegd voordat het gemeten was
De eerlijke claim was nooit "ons model weet wanneer snoek bijt". De eerlijke claim was "snoekvangsten concentreren zich in de winter, gecorrigeerd voor hoeveel er gevist wordt". Dat is een uitspraak over het seizoen, en een veel kleinere.
Het model dat wist welke meren goed zijn
Ons soort-onafhankelijke "is het vandaag een goede dag"-model kon binnen de maand helemaal niets. Een voorstel om alleen de soorten te bundelen die aantoonbaar dagniveau-signaal hadden, hielp meteen: het model verdiende voor het eerst het recht om iets over dágen te zeggen.
Het was geografie. Alweer. De soortmodellen houden de plek in bedwang doordat ze hun negatieve voorbeelden uit dezelfde wateren trekken als hun positieve. Die herdefinitie maakte beide klassen tot echte vistrips en liet die controle stilletjes vallen. Het bewijs was bruut en simpel: bouw een ranglijst die alleen weet welk water het is, zonder weer en zonder datums. Die scoorde 3,93 op dezelfde maat. Ons weermodel 1,26. Hield je het water én het seizoen vast, dan bleef er van het dagsignaal 1,03 over, niet meer dan toeval.
De overcorrectie, en wat die repareerde
Na vier keer nat te zijn gegaan deden we wat je dan doet: we zetten alles strakker. We gingen conditioneren op water én maand, en zagen de cijfers instorten. Karper, een van onze grootste datasets, viel terug naar toeval. We concludeerden dat karper geen dagsignaal had.
We hebben zó veel vangsten, we hebben zó veel losse tests gedaan. Het blijft er maar tests op gooien tot er niets meer ademt.
— en dat was terecht
Dat is een belangrijk moment, want "ik vind het antwoord niet leuk" en "de test deugt niet" zien er van binnenuit identiek uit. De doorslag kwam van iets simpels. Elke opdracht die we onze reviewers gaven zei zoek wat er fout is. Geen enkele keer vroegen we is deze test te streng? Een criticus die nooit zijn eigen strengheid hoeft te verantwoorden, blijft aandraaien tot er niets meer overeind staat. Dat mechanisme hadden we zelf gebouwd.
Geografie was niet de vervuiling. Het was de ontbrekende variabele.
Een karper in het kanaal zou nooit merken dat het waterpeil verandert, of dat de temperatuur verandert, zoals in een afgesloten stadsvijver.
Dat is geen kwestie van statistische smaak. Het is een mechanisme, en het doet een voorspelling. Als karper in een klein stilstaand water anders op weer reageert dan in een stromend kanaal, dan moet één model dat op allebei is gefit het verschil delen. Het landt in het midden en past bij geen van beide. Het effect kan in elke subgroep echt zijn en in het gemiddelde bijna nul.
Het verklaart ook waarom onze steeds strengere tests niets lazen: ze maten met steeds meer zorg het verdunde model, in plaats van te vragen of het bundelen zelf de fout was.
| Soort | Vaardigheid binnen de maand | Leefgebied |
|---|---|---|
| Riviergrondel | 1,57 | alleen rivieren en beken |
| Tong | 1,55 | alleen zee |
| Schar | 1,42 | alleen zee |
| Wijting | 1,40 | alleen zee |
| Snoek | 1,38 | overal |
| Baars | 1,21 | overal |
| Karper | 1,13 | overal |
| Voorn | 1,10 | overal |
Elke soort met één leefgebied staat bovenaan. Elke generalist onderaan. De zeevis en de riviervis waren nooit beter gemodelleerd: ze waren onverdund. Ze leven maar in één soort water, dus er viel niets weg te middelen. Barbeel, met weinig vangsten en alleen rivieren, presteert om dezelfde reden ver boven zijn data.
Wat de pagina hiervan geworden is
De verwachtingspagina is opnieuw gebouwd rond wat er ná al dat snoeien nog stond. Kort samengevat: het seizoen is het grote gemeten signaal en de dag is het kleine. Aan een vast water is de maand tientallen procenten waard en de dag een paar. Een pagina die met de dag opende, zou het kleine signaal vooropzetten.
- Seizoen zet het niveau, de dag de variatie. Je ziet één samengevoegd getal per soort per dag, niet twee scores die je zelf moet verrekenen.
- Een soort zonder gemeten dagpatroon krijgt geen zeven verschillende cellen. Zeven cellen die alleen door afronding verschillen lezen nog steeds als een vergelijking, en dat zou een claim zijn die we niet hebben.
- Percentages vergelijken een soort met zijn eigen jaargemiddelde, niet met andere soorten. Welke soort het vaakst gevangen wordt is een andere vraag, en die beantwoordt de zin boven aan de pagina.
- Het visjaar — de maandindex van alle soorten — is landelijk, modelvrij en voor iedereen zichtbaar. Die verandert niet met het weer van vandaag.
De verwachting rust op wat wél overeind bleef. Het seizoen zet het niveau, de watertemperatuur is daarna de grootste losse factor, en de dag zelf schuift dat niveau maar een paar procent op of neer.
Wat dit waard is
Vijf keer publiekelijk fout zitten klinkt niet als een verkoopargument. Maar het alternatief was doorgaan met een model dat vijftig procent van zijn gewicht aan wind gaf terwijl die wind eigenlijk de vorm van de kustlijn was, en dat zou je op het water hebben gekost, niet ons.
Status: afgerond. De verwachtingspagina is herbouwd op wat overeind bleef. De opsplitsing naar watertype is nog klein en de cijfers schuiven bij elke hertraining. Genoeg om de richting te vertrouwen, nog niet genoeg om als feit te publiceren. Afgerond betekent hier dat we gestopt zijn, niet dat we klaar zijn: dit onderzoek pakken we pas weer op als een nieuwe aanpak onze eigen tegenproef doorstaat, en daarvoor is vooral meer data nodig.
Bijgewerkt: 22 augustus 2026