Tillit och datakvalitet

Datametodik

Hur Alveos samlar in, lagrar, omvandlar och märker mätvärden för programvarudistribution.

Principer

Varje mätvärde måste ange källa, betydelse, aktualitet, täckning och omvandling. Saknade data förblir saknade: Alveos fyller inte avbrott med uppskattningar. ”Officiell”, ”verifierad” eller ”oberoende” används bara om källan verkligen bär det påståendet.

Källklasser

  • Publik leverantörskälla: direkta publika API:er eller listningar som VS Code Marketplace, Open VSX, GitHub Releases, PyPI och Packagist.
  • Publikt dataset / betrodd tredje part: namngivna dataset som PSF BigQuery eller PypiStats.
  • Produktens egen telemetri: den anslutna produkten skickar livscykelhändelser till Alveos (Beacon; Streaming Zebra snart tillgänglig). Siffrorna kommer från produkten och utgivarens räknesätt — händelsestyrda, inte hämtade från en marknadsplats.
  • Manuell utgivarimport: till exempel VS Code Publisher Hub-data som utgivaren lämnar. De hålls åtskilda från publika Gallery-räknare.

Mätvärdenas betydelse

Det källan levererar lagrar Alveos. Det den inte levererar fångas inte här.

Källa Levererat och fångat Saknas
VS Code Marketplace (Gallery) Publika räknare (downloadCount, install, updateCount) — förvärv Just nu aktiva installationer: Gallery levererar det inte, Alveos fångar det inte här
Open VSX downloadCount (VSIX-nedladdningar) Aktiva installationer, unika användare, avinstallationer: varken levererade eller fångade
GitHub Releases download_count för releasefiler Kloner, privata arkiv, källarkiv
PyPI / PypiStats Filnedladdningar (daglig serie utan speglar) Unika användare och installationer, eftersom källan inte räknar dem
Packagist downloads.total / monthly Installationer och unika användare
Beacon / livscykel Install-, update-, uninstall-, usage- och build-händelser rapporterade av produkten Marknadsplatsräknare; uninstall ofta ofullständig
Publisher Hub (import) Daily-Stats-dagar som utgivaren lämnar Inte Gallery-SSOT; webbplats-VSIX bara om filen har kolumnen

Räknare med olika betydelse visas inte tyst som samma mätvärde.

Insamling, aktualitet och luckor

Publika butiker hämtar Alveos en gång om dagen kl. 05:20 Europe/Berlin. Det som lagras är dagens UTC-dag. En misslyckad hämtning hoppar över dagen, behåller historiken och skriver inga nollor. Gallery, Open VSX, GitHub, PyPI-JSON, PypiStats och Packagist fylls inte tre dagar bakåt.

På grafen: från den första lagrade dagen ligger den heldragna linjen kvar på senast kända nivå (step-hold). Saknas en hämtning däremellan ritar Alveos samma nivå streckad — senast kända värde, ingen prognos och ingen trendkurva över de verkliga punkterna. Saknade dagar i fönstret markeras. Dagar före anslutningen är inte luckor.

Om den senaste lyckade dagen ligger två eller tre dagar tillbaka är serien fördröjd; från den fjärde dagen inaktuell. Det är en visningsetikett, inte en efterhämtning.

Två undantag skriver om nyare dagar när nästa hämtning lyckas: Streaming Zebra lagrar D−2 och D−1 från sammanfattningen; PyPI-länder (BigQuery, betalda tariffer) skriver om de senaste sju UTC-dagarna. Utgivarimport och Beacon är inte en daglig hämtning och räknas inte som missade luckor.

Omvandling och jämförbarhet

Alveos behåller råa leverantörsvärden och märker härledda värden som skillnader i kumulativa räknare, summor, kvoter, importerade värden och filtrerade partitioner. Direkta leveranskanaler och GitHub som kan beskriva samma leverans hålls åtskilda. Streaming Zebra- och Beacon-uppdateringar adderas inte dubbelt.

Reproducerbara exporter

CSV- och JSON-exporter innehåller leverantör, externt ID, källklass, mätvärdesbetydelse, täckningsstart, rytm, omvandlingsversion, källänk och en SHA-256-radhash. Historiska ögonblicksbilder har för närvarande UTC-dagsprecision: fetched_on innehåller dagen, time_precision är day, och fetched_at lämnas tomt i stället för att hitta på en klocktid.

Leverantörsreferenser

Källa Hämtning Rytm
VS Code Gallery, Open VSX, GitHub Releases, PyPI-JSON, PypiStats, Packagist Cron lagrar dagens UTC-dag Dagligen 05:20 Europe/Berlin
PyPI-länder (BigQuery, betalda tariffer) Upsert av de senaste sju UTC-dagarna Samma cron
Streaming Zebra (snart tillgänglig) Sammanfattning; läker D−2 och D−1 Samma cron
Beacon Produkten skickar Händelsestyrd, inte en daglig hämtning
Publisher Hub xlsx-import Vid import

Granskningsbara korrigeringar

Inloggade ägare och personal anmäler under Datakorrigeringar en redan lagrad anslutning: en UTC-dag, ett mätvärde (nedladdningar, installationer eller uppdateringar), ett föreslaget heltal och ett skäl. Begäran fryser det observerade råvärdet. En korrigering fyller inte en missad hämtning och skriver inte en uppskattning i en lucka. Det finns ingen korrigeringsimport och inget korrigerings-API.

En annan person måste godkänna innan läsarna ser det nya talet. Leverantörens ögonblicksbild ändras inte. Grafer och summor läser det aktiva overlayt. En saknad dag förblir en lucka.

Markering i exporten

CSV och JSON behåller mätvärdeskolumnerna. I en korrigerad rad är det overlay-värdena, inte de hämtade leverantörsheltalen.

Kolumn Korrigerad rad Okorrigerad rad
correction_applied 1 0
correction_request_ids Kommaseparerade id för godkända begäranden tom
corrected_fields installs, downloads och/eller updates tom
correction_original_json JSON med de ersatta leverantörsheltalen, till exempel {"downloads":120} tom

row_hash är SHA-256 för den exportraden, inklusive overlay-talen och dessa fyra kolumner. Jämför correction_original_json med leverantören när du behöver det hämtade heltalet.

Frågor eller misstänkta datafel: support@alveos.eu.