Metodologia dei dati
Come Alveos raccoglie, archivia, trasforma ed etichetta le metriche di distribuzione software.
Principi
Ogni metrica indica fonte, significato, aggiornamento, copertura e trasformazione. I dati mancanti restano mancanti: Alveos non riempie le interruzioni con stime. “Ufficiale”, “verificato” o “indipendente” viene usato solo quando la fonte supporta davvero tale affermazione.
Classi di fonte
- Fonte pubblica del fornitore: API o elenco diretto come VS Code Marketplace, Open VSX, GitHub Releases, PyPI e Packagist.
- Dataset pubblico / terza parte affidabile: dataset nominato come PSF BigQuery o PypiStats.
- Telemetria del prodotto: il prodotto collegato invia eventi di ciclo di vita ad Alveos (Beacon; Streaming Zebra presto disponibile). I numeri vengono dal prodotto e dal modo di contare del publisher — guidati dagli eventi, non prelevati da un marketplace.
- Importazione manuale del publisher: dati Publisher Hub forniti dal publisher e separati dai contatori Gallery pubblici.
Significato delle metriche
Alveos memorizza ciò che la fonte consegna. Ciò che non consegna non viene catturato qui.
| Fonte | Consegnato e catturato | Manca |
|---|---|---|
| VS Code Marketplace (Gallery) | Contatori pubblici (downloadCount, install, updateCount) — acquisizione |
Installazioni attualmente attive: la Gallery non le fornisce, Alveos non le cattura qui |
| Open VSX | downloadCount (download VSIX) |
Installazioni attive, utenti unici, disinstallazioni: né consegnati né catturati |
| GitHub Releases | download_count dei file di release |
Cloni, repository privati, archivi sorgente |
| PyPI / PypiStats | Download di file (serie giornaliera senza mirror) | Utenti unici e installazioni, perché la fonte non li conta |
| Packagist | downloads.total / monthly |
Installazioni e utenti unici |
| Beacon / ciclo di vita | Eventi install, update, uninstall, usage e build segnalati dal prodotto | Contatori marketplace; uninstall spesso incompleto |
| Publisher Hub (import) | Giorni Daily Stats forniti dal publisher | Non è SSOT Gallery; VSIX sito solo se il file ha la colonna |
Contatori con significati diversi non vengono presentati silenziosamente come la stessa metrica.
Raccolta, aggiornamento e lacune
Alveos interroga gli store pubblici una volta al giorno alle 05:20 Europe/Berlin. Viene memorizzato il giorno UTC di oggi. Un prelievo fallito salta il giorno, conserva lo storico e non scrive zeri. Gallery, Open VSX, GitHub, PyPI-JSON, PypiStats e Packagist non vengono recuperati tre giorni indietro.
Nel grafico: dal primo giorno memorizzato, la linea continua resta sull’ultimo valore noto (step-hold). Se manca un prelievo, Alveos disegna lo stesso valore tratteggiato — ultimo stock, non una previsione né una curva di tendenza sopra i punti reali. I giorni mancanti nella finestra sono evidenziati. I giorni prima del collegamento non sono lacune.
Se l’ultimo giorno riuscito è di due o tre giorni fa, la serie è in ritardo; dal quarto giorno è obsoleta. È un’etichetta di visualizzazione, non un recupero.
Due eccezioni riscrivono giorni recenti se il prelievo successivo riesce: Streaming Zebra memorizza D−2 e D−1 dal riepilogo; i paesi PyPI (BigQuery, tariffe a pagamento) riscrivono gli ultimi sette giorni UTC. Import publisher e Beacon non sono un prelievo giornaliero e non sono valutati come lacune mancate.
Trasformazioni e confrontabilità
Alveos conserva gli interi grezzi e identifica differenze, somme, rapporti, importazioni e partizioni filtrate. I canali diretti e GitHub che possono descrivere la stessa consegna restano separati. Gli aggiornamenti Streaming Zebra e Beacon non vengono contati due volte.
Esportazioni riproducibili
CSV/JSON includono fornitore, ID esterno, classe, significato, inizio copertura, frequenza, trasformazione/versione, link e hash SHA-256 della riga. Gli snapshot storici hanno precisione giornaliera UTC: fetched_on contiene il giorno, time_precision=day e fetched_at resta vuoto invece di inventare un’ora.
Riferimenti fornitori
| Fonte | Prelievo | Cadenza |
|---|---|---|
| VS Code Gallery, Open VSX, GitHub Releases, PyPI-JSON, PypiStats, Packagist | Il cron memorizza il giorno UTC di oggi | Giornaliero 05:20 Europe/Berlin |
| Paesi PyPI (BigQuery, tariffe a pagamento) | Upsert degli ultimi sette giorni UTC | Lo stesso cron |
| Streaming Zebra (presto disponibile) | Riepilogo; ripara D−2 e D−1 | Lo stesso cron |
| Beacon | Il prodotto invia | Basato sugli eventi, non un prelievo giornaliero |
| Publisher Hub | Import xlsx | All’import |
Correzioni verificabili
Titolare e staff autenticati segnalano sotto Correzioni dati una connessione già memorizzata: un giorno UTC, una metrica (download, installazioni o aggiornamenti), un intero proposto e un motivo. La richiesta congela il valore grezzo osservato. Una correzione non riempie un prelievo mancato e non scrive una stima in una lacuna. Non esistono import di correzioni né API di correzione.
Un’altra persona deve accettare prima che i lettori vedano il nuovo numero. Lo snapshot del provider resta invariato. Grafici e totali leggono l’overlay attivo. Un giorno mancante resta una lacuna.
Marcatura nell’export
CSV e JSON mantengono le colonne delle metriche. In una riga corretta sono i valori dell’overlay, non gli interi prelevati dal provider.
| Colonna | Riga corretta | Riga non corretta |
|---|---|---|
correction_applied |
1 |
0 |
correction_request_ids |
Id delle richieste accettate, separati da virgole | vuoto |
corrected_fields |
installs, downloads e/o updates |
vuoto |
correction_original_json |
JSON degli interi del provider sostituiti, per esempio {"downloads":120} |
vuoto |
row_hash è lo SHA-256 di quella riga di export, compresi i numeri dell’overlay e queste quattro colonne. Confrontate correction_original_json con il provider per l’intero prelevato.
Domande o possibili errori nei dati: support@alveos.eu.