# Data & mätning — principer

Kontextfil för arbete med data och mätning i Booli köparstrategi-prototypen.
Läs denna innan du hämtar, tolkar eller visualiserar data i projektet.

## Datakällor vi använder

1. **Booli Insights** — `activity_mart__monthly_engagement` m.fl., via Evidence.dev-dashboarden på `insights.booli.se`. Parquet läses med DuckDB-wasm. Hämtas med `data/fetch-booli-insights.js` (kräver inloggad Chrome-session).
2. **Sifo-tidsserier** — extern mätning av andel vuxna i Sverige, 2 vågor/år, från Google Sheet *Användarundersökningar på Booli (+SIFO och NEPA)*, fliken *Tidsserier SIFO*. Rutin i `data/fetch-sifo.md`, sparas i `data/sifo_tidsserier.csv`.
3. **Surveys** (SurveyMonkey) — 13 Booli-undersökningar, exporteras enligt rutinen i `.auto-memory/surveymonkey_export_procedure.md`.

## Principer

**1. Trend före punktvärde.**
Både Sifo och enskilda engagement-veckor är bullriga. Dra slutsatser från riktning och lutning över flera mätpunkter — inte från en enskild datapunkt, hur lockande den än ser ut.
*Varför:* Sifo-kategorin "Ingen av dessa" varierar mellan 1–34 % mellan vågor och smittar över på `primary_*`-serierna. Enskilda månader i Insights-datan påverkas av kampanjer, helger och produktändringar.

**2. Kontextualisera produktändringar innan du rapporterar siffror.**
När du ser ett tvärt hopp i tidsserien — stanna upp och fråga om det kan vara en produktändring snarare än en beteendeförändring.
*Känt artifakt:* `active_logged_in_users` hoppar i mars 2025 eftersom Booli då byggde om så att fler delar kräver inloggning. Det hoppet är INTE strategi-effekt. Använd inte metriken utan att flagga detta, och välj helst en alternativ metrik när du vill visa användarlojalitet före/efter Q1 2025.

**3. Rätt metrik för rätt steg i strategin.**
- *Medvetenhet* ("Bara Hemnet"): räckvidd, andel svenskar som känner till Booli (Sifo), unika besökare.
- *Lojalitet* ("Dubbelsurfa"): återkommande besök, dubbelsurfande användare, sessioner per användare.
- *Övertygelse* ("Bara Booli"): förstahandsval (Sifo `primary_*`), andel objekt som startas på Booli, konverteringar.
Blanda inte nivåerna i samma diagram utan att märka ut vilken del av strategin de hör till.

**4. Dokumentera varje hämtning.**
När du kör en fetch-rutin: notera datum, antal rader och täckt tidsperiod i `data/README.md` eller motsvarande. Gamla CSV:er skrivs över — men vi ska alltid kunna svara på "när hämtades detta senast?".

**5. Två mätvågor per år är inte realtid.**
Sifo kommer vår och höst. Förvänta dig inte att se en effekt av en kampanj nästa mätvåg — lutning syns först över flera vågor. Undvik att designa visualiseringar som antyder månadsvis upplösning där den inte finns.

**6. Visa osäkerhet när den finns.**
Om en serie har känt brus eller ett artefakt, markera det i grafen (skuggning, annotation, eller split före/efter händelsen). Dölj inte problemet — förklara det i bilden.

**7. Aldrig mixa inloggade och ej inloggade utan att säga det.**
Insights-tabellerna har olika definitioner beroende på om användaren är inloggad. Kolla alltid vilken population en metrik faktiskt beskriver innan du använder den som argument.

**8. Rådata sparas, inte bara det bearbetade.**
Behåll rå-CSV:n bredvid den bearbetade. Då kan vi räkna om när vi ändrar tolkning, utan att hämta igen.

## Fallgropar att minnas

- `active_logged_in_users` före/efter mars 2025 → icke-jämförbart.
- Sifo `primary_*` på enskild våg → brusigt pga "Ingen av dessa".
- Google Sheets-export kräver att fliken redan är öppen i en inloggad Chrome-session.
- Booli Insights fungerar bara med aktiv session på `insights.booli.se`.
