Cum numărăm binele
Acest document explică public cum numărăm faptele de bine înregistrate pe 1miliondebine.ro și cum citim cifrele de pe pagina Impact.
Principii
- Transparență — fiecare tip de eveniment are definiție legată de tabele din baza de date.
- Idempotență — același eveniment real nu se numără de două ori (cheie unică
dedupe_key). - Fără date personale în public — afișăm doar numere agregate.
- 1miliondebine.ro acum — ledger-ul este pe acest proiect; SensHub va fi adăugat când integrarea e gata.
Ce numărăm (platforma)
| Eveniment | Semnificație |
|---|---|
| humanly.voucher_paid | 1 bine = 1 voucher emis după ce comanda asociată intră pentru prima dată într-o stare finală plată conformă registrelor agregate: payment_status ∈ {PAID, COMPLETED}. În fluxul Stripe obișnuit statusul ajunge întâi în PAID; COMPLETED este inclus pentru alinierea cu statisticile operaționale. Dacă o comandă conține 3 vouchere, contorul crește cu 3 evenimente (respectiv aceeași comandă nu re-emite aceeași serie de voucher la tranziții succesive între aceste statusuri finale). |
| humanly.concert_pass_issued | 1 bine = 1 acces eveniment (rând în concert_passes), emis la o comandă plătită. |
| humanly.offer_first_published | 1 bine = prima publicare a unei oferte (tranziția în status PUBLISHED). O singură dată per ofertă, chiar dacă oferta e repusă ulterior pe pauză și republicată. |
Important: contorul combinat („1 milion de bine”) include și evenimente care nu sunt vânzări (publicare ofertă) și eventual evenimente SensHub din ledger — breakdown-ul apare pe pagina Impact. Ledger-ul este istoric și append-only: modificările ulterioare ale stării comenzii către rambursări sau anulări operaționale nu șterg retroactiv înregistrările emise; statisticile financiare agregate (vouchere, lei către ONG) în schimb se filtrează după comenzi marcate curent PAID sau COMPLETED.
Indicatori financiari publici
Cifrele din carduri pe /impact/ sunt derivații directe ale tabelelor de comenză/voucher (mai ales orders.impact_amount). Profil public ONG folosește aceleași filtre de status prin RPC-ul humanly_ngo_public_totals. Lista tehnică: humanly/docs/METRIC-DEFINITIONS.md.