Jak liczymy i skąd są dane
Wszystkie wartości w tabelach poniżej strona czyta wprost ze stałych w kodzie, więc nie mogą się rozjechać z tym, co liczy aplikacja.
Najważniejsze wyniki
Porównanie: stały harmonogram kontra Trash Fairy (4 tygodnie)
| Flota | Miara | Stały | Wróżka |
|---|---|---|---|
| Kosze uliczne | wizyty | 3360 | 2543 |
| km | 1202.2 | 1136.5 | |
| puste przyjazdy (%) | 57 | 27 | |
| godziny przepełnienia | 1822 | 1823 | |
| Altany | wizyty | 120 | 129 |
| km | 110.3 | 266.8 | |
| puste przyjazdy (%) | 10 | 5 | |
| godziny przepełnienia | 338 | 0 |
Oba warianty odtwarzają ten sam przebieg zapełniania (wspólny seed). Wróżka decyduje wyłącznie na podstawie własnej prognozy, której profil uczy się na tygodniach sprzed okresu porównania, i bez przycisków. To wariant ostrożny.
Założenia finansowe i CO₂
To założenia, nie dane MPO. Można je zmienić zmiennymi środowiskowymi
COST_PER_KM_PLN, COST_PER_VISIT_PLN i CO2_KG_PER_KM.
| Koszt kilometra (paliwo i eksploatacja) | 5.0 zł/km |
| Koszt wizyty przy punkcie (praca ekipy) | 4.0 zł |
| Emisja CO₂ | 1.0 kg/km |
| Bilans miesięczny: wizyty, km, CO₂ | −866 wizyt · +97 km · +97 kg CO₂ |
Reguły i parametry
| Obszar | Założenie | Wartość |
|---|---|---|
| Punkty | Kosze uliczne (Rynek, Kazimierz, przy przeciążonych altanach) | 60, min. 80 m od siebie |
| Punkty | Altany osiedlowe (Grzegórzki), w tym celowo przeciążone | 12, 2 |
| Symulacja | Tempo zapełniania kosza | 1,5%/h + 0,06 za lokal lub sklep + 0,6 za przystanek w 100 m, max 8%/h |
| Symulacja | Stały harmonogram (dziś) | kosze o 6:00, 14:00, altany co 3 dni o 6:00 |
| Zgłoszenia | Scalanie naciśnięć | 15 min od pierwszego |
| Zgłoszenia | Zgłoszenie trafne | opróżnienie przy poziomie ≥75% |
| Zgłoszenia | Wiarygodność przycisku | trafne z ostatnich 10, start 70% |
| Zgłoszenia | Flaga „sprawdź przycisk” | <40% trafnych w 7 dni albo 6 h przepełnienia bez naciśnięcia |
| Stan | Progi | żółty od 60%, czerwony powyżej 85% lub świeże zgłoszenie |
| Prognoza | Profil | 7 dni × 24 h na punkt: średnia i kwantyle p20/p80 z historii sprzed zegara |
| Prognoza | Wydarzenia (promień, mnożnik) | mały tłum: 200 m ×1,3, średni tłum: 400 m ×1,6, duży tłum: 800 m ×2,0, także godzinę po |
| Trasy | Wybór punktu | pełny teraz, 85% przed kolejnym kursem albo bezpiecznik (kosz 3 dni, altana 7 dni) |
| Trasy | Odległości | linia prosta ×1,3, baza: Baza MPO, ul. Nowohucka 1 |
| Zdjęcia | Rozbieżność zdjęcie ↔ ekipa | >25 p.p. |
| Nadużycia | Powiązanie altana → kosz | worki domowe w 200 m od altany przepełnionej w ostatnich 48 h |
| Rekomendacje | Kompaktor | przepełniony w >50% dni mimo 2× dziennie (pojemność ×5 — założenie) |
| Rekomendacje | Większy kosz | przepełniony w 20–50% dni |
| Rekomendacje | Rzadziej | <20% opróżnień przy poziomie ≥50% |
Źródła danych i licencje
- OpenStreetMap: pozycje koszy, altan, lokali i przystanków oraz podkład mapy. © OpenStreetMap contributors, licencja ODbL 1.0 (pobrane przez Overpass API, cache w
data/*.geojson). - Harmonogram oczyszczania MPO 08/2026, arkusz „Kosze”: 9 383 kosze w Krakowie, w Dzielnicy I 43% opróżnianych 3× dziennie. To kontekst dla stałego harmonogramu.
- KRKnews, 8.09.2026: apel MPO o niewyrzucanie domowych śmieci do koszy ulicznych.
- Analiza stanu gospodarki odpadami komunalnymi w GMK za 2025 r.: skala kosztów systemu (dotyczy odpadów z nieruchomości, nie koszy ulicznych).
- Wszystkie dane operacyjne (poziomy, opróżnienia, naciśnięcia, zdjęcia demo) są syntetyczne.
Rola AI
Claude (Anthropic) tylko opisuje i rozpoznaje: ocenia zdjęcie kosza (poziom, nadużycia, uszkodzenia) i pisze raport z gotowych liczb. Decyzje (stan punktu, priorytet, trasa, rekomendacja, powiązanie altana → kosz) podejmują wyłącznie reguły opisane wyżej. Liczby w raporcie, których nie ma w danych, panel oznacza ostrzeżeniem. Przy błędzie API aplikacja pokazuje komunikat i ostatni wynik.
Prywatność (RODO)
- Przycisk nie zbiera danych osobowych. Adres IP służy wyłącznie do limitu naciśnięć.
- Zdjęcia od ekip są usuwane po 7 dniach (
flask cleanup-photos), a w bazie zostaje tylko wynik analizy. - Model ma zakaz opisywania osób, twarzy i tablic rejestracyjnych. Rozmywanie twarzy jest w planach rozwoju.
Ograniczenia
- Dane są syntetyczne. Prawdziwy pilotaż powinien uczyć profil na odczytach ekip i zdjęciach.
- Odległości liczymy w linii prostej ×1,3, bez sieci ulic (OSRM jest w planach).
- Na flotę przypada jeden pojazd, a kursy odbywają się w stałych godzinach 6:00 i 14:00.
Przejrzystość
Koncepcja powstała przed wydarzeniem (docs/KONCEPCJA.md, bez kodu). Cały kod powstał podczas HackYeah, 3–4.10.2026.
Uzasadnienia decyzji są w DECYZJE.md.