Support Universe
Hvad er Slowly Changing Dimensions (SCD Type 1/2)?
Slowly Changing Dimensions (SCD) er en metode i data warehousing til at håndtere ændringer i dimensionstabeller over tid, fx når en virksomhed skifter navn, branche eller adresse. SCD Type 1 overskriver historik for at holde “seneste sandhed”, mens SCD Type 2 gemmer historik ved at oprette nye rækker med gyldighedsperioder.
Hvad består Slowly Changing Dimensions (SCD Type 1/2) af?
For at forstå SCD Type 1 og Type 2 skal du først se på, hvordan et klassisk data warehouse (eller en moderne lakehouse-model) er bygget op: fakta og dimensioner. Dimensioner beskriver “hvem/hvad” (fx virksomhed, kontakt, produkt), mens fakta beskriver “hvad der skete” (fx ordre, møde, lead-hændelse, omsætning).
SCD handler specifikt om dimensioner, fordi dimension-attributter ændrer sig langsomt i den virkelige verden, men du vil ofte både kunne rapportere på nutiden og forklare fortiden.
- Dimensionstabel: Indeholder attributter som navn, branche, størrelse, land, segment, ICP-match osv.
- Naturlig nøgle: Den forretningsmæssige identifikator, fx CVR-nummer eller domæne.
- Surrogatnøgle: En teknisk nøgle (typisk et integer-id), der gør det muligt at have flere versioner af samme naturlige nøgle (centralt for Type 2).
- Attributter, der kan ændre sig: Fx firmanavn, hovedadresse, marketing-segment, kontoejer, “ideal customer profile”-score, compliance-flag.
- Historikfelter (Type 2): Typisk valid_from, valid_to og/eller is_current for at markere, hvilken version der var gældende hvornår.
Du vælger SCD-type ud fra, om historik er nødvendig for dine analyser og beslutninger, og hvor dyre fejl kan være, når data bliver “rettet” bagud i tid.
Hvordan fungerer Slowly Changing Dimensions (SCD Type 1/2)?
SCD er en række regler for, hvad der skal ske i din dimensionstabel, når en kilde leverer en ændring til en eksisterende entitet.
SCD Type 1: Overskrivning (ingen historik)
Ved Type 1 opdaterer du den eksisterende række i dimensionstabellen. Det betyder, at du mister historikken for den ændrede attribut.
- Hvis “Branche” ændres fra “IT-konsulent” til “SaaS”, så vil alle historiske rapporter fremover se virksomheden som “SaaS”.
- Type 1 er velegnet, når historik ikke er relevant, eller når du retter fejl i data (fx stavefejl, forkert postnummer, normalisering af værdier).
SCD Type 2: Ny række pr. ændring (med historik)
Ved Type 2 indsætter du en ny række i dimensionstabellen, når en eller flere historikbærende attributter ændrer sig. Den gamle række “lukkes” med en slutdato (valid_to), og den nye række bliver aktiv (is_current = true).
- Hvis en virksomhed skifter segment fra “SMB” til “Mid-market”, kan du senere analysere, hvilke leads og deals der blev skabt, mens virksomheden var i “SMB”-segmentet.
- Type 2 giver sporbarhed og gør det muligt at genskabe “datatidens sandhed”.
Hvad betyder det for dine fakta?
Type 2 kræver, at dine faktatabeller refererer til den korrekte dimensionversion (surrogatnøgle) på tidspunktet for hændelsen. Ellers risikerer du at miste historikens værdi. I praksis betyder det, at din ETL/ELT-proces skal lave et opslag på “hvilken dimensionrække var gældende på event_date?”.
Hvorfor er Slowly Changing Dimensions (SCD Type 1/2) vigtigt for B2B-virksomheder?
I B2B handler performance ofte om timing, segmentering og attribution på kontoniveau. Når data ændrer sig over tid (og det gør det), kan dine KPI’er blive misvisende, hvis du ikke håndterer ændringer korrekt.
- Bedre attribution og pipeline-analyse: Hvis du måler pipeline pr. segment, branche eller ICP-fit, skal du kunne se, hvad segmentet var, da leadet blev skabt, ikke hvad det er i dag.
- Styr på ICP og målgrupper: Din ICP udvikler sig. Hvis du løbende opdaterer scoring og segmenter, kan Type 2 vise, hvilke kriterier der reelt skabte vækst historisk. Læs mere om at arbejde struktureret med din ideelle kundeprofil.
- Datakvalitet i CRM og marketing automation: Når firmadata opdateres (navn, branche, størrelse), vil du undgå at “skrive historien om” i rapporter. Type 1 kan være fint til rettelser, men Type 2 er ofte nødvendig til governance.
- Compliance og audit trail: I flere brancher er det vigtigt at kunne dokumentere, hvilke data der lå til grund for beslutninger på et tidspunkt.
- Skalerbar leadgenerering: Når du bruger firmografiske signaler til at finde og prioritere virksomheder, bliver historik vigtig for læring. Hvis du arbejder med datadrevet leadmotor og aktivering, kan det være relevant at se, hvordan Coherta kan operationalisere data til vækst via vores leadmotor.
For marketing og sales betyder det konkret: SCD kan være forskellen på at optimere på støj versus at optimere på en korrekt, historisk sammenhæng mellem segment, budskab og resultat.
Hvordan bruges Slowly Changing Dimensions (SCD Type 1/2) i praksis?
I praksis starter du med at beslutte, hvilke attributter der skal være Type 1, og hvilke der skal være Type 2. En god tommelfingerregel er:
- Type 1: Rettelser, standardisering og attributter, hvor historik ikke giver værdi (fx normalisering af virksomhedsnavn, fix af landekode).
- Type 2: Attributter, der påvirker rapportering, segmentering, prissætning, territory, ICP-fit, compliance eller incentiver (fx branche, størrelse, segment, account owner, ICP-score).
Eksempel: B2B-kontodata til segmentering og aktivering
Forestil dig, at du har en dimension for “Company”. Du bruger den til at drive segmentering i outbound og til at måle performance på kampagner.
- Du opdaterer branche og antal medarbejdere løbende fra en datakilde.
- Du beregner en ICP-score ugentligt.
- Du vil kunne analysere, hvilke score-niveauer og segmenter der faktisk konverterede til møder og pipeline i den periode, hvor de var gældende.
Her vil Type 2 typisk være relevant for branche, størrelse, segment og ICP-score, fordi de driver beslutninger og rapportering. Type 1 kan bruges til fx at rette postnumre eller ensrette navne.
ETL/ELT-implementering (på et højt niveau)
- Du indlæser nye snapshot-data til en staging-tabel.
- Du sammenligner staging med nuværende dimension (is_current = true).
- Type 1-attributter opdateres direkte i den aktuelle række.
- Type 2-attributter: Hvis der er ændring, lukker du den nuværende række (valid_to = i dag, is_current = false) og indsætter en ny række (valid_from = i dag, is_current = true).
- Fakta-opslag: Når du loader facts, slår du den dimensionrække op, der var gældende på event-tidspunktet.
Hvis du arbejder med at synkronisere og aktivere data i systemer, er det en fordel at have stabile processer for import/eksport og versionering. Du kan fx bruge Cohertas hjælpeunivers til import og export som inspiration til operationalisering og dataflow.
Fordele og ulemper
- SCD Type 1 – fordel: Simpelt at implementere, mindre datavolumen, hurtigere queries på dimensionen.
- SCD Type 1 – ulempe: Ingen historik; kan skabe misvisende historiske rapporter og gøre root-cause-analyser sværere.
- SCD Type 2 – fordel: Fuld historik, bedre audit trail, stærk basis for segment- og performance-analyser over tid.
- SCD Type 2 – ulempe: Mere kompleksitet (surrogatnøgler, validitetslogik), større datamængder og krav til korrekt fact-to-dimension mapping.
Typiske misforståelser
- “Type 2 er altid bedst.” Type 2 er bedst, når historik skaber værdi. Ellers kan du ende med unødvendig kompleksitet og datavækst.
- “Vi kan bare gemme ‘seneste version’ og bruge logfiler.” Logfiler er ikke det samme som analytisk historik, der kan joines stabilt til fakta.
- “SCD handler kun om adresseændringer.” I B2B er de mest værdifulde Type 2-attributter ofte segment, ICP-fit, account owner og firmografiske kategorier.
- “Historik er automatisk korrekt, hvis vi har Type 2.” Hvis fakta ikke bliver mappet til korrekt dimensionversion ved load, kan du stadig ende med “nutidsattribution” på historiske events.
- “Det er et BI-problem, ikke et go-to-market problem.” Forkert historik påvirker budgetallokering, kampagneoptimering, ABM-lister og salgsprioritering.
FAQ
Hvornår skal du vælge SCD Type 1?
Vælg Type 1, når du primært vil have “single source of truth” for nutiden, og historik ikke er nødvendig. Det er også velegnet til at rette fejl eller standardisere værdier (fx ensretning af navne, korrektion af landekoder) uden at udvide datamodellen.
Hvornår giver SCD Type 2 mest værdi i B2B?
Type 2 giver mest værdi, når du segmenterer og evaluerer performance over tid: branche/segment-skift, ændringer i firmastørrelse, ICP-score, account ownership og compliance-status. Det gør dine analyser af pipeline, konvertering og kampagner mere troværdige.
Hvordan påvirker SCD dine dashboards og KPI’er?
Type 1 kan få historiske dashboards til at ændre sig bagud i tid, fordi dimension-attributter overskrives. Type 2 stabiliserer historiske KPI’er, fordi du kan rapportere på den dimensionversion, der var gældende, da hændelsen skete.
Kan du kombinere Type 1 og Type 2 i samme dimension?
Ja, og det er ofte den bedste løsning. Du kan behandle nogle attributter som Type 1 (rettelser/normalisering) og andre som Type 2 (historikbærende felter). Det kræver, at du definerer klare regler for, hvilke felter der udløser en ny version.
Skal du altid bruge valid_from/valid_to og is_current?
Det er de mest almindelige mønstre, men ikke de eneste. Nogle teams bruger kun valid_from og beregner valid_to, andre bruger en versionskolonne. Pointen er, at du konsekvent kan identificere den gældende række og historiske perioder.
Få styr på historik i dine data – og brug den til at skabe flere kvalificerede leads
Når du håndterer dimension-ændringer rigtigt, får du mere pålidelige segmenter, bedre attribution og et stærkere grundlag for at prioritere salgsindsats og marketingbudget. Hvis du vil omsætte firmodata og segmentlogik til konkret B2B-aktivering, kan du se sådan virker Coherta og hvordan du kan operationalisere din målretning via Cohertas leadmotor. Har du behov for at koble data ind i dine systemer, kan du også læse om Coherta API for en mere automatiseret pipeline.