2025-12-16 15:53:01 +01:00
# Eurojackpot Analyse & Generator
2026-08-10 18:59:38 +02:00
Automatisiertes System zur Analyse von Eurojackpot-Daten und Generierung von KI-gestützten Tipps mit Telegram-Benachrichtigungen. Schwesterprojekt von [Lotto 6aus49 ](../Lotto ) — gleiche Architektur, angepasst an das Eurojackpot-Format (5 Hauptzahlen aus 50 + 2 Eurozahlen aus 12).
2025-12-16 15:53:01 +01:00
2026-08-10 18:59:38 +02:00
Eine detaillierte Architektur- und Datenfluss-Beschreibung steht in [documentation/ARCHITECTURE.md ](documentation/ARCHITECTURE.md ).
2025-12-16 15:53:01 +01:00
2026-08-10 18:59:38 +02:00
## 🎲 Features
- **🧠 AI/ML-basierte Tipp-Generierung**: Random Forest + LSTM (PyTorch) Hybrid-Predictor
- **🎨 Pattern-Analyse**: Historische Verteilungsmuster
- **⚡ 4-Strategien-System**: HYBRID-OPT, BALANCED-SPREAD, HIGH-EV, SOFT-CONTRARIAN mit adaptiver Gewichtung
- **💰 EV-Optimierung**: Quality-Score gewichtet gezielt auf unpopuläre (aber gleich wahrscheinliche) Zahlenkombinationen, um den Gewinnanteil im Trefferfall zu erhöhen
- **📚 Real-Time Learning**: Kontinuierliches Retraining bei neuen Ziehungen
- **🤖 Automatisierung**: Tipp-Generierung & Datenupdate via launchd
- **📲 Telegram-Benachrichtigungen**: Automatische Tipps direkt aufs Smartphone
- **🔄 Data-Updates**: API-Kette (lottoAPI → Lottoland → Sazka.cz) mit Web-Scraper-Fallback
## 📁 Verzeichnisstruktur
```text
Eurojackpot/
├── README.md
├── config/
│ └── notifications.json # Telegram/Email Config
├── data/
│ ├── AlleEurojackpotzahlen.csv # Ziehungshistorie
│ ├── eurojackpot_ml_models/ # Trainierte Modelle (RF + LSTM)
│ └── generated_tips/ # Generierte Tipps
2025-12-16 15:53:01 +01:00
├── scripts/
2026-08-10 18:59:38 +02:00
│ ├── generators/
│ │ └── ultimate_ai_ml_eurojackpot_generator.py # aktiver Generator
│ ├── automation/
│ │ ├── auto_update_and_learn.py # Update + Retraining
│ │ ├── weekly_tip_generator.py # Tipp-Generierung
│ │ ├── com.eurojackpot.update.plist
│ │ └── com.eurojackpot.weekly.plist
│ └── utils/
│ ├── notifier.py # Telegram/Email
│ ├── update_from_api.py # API-Updater (aktiv)
│ ├── update_from_eurojackpot_zahlen_eu.py # Web-Scraper-Fallback
│ ├── deep_learning_engine_pytorch.py # LSTM Engine
│ ├── simple_update.py # Manuelle Eingabe
│ ├── validate_csv.py # manuelles Utility
│ ├── verify_draws.py # manuelles Utility
│ └── health_check.py # manuelles Utility
├── documentation/
│ └── ARCHITECTURE.md
├── run_tip_generator.sh
├── run_update_and_learn.sh
└── logs/
2025-12-16 15:53:01 +01:00
```
2026-08-10 18:59:38 +02:00
## 🚀 Quick Start
### 1. Installation
2025-12-16 15:53:01 +01:00
```bash
2026-08-10 18:59:38 +02:00
python3 -m venv venv
source venv/bin/activate
pip install pandas numpy scikit-learn requests torch
2025-12-16 15:53:01 +01:00
```
2026-08-10 18:59:38 +02:00
### 2. Telegram-Bot einrichten
2025-12-16 15:53:01 +01:00
2026-08-10 18:59:38 +02:00
1. Erstelle einen Bot mit [@BotFather ](https://t.me/botfather )
2. Kopiere den Bot-Token, hole deine Chat-ID (z.B. mit [@userinfobot ](https://t.me/userinfobot ))
3. Konfiguriere `config/notifications.json` :
```json
{
"telegram" : {
"enabled" : true ,
"bot_token" : "YOUR_BOT_TOKEN" ,
"chat_id" : "YOUR_CHAT_ID"
}
}
2025-12-16 15:53:01 +01:00
```
2026-08-10 18:59:38 +02:00
Test-Benachrichtigung senden:
2025-12-16 15:53:01 +01:00
```bash
2026-08-10 18:59:38 +02:00
python scripts/utils/notifier.py --test
2025-12-16 15:53:01 +01:00
```
2026-08-10 18:59:38 +02:00
### 3. Tipps manuell generieren
2025-12-16 15:53:01 +01:00
2026-08-10 18:59:38 +02:00
```bash
python scripts/automation/weekly_tip_generator.py --force --num-tips 10
# Nur Historie anzeigen
python scripts/automation/weekly_tip_generator.py --history
```
### 4. Daten manuell aktualisieren + Modelle neu trainieren
```bash
./run_update_and_learn.sh
```
## 🧠 Generator-Strategien
Der Ultimate AI/ML Hybrid Generator (`scripts/generators/ultimate_ai_ml_eurojackpot_generator.py` ) verteilt pro Lauf 10 Tipps über 4 Strategien, deren Gewichtung sich anhand der bisherigen Trefferleistung selbst anpasst (Startwerte in Klammern):
1. **HYBRID-OPT** (40%): AI-Score + historisches Pattern-Gewicht kombiniert
2. **BALANCED-SPREAD** (30%): erzwingt Verteilung über Zonen, kontrollierter Summenbereich
3. **HIGH-EV** (20%): 2 Hauptzahlen >31, meidet empirisch belegte populäre Einzelzahlen — auf EV statt Trefferwahrscheinlichkeit optimiert
4. **SOFT-CONTRARIAN** (10%): bevorzugt in den letzten 30 Ziehungen unterrepräsentierte Zahlen
### Warum EV statt Trefferwahrscheinlichkeit?
Eurojackpot-Ziehungen sind unabhängige Zufallsereignisse — kein Modell kann
die Trefferwahrscheinlichkeit über den statistischen Erwartungswert heben.
Der Quality-Score optimiert deshalb bewusst auf **Expected Value** : unpopuläre
Zahlenkombinationen haben bei einem Treffer weniger Mitgewinner und damit eine
höhere Auszahlung. Details und Quellen dazu in
[documentation/ARCHITECTURE.md ](documentation/ARCHITECTURE.md#3-design-entscheidung-quality-score--ev-optimierung ).
## 🤖 Automatisierung
Läuft über **launchd** (`~/Library/LaunchAgents/` ), nicht crontab:
| Job | Plist | Zeitplan |
| --- | --- | --- |
| Tipp-Generierung | `com.eurojackpot.weekly.plist` | Mo + Do, 21:00 Uhr (Abend vor Di/Fr-Ziehung) |
| Update & Learning | `com.eurojackpot.update.plist` | Mi + Sa, 08:00 Uhr (Morgen nach Di/Fr-Ziehung) |
Beide Plists liegen unter `scripts/automation/` und müssen für die Aktivierung
nach `~/Library/LaunchAgents/` verlinkt/kopiert und mit `launchctl load`
geladen werden.
## 📲 Telegram-Benachrichtigungen
Bei erfolgreicher Tipp-Generierung bzw. nach jeder ausgewerteten Ziehung
verschickt `EurojackpotNotifier` automatisch eine Zusammenfassung (bester
Tipp, Ø Confidence/Quality, Trefferauswertung).
## 📈 Performance Tracking
Alle Generierungen werden in `data/generated_tips/generation_history.json`
protokolliert, alle Ziehungsauswertungen in `data/learning_log.json` .
## 🗂️ Datenformat
`data/AlleEurojackpotzahlen.csv` (Semikolon-getrennt):
2025-12-16 15:53:01 +01:00
```csv
2026-08-10 18:59:38 +02:00
datum;Z1;Z2;Z3;Z4;Z5;SZ1;SZ2
2012-03-23;5;8;21;37;46;6;8
2025-12-16 15:53:01 +01:00
```
## Hinweise
2026-08-10 18:59:38 +02:00
- Eurojackpot: 5 aus 50 Hauptzahlen + 2 aus 12 Eurozahlen
- `setup_cron.sh` beschreibt einen älteren, crontab-basierten Zeitplan, der
nicht mehr dem tatsächlich aktiven launchd-Setup entspricht — nicht als
aktuelle Referenz verwenden.