Bite forecasting: science, folklore, products
Part of the «Waze для рыбалки» wiki · Research stream · 2026-07-02 · Status: complete
Related: Design principles · Hub integrations
==== TOPIC: science ====
SUMMARY: The science splits cleanly into well-supported drivers and folklore. Well-supported: fish are ectotherms, so species-specific water temperature is the dominant, documented driver of feeding activity, with dissolved oxygen (temperature-dependent thresholds), light/diel timing (dawn-dusk peaks), season/spawning windows, and river water level as secondary but real effects. Weakly supported or folklore: solunar/moon theory has essentially no peer-reviewed support in freshwater recreational catch (a rigorous 361-trip trout study found zero relationship; air temperature beat every solunar table), and direct barometric-pressure effects are small, inconsistent, and confounded with the weather systems that move with pressure. Crucially, weather mostly changes catchability (how willing/detectable fish are), not abundance — feeding-biology swings can move CPUE by ~10x independent of how many fish are present, which is exactly what a bite-forecast should target. Published ML work predicts angler effort/presence well (78-88%) but there is no credible published model that reliably predicts the bite itself from environment alone; the honest ceiling is modest. Bite state is highly perishable — feeding windows are often minutes to a couple of hours — which favors real-time crowdsourced reporting over long-range forecasting.
KEY FACTS:
- WATER TEMPERATURE is the best-supported driver because fish are cold-blooded and body temperature tracks water temperature; each Latvian target species has documented thermal ranges. Pike: cool-water/mesothermic, active feeding ~10-22C, summer preference 18-22C. Zander/pikeperch: broad adult thermal optimum reported 10.4-26.9C; growth studies 20-24C (juveniles 25-30C). Brown trout & Atlantic salmon: optimal ~10-16C, stress begins ~20C, 7-day upper lethal ~25C (trout) / 28C (salmon parr). Roach: very cold-tolerant (~4C to 31C), preferred 10-20C. Bream: most active/spawns around 12-20C. Sources: https://www.sciencedirect.com/science/article/abs/pii/S0044848611008374 , https://assets.publishing.service.gov.uk/media/5a757e3040f0b6397f35edaa/scho1008boue-e-e.pdf , https://en.wikipedia.org/wiki/Common_roach
- SPAWNING/SEASON windows are well documented and shift feeding: pike spawn early spring; zander/pikeperch spawn at 8-15C (typically 12-15C, April-May); bream spawn ~12-20C (April-June). Fish feed heavily pre-spawn and are often off the feed during/just after spawning. Source: https://www.fishingindenmark.info/en/fishing-guide/pike-zander-and-perch , https://link.springer.com/article/10.1007/BF02523274
- SOLUNAR/MOON THEORY is essentially folklore for freshwater catch. Peer-reviewed test (Discover Applied Sciences, 2023): 361 trips / 221 days / 1,355 hours over 5+ years in Utah trout fisheries found NO significant relationship between CPUE and any of 7 popular solunar services, moon phase, or lunar illumination; the ONLY significant predictor was air temperature (~1% CPUE increase per 10F). Solunar theory originates from J.A. Knight (1926/1936), assembled from folklore, and its core mechanism remains unproven. Some lunar effects exist in tidal/marine systems (e.g., ~51% of 190 pelagic studies show deeper swimming with more moonlight) but do not transfer to freshwater bite prediction. Sources: https://link.springer.com/article/10.1007/s42452-023-05379-8 , https://en.wikipedia.org/wiki/Solunar_theory
- BAROMETRIC PRESSURE effects are small, inconsistent, and largely confounded. Most-cited positive result (Stickney & Liu 1983, largemouth bass) was a small effect significant in only one seasonal subset and inseparable from co-varying wind/cloud/rain. A yellow perch feeding study found pressure did NOT significantly affect intake. Atmospheric pressure swings are trivial versus the pressure changes a fish experiences by moving a few cm/m in depth, undercutting a direct-sensing mechanism. Physoclist species (perch, zander, pike) release swim-bladder gas more slowly than physostomes (salmonids, cyprinids) and are thought slightly more pressure-sensitive, but this is mechanism speculation, not demonstrated bite prediction. Sources: https://www.bemidjistate.edu/directory/wp-content/uploads/sites/16/2023/02/2014-VanderWeyst-D.-The-effect-of-barometric-pressure-on-feeding-activity-of-yellow-perch..pdf , https://activeanglingnz.com/2019/10/13/the-barometric-pressure-myth/ , https://www.nature.com/articles/s41598-025-32670-y
- COLD FRONT 'shutdown' is angler consensus, not rigorous science. The observed pattern (great bite on the pre-frontal falling barometer, poor bite on the post-frontal high with clear skies) is real in angler reports and plausibly mediated by the whole weather system (light, wind, temperature, prey-chain/plankton disruption) rather than pressure per se; recovery is anecdotally 2-3 days of stable conditions. Treat as a heuristic, not a validated law. Source: https://www.bassresource.com/fishing/spring-cold-front.html
- LIGHT / DIEL TIMING is well-supported: dawn and dusk (low-light) peaks are the most reliable temporal pattern; cloud cover lets fish roam/feed more freely while bright sun pushes them to cover/depth. Optical conditions change predator prey-selectivity in pikeperch (shift perch->roach as water browns/darkens). Sources: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4224368/ , https://guidesly.com/fishing/blog/how-weather-affects-fishing-success
- WIND is a real, mechanistic secondary driver: ~5-15 mph pushes plankton/baitfish onto windward shores and concentrates predators, and surface chop reduces fish wariness/oxygenates water; >20 mph degrades fishability. This is location/positioning signal more than a global on/off switch. Source: https://guidesly.com/fishing/blog/how-weather-affects-fishing-success
- DISSOLVED OXYGEN matters most as a limiting threshold and is temperature-dependent (warm water holds less O2, so summer heat can suppress feeding and push fish to oxygenated zones). Salmonids target >6.5 mg/L, avoid <5 mg/L, minimum ~4 mg/L; the O2 needed for maximal feed intake rises with temperature. Relevant to Latvian summer lakes/eutrophic waters and winter under-ice. Sources: https://www.sciencedirect.com/science/article/abs/pii/S0044848616303970 , https://activeanglingnz.com/2017/02/23/the-importance-of-dissolved-oxygen/
- WATER LEVEL / DISCHARGE is a documented real effect, especially in rivers: flood pulses drive productivity and open/close littoral feeding and spawning habitat. Angler catch drops when water is pulled back from the littoral zone; effort/catch peaks at intermediate levels (arched relationship of fishability x catch rate). Latvia has hourly station water level + 14-day hydrological forecasts, making this a usable feature. Sources: https://www.tandfonline.com/doi/full/10.1080/10402381.2013.775200 , https://onlinelibrary.wiley.com/doi/10.1155/2024/4876582
- KEY FRAMING FOR A FORECAST: weather changes CATCHABILITY, not abundance. Environmental variation in feeding biology (temperature, light, prey density, current) can swing CPUE by up to a factor of ~10 independent of actual fish numbers, and 'spatial/temporal variation in feeding biology could have a larger impact on CPUE than patterns of abundance.' A bite forecast is legitimately a catchability model, which is the right thing to target. Source: https://www.researchgate.net/publication/230242506_Effects_of_environmental_variables_on_fish_feeding_ecology_Implications_for_the_performance_of_baited_fishing_gear_and_stock_assessment
- ML / CPUE MODELING — honest state of the art: published models predict ANGLER EFFORT/PRESENCE well (lake-website visits alone gave 78% accuracy for daily boat presence; 86-88% for monthly/spatial angler-behavior prediction across Canada), and adding environmental/weather features 'did not remarkably improve' presence prediction. That is predicting where people fish, NOT whether fish bite. No credible published model reliably predicts the individual bite from environment alone; the strongest single environmental predictor in the clean trout study was air temperature at ~1% CPUE per 10F. Boosted-tree/RF/LightGBM models do well for fish DISTRIBUTION/recruitment, not short-term bite timing. Sources: https://arxiv.org/abs/2409.17425 , https://arxiv.org/abs/2402.06678 , https://link.springer.com/article/10.1007/s42452-023-05379-8
- INDUSTRY EXAMPLE (Fishbrain BiteTime): combines fish biology, agency data, weather (tides, wind, moon, air pressure) and community catch logs into a 1-10 BiteScore; vendor states accuracy improves markedly only after a location accumulates 10+ verified catches (model adapts locally), and it performs best where human/crowd behavior dominates (crowded reservoirs, urban bays) versus physics-dominated water. This is an implicit admission that crowdsourced local catch data, not the physics model, carries most of the predictive weight. Source: https://fishbrain.com/features/fishing-forecasts
- PERISHABILITY: bite state is highly perishable. Feeding windows are often short bursts — reported as short as ~15 minutes and typically the dawn and dusk low-light windows — with duration extended by stable conditions and collapsed by heat/cold/bright sun. Stocked-trout feeding follows a multi-day settling curve (peak 24-72h post-stocking). Implication: a 'biting now' report has a validity horizon of roughly minutes to a few hours for the acute window, though a favorable multi-day regime (stable weather, good temperature) persists longer. Sources: https://guidesly.com/fishing/blog/fish-feeding-science-to-catch-better-bites , https://www.familyfishin.com/post/when-stocked-trout-actually-eat-feeding-windows-timing-and-trigger-conditions
- RUSSIAN-LANGUAGE ('прогноз клёва') sources are overwhelmingly angler folklore, not research: they assert sharp pressure drops hurt the bite, predators feed on a smooth pre-storm pressure fall ('предштормовой жор'), high pressure makes pike switch to ambush feeding, and fish adapt to stable high or low pressure. These are practitioner heuristics with no controlled studies behind them; even Russian sources concede opinions on moon influence 'diverge' and forecasts are inherently probabilistic ('вероятностный характер'). Useful as UX language/priors, not as ground truth. Sources: https://russian.fishing/blog/fishing-forecast.html , https://www.fishingsib.ru/articles/view/62674/
IMPLICATIONS:
- Anchor the model on water temperature per species, not on moon/pressure. Temperature (from the hourly per-station water temperature feed) plus species thermal curves is the single most defensible feature; build explicit per-species temperature-suitability curves (pike, perch, zander, bream, roach, trout, salmon) as the backbone of any bite score.
- Position the product honestly as a CATCHABILITY forecast, not a fish-finder. The literature supports that weather swings how catchable fish are (up to ~10x CPUE) far more than it reveals where fish are — this is the correct, scientifically grounded framing and avoids over-promising.
- Treat solunar/moon as UX garnish at most, never as a core predictor. A rigorous freshwater study found it worthless for catch and air temperature beat it; surfacing a moon widget is fine for user familiarity, but do not let it drive the score or you inherit debunked folklore. Consider A/B testing whether users even want it.
- Use barometric pressure only as a short-term CHANGE/trend feature, not an absolute level, and weight it low. The defensible signal is 'stable vs rapidly changing / frontal passage,' not a magic pressure number; combine it with the broader weather state (cloud, wind, front) rather than treating pressure as an independent oracle.
- Lean hard on real-time crowdsourced reports because bite state is perishable (minutes to hours). Fresh local 'biting now' + ice/water reports are the highest-value signal and decay fast — design freshness/decay weighting (e.g., steep discount past a few hours for acute bite, slower for multi-day favorable regimes) and show report age prominently.
- Follow the Fishbrain lesson: the crowd data, not the physics model, will carry most predictive weight, and only after enough local catches accumulate. Plan for a cold-start problem per water body, local model adaptation once ~10+ verified catches exist, and heavier reliance on community reports where data is dense.
- Exploit the features Latvia's open data actually gives you and that have real support: diel timing (dawn/dusk), season/spawning windows, water temperature, water level/discharge (hourly stations + 14-day hydrological forecast, genuinely useful for river fishing), and dissolved-oxygen-relevant summer heat / winter under-ice conditions. These beat moon/pressure on evidence.
- Set realistic accuracy expectations internally and in marketing. Even the best clean study got a tiny effect from the strongest environmental variable, and ML that adds weather barely improved on baselines for the related task of predicting angling activity — promise 'better odds / when-and-where to try,' not deterministic bite prediction, and validate against user-reported catch to measure real lift.
- Make spawning/closed-season and thermal-stress states first-class: fish off the feed during spawning and stressed above species thermal limits (e.g., trout/salmon >20C) — encode these as suppressors in the score, which also aligns with conservation messaging (catch-and-release mortality rises in warm water).
- Segment forecasts by species and by waterbody type. Cold-water salmonids (trout, salmon) vs cool-water predators (pike, zander, perch) vs cyprinids (roach, bream) have divergent temperature/oxygen/light responses; a single blended 'bite score' will be less credible than per-species scores, and rivers vs lakes need different feature weights (water level matters far more in rivers).
==== TOPIC: products ====
SUMMARY: Existing bite-forecast products fall into three tiers: pure solunar calendars (In-Fisherman, solunar.org, fishingreminder, oRybe, most RU/LV "прогноз клёва" apps), condition-based scorers layering weather + pressure + moon (ТипТоп, Навирит, BassForecast), and ML/crowdsourced hybrids (Fishbrain BiteTime, Actigator). Credibility scales inversely with boldness of the "bite promise": the solunar core has been directly contradicted by peer-reviewed evidence (a 2023 study found no relationship between solunar values and trout catch, while air temperature outpredicted every solunar metric), yet almost every product still leans on moon phase as a headline input. Anglers in RU/LV forums treat calendar forecasts as near-astrology ("вера мала, совпадения почти нулевые"; Latvian anglers call them horoscope-like), while the same users concede that real weather shifts — especially pressure trends and cold fronts — genuinely move fish. No product convincingly "did it right," but Actigator's design (real catch reports + multiple-linear-regression, self-learning, separate models per species/season, a 0-100 F-Index rather than a promise) and Fishbrain's 2.5M-catch model point at the honest template. An honest product shows conditions-scores with probability bands and the "why", not a deterministic bite guarantee, and is validated against held-out catch data rather than self-reported field studies.
KEY FACTS:
- Fishbrain BiteTime: built by consultancy Modulai on ~2.5M historical catches drawn from a 10M+ catch database; captures ~30 geographic/environmental attributes per catch (air temp, barometric pressure, wind, cloud cover, precipitation, moon phase, solar irradiation/azimuth) plus a global climate model, updated hourly; outputs per-species likelihood over a day. Critically, NO accuracy metrics, confidence intervals, or per-species/regional performance are disclosed publicly (modulai.io/case, fishbrain.com/blog).
- Fishbrain user sentiment is mixed-to-negative on BiteTime specifically: forum/store users say the Pro tier 'AI predicted spots [are] usually wrong, bite time typically incorrect, and depth charts useless'; one Hull Truth user says they 'just make up info.' Positives are about social/spot-discovery features, not bite timing (thehulltruth.com, Google Play reviews).
- Peer-reviewed refutation of the solunar core: a 2023 study (Discover Applied Sciences / N. Am. J. Fisheries Mgmt, DOI 10.1007/s42452-023-05379-8) found popular solunar tables FAILED to predict catch-per-unit-effort in North American freshwater trout fisheries — no significant relationship to any solunar value, lunar phase, or illumination. Ambient AIR TEMPERATURE was a positive predictor and beat every solunar metric tested.
- Solunar vendors admit no scientific basis: FishingReminder states there is 'no specific scientific formula to prove this theory right or wrong'; In-Fisherman concedes the direct moon-phase influence 'is yet to be proven' and advises anglers to 'keep an open mind and track your progress.' Critics attribute perceived hits to confirmation bias — remembering hits, forgetting misses.
- Actigator (actigator.com, RU/UA-focused) is the most methodologically honest design found: inputs = real angler catch reports + WeatherStack/NOAA weather + pressure trends + wind + temp + cloud + moon + geomagnetic; uses multiple-linear-regression, is 'self-learning' as reports accumulate, trains SEPARATE models per species and season, and outputs an F-Index 0-100 (0-33 low / 34-66 moderate / 67-100 high) at hourly granularity for 3 days — a conditions score, not a bite guarantee.
- BassForecast markets bold accuracy (year-long field study claiming 68% higher catch on 'GOOD' days, 305% on 'EPIC' days; bait calls matching tournament patterns 86% of time; ingests 11,000+ data points/day, AccuWeather + GPS solunar), but the study is self-run (validated by a hired guide/pro, James Caldemeyer) not independent. Users counter that it 'almost tells you every day is a mediocre day' and downgrades far-out 'epic' days to mediocre as they approach — the same complaint leveled at BassForecast and others.
- RU forum sentiment (rusfishing.ru thread 'Прогноз и клёв'): 'В интернетовские прогнозёры клёва веры мало, совпадения почти нулевые'; one user installed 6 different forecast apps and 'all show different data'; cynical takes: 'надо идти в любое свободное время', 'самый клёв всегда на рабочие дни выпадает.' They DO credit weather/pressure CHANGES (not absolute values) with affecting bite.
- Ichthyologist-informed RU consensus: fish activity responds to pressure CHANGES/instability, not a specific pressure value ('сама величина... не оказывает существенного влияния... рыба меняет активность при скачках'); most online 'best pressure' advice is unscientific author opinion. Matches peer-reviewed picture: little causal evidence for absolute barometric pressure; water temperature is the more established feeding driver.
- Latvian anglers (copeslietas.lv, parcopi.lv) treat bite calendars as horoscope-like: forecasts built like horoscopes on moon phases; noted they ignore fish feeding habits, water-body specifics, and the angler's own state; 'the best fishing time is when you can get to the water.' A Latvia-specific service exists (fishing-forecast.com/lv, the ddidev94 'Zvejas prognoze' app).
- RU app quality/transparency is weak: Навирит 'Fishing' app rates 1.0★ on RuStore (mostly registration/server complaints, no accuracy reviews), and its own docs admit they 'пока отсутствуют достаточно убедительные данные' on peak feeding times. ТипТоп Рыбалка store reviews self-report 70-90% 'match' but this is uncontrolled user perception, not measured skill, and confounded by anglers who 'catch fish regardless of the forecast.'
- The honest-forecast template that emerges: (a) present a CONDITIONS SCORE / probability band with thresholds (e.g. >70% ideal, 40-70% mixed, <40% poor) rather than a deterministic 'bite promise'; (b) build per-species and per-water-body models; (c) SHOW THE WHY (which factors — pressure drop, warming water, front — drove the score); (d) train and validate on real catch reports with held-out data and published skill metrics, not self-reported field claims; (e) foreground the empirically supported drivers (water/air temperature, pressure trend/frontal change) and demote moon phase to a minor, disclosed factor.
- Advanced research exists but isn't consumer-facing: the CATCH model (convolutional-LSTM) forecasts spatiotemporal catch probability DENSITIES for fisheries management — an example of probabilistic, spatially explicit output that a credible crowdsourced app could emulate at the water-body level rather than a single daily rating.
IMPLICATIONS:
- Do not sell a deterministic 'bite promise.' Every product that promises specific bite windows (Fishbrain BiteTime, BassForecast 'EPIC' days) draws the loudest accuracy complaints. Frame the output as a conditions/activity SCORE with probability bands (like Actigator's F-Index 0-100 with low/moderate/high tiers), which is defensible and matches how honest vendors already hedge.
- Lean on the empirically supported signals the app already ingests. Peer-reviewed evidence backs water temperature and pressure TRENDS/frontal changes (not absolute pressure, not moon phase) as real feeding drivers. Latvia's hourly per-station water-level/temperature data and 14-day hydrological forecasts are a genuine, rarely-used edge — most competitors only have air weather + solunar.
- Demote solunar to a disclosed minor factor, don't headline it. A 2023 study directly refuted solunar prediction and even the vendors admit no scientific basis; RU/LV anglers already mock moon-phase calendars as horoscopes. Keeping it as a transparent secondary input (and letting users see its weight) buys credibility instead of spending it.
- Make crowdsourced catch reports the validation backbone, and prove skill honestly. The differentiator vs Fishbrain/BassForecast is transparency: train per-species and per-water-body models on Latvian reports and publish held-out accuracy (calibration curves, hit rate by score band) rather than self-reported '70-90% match' or a hired-pro field study nobody can audit.
- Show the WHY, not just a number. Anglers distrust black-box scores ('they just make up info'; 6 apps give 6 different answers). Surfacing the drivers behind each score (e.g. 'score up: 4hPa pressure drop + water warmed 1.5C this week') turns a guess into a checkable claim and lets skeptical users calibrate their own trust.
- Expect and design around confirmation-bias dynamics. Anglers catch fish regardless of forecast and remember hits over misses; build an in-app catch-logging + forecast-vs-outcome comparison (users already value this in ТипТоп) so the product improves its models AND lets users audit accuracy, converting the running-joke reputation into earned trust.
- Cold-start is the real risk for a Latvia-only crowdsourced model. Fishbrain's own model needed ~2.5M catches and its accuracy reportedly improves only after 10+ verified catches per user/locale; a small Latvian report volume means per-water-body models will be thin early. Plan a graceful fallback to a transparent conditions-only score (clearly labeled as such) until report density supports learned per-lake models.
- Localize tone and language to the RU/LV skeptic audience. These users respond to candor and cynicism, not hype; a forecast that openly says 'conditions favorable, but go when you can — nature surprises' will land better than confident promises, and matches how Latvian forums already talk about copes kalendārs.