The old README documented almost exclusively the legacy scripts
removed in the previous commit and never mentioned the real
automation (auto_update_and_learn.py, weekly_tip_generator.py,
launchd) at all. Rewritten to describe what's actually running: the
4-strategy generator, the EV-optimized quality score, the launchd
schedule (not crontab - setup_cron.sh is stale), and the real data
update chain. Links to the new ARCHITECTURE.md for details.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Ports the fix already applied to the sibling Lotto 6aus49 project.
Since draws are i.i.d., only expected value (jackpot-sharing
avoidance) is improvable, not hit probability. Replaces the ad-hoc
"lucky numbers" list with empirically-documented picks, adds general
arithmetic-progression detection (not just +1 consecutive pairs), and
scores extreme odd/even splits higher (adjusted for 5 main numbers:
distance from the 2.5 midpoint, not 3 as in the 6-number Lotto case).
Deliberately omits a sum-near-mean component - testing against known
overplayed combinations (1-2-3-4-5, 5-10-15-20-25) during the Lotto
port showed it inverted the ranking for tightly clustered sequences.
Raises popularity's weight in the quality score from 20% to 45%
(main/euro/pattern/recency reduced accordingly), since those signals
carry no real predictive value for hit probability.
Also fixes _get_smart_euro_numbers(), which previously returned the
literal same Euro-number pair for tips #1-3 every single run (top-2
AI predictions, no randomization) and had zero EV consideration. Now
weighted-random across all 12 candidates with lucky numbers (3, 7)
downweighted - deliberately more conservative than the main-number
heuristic since 1-12 overlaps with calendar months and has no clear
birthday-range split to exploit.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The graphify code-graph pass confirmed nothing in the active pipeline
(scripts/automation/, shell entrypoints) imports or calls any of
these - only scripts/generators/ultimate_ai_ml_eurojackpot_generator.py
is wired into automation. Removes:
- ultimate_ai_ml_eurojackpot_generator_v2.1_backup.py, a verbatim
duplicate of the active generator's classes (UltimateAIMLEurojackpot-
Generator, EurojackpotAIMLEngine, PatternEngine, HybridOptimizer)
- optimized_eurojackpot_generator.py, a third standalone generator
documented in README but never imported
- update_historical_data.py, a second data updater never imported
- 12 standalone analysis/utility scripts (bereichsanalyse, positions-
analyse, NMMHH generators, processors, etc.) with no automation ties
History is preserved in git if anything here turns out to still be
wanted. README still documents most of these - follow-up needed there.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Built with a graphify code-graph pass, mirroring the audit done on the
sibling Lotto 6aus49 project. Documents the ingestion -> training ->
tip generation -> notification flow and several findings:
- The data-fetch fallback chain (lottoAPI/Lottoland/Sazka.cz + web
scraper) is already more robust here than Lotto's was before its fix.
- UltimateAIMLEurojackpotGenerator (and its EurojackpotAIMLEngine/
PatternEngine/HybridOptimizer) is duplicated verbatim in an unused
ultimate_ai_ml_eurojackpot_generator_v2.1_backup.py.
- A third standalone generator (optimized_eurojackpot_generator.py)
and a second updater (update_historical_data.py) exist but aren't
wired into automation, alongside ~12 unreferenced analysis scripts.
- The popularity/quality score still uses the pre-fix Lotto approach
(ad-hoc lucky-number list, no arithmetic-progression detection, no
odd/even split heuristic, popularity only 20% of quality) and Euro
number selection has no EV consideration at all - a follow-up to
port the Lotto fix has not been done yet.
graphify-out/ itself is gitignored as a regenerable build artifact.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds _calculate_popularity_score() which favors number combinations
unlikely to be picked by other players (numbers > 31, no consecutive
sequences, avoiding common "lucky numbers"). This doesn't improve hit
probability (lottery draws are i.i.d. random) but increases expected
value by reducing the chance of sharing a jackpot.
- New 20% weight in quality score
- New Popularity_Score column in tip CSV export
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Added 2026-06-05 (via web scraper fallback) and 2026-06-09 draws (959 total)
- Retroactive learning for Jun 5, normal cycle for Jun 9 (46 total cycles)
- Retrained RF + LSTM models on updated dataset
- Generated fresh tips: weekly_tips_20260610_123037.csv
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Added missing 2026-05-22 and 2026-05-26 draws to AlleEurojackpotzahlen.csv
- Retroactive learning applied for both new draws (42 total cycles)
- Retrained RF and LSTM models on 955 draws
- Generated fresh tips: weekly_tips_20260528_091341.csv
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Data:
- Add 12 missing draws (2026-01-09, 2026-04-03 to 2026-05-15)
- Retrain LSTM and RF models on complete 952-draw dataset
- Run retroactive learning for all 12 skipped draws
Automation:
- Add eurojackpot-zahlen.eu web scraper as fallback when APIs fail
- Fixes recurring gap problem caused by Sazka detail-endpoint change
Generator improvements:
- Add hard structural filters (sum 95-165, min 1 even + 1 odd per tip)
- Add long-term frequency prior as learner dampener (alpha=0.2)
- Fix ENSEMBLE strategy generating duplicate tips (greedy → weighted random)
- Fix non-vectorized frequency calculation (stack().value_counts())
- Fix Division-by-Zero edge case in set_frequency_prior
- Fix potential KeyError on euro_ai_score in structural filter loop
.gitignore:
- Exclude data/backups/, weekly tip CSVs, performance reports
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fixed default data-dir in auto_update_and_learn.py (was pointing to old iCloud path)
- Updated run_update_and_learn.sh to explicitly pass correct data-dir
- Added missing Eurojackpot draw from 2026-01-13 (2-16-27-33-47 + 6-12)
- Now saves data to /Projekte/Eurojackpot/data instead of iCloud
This fixes the issue where updates ran successfully but saved to the wrong location.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Enhanced Telegram message format to show TOP 3 by Confidence AND Quality
- Added average statistics (Confidence & Quality) to notifications
- Fixed hardcoded iCloud path in generator (now uses --data-dir parameter)
- Updated AlleEurojackpotzahlen.csv with latest draw (Jan 9)
- Added run_update_and_learn.sh wrapper script
- Created com.eurojackpot.update.plist for automated updates
Benefits:
- Better tip selection with dual metrics visibility
- Generator now works with correct project paths
- More robust automation setup
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Update plist to use new project path structure
- Simplify plist by removing comments
- Add run_tip_generator.sh script for easier execution
- Update data directory path in weekly_tip_generator.py
- Add generated weekly tips from 2026-01-08
- Update generation history with latest run
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Major improvements:
- Deep Learning integration with PyTorch LSTM (dual models: main 1-50 + euro 1-12)
- Hybrid predictor: 40% RandomForest + 60% Deep Learning
- LaunchAgent for automatic weekly tip generation (Mon/Thu 21:00)
- Health-Check system with auto-recovery and Telegram alerts
- Fixed health checks for Eurojackpot-specific paths and file names
- Model caching and intelligent retraining logic
- Updated CSV data and generated tips
- Performance reports for recent draws
Technical details:
- PyTorch used instead of TensorFlow (Python 3.14 compatibility)
- Separate LSTM models for main numbers (1-50) and euro numbers (1-12)
- Apple Silicon MPS acceleration support
- Sequence learning with 20-draw history
- Health-check adapted for eurojackpot_ml_models/ and learning_log.json
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This repository contains a comprehensive Eurojackpot lottery analysis and prediction system including:
- Historical data analysis and processing
- ML-based prediction models
- Automated weekly tip generation
- Position and range analysis tools
- Notification system for results
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>