Release-note: hvorfor vi splittede rente fra bidragssats
Den første version af BoligInvest havde ét felt pr. gældspost: "rente". Det var enkelt, men det var også forkert — eller i hvert fald ikke præcist nok til det, modellen skal bruges til. I marts 2026 splittede vi rente fra bidragssats overalt i systemet. Det er en lille ændring med overraskende store konsekvenser.
Hvorfor vi ændrede det
Rente og bidragssats er ikke samme slags omkostning.
- Renten bestemmes af obligationsmarkedet. Den bevæger sig med ECB, Nationalbanken og efterspørgslen på danske realkreditobligationer. Du kan ikke forhandle den.
- Bidragssatsen er instituttets egen margin. Den bevæger sig med instituttets kapitalkrav, LTV-bånd og konkurrence. Du kan forhandle den (lidt), og den kan ændres ensidigt med tre måneders varsel.
Når man pakker begge ind i ét felt, forsvinder den forskel — og dermed evnen til at stress-teste dem uafhængigt. Det gør en prognose, hvor man "sætter renten op med 1 procentpoint", til en uklar øvelse. Hvilken rente? Kun kuponen? Eller også bidraget? Hvad hvis bidraget er konstant og kun kuponen flytter sig?
Sådan regner engine nu
I engine-laget er hver gældspost nu et objekt med to tal:
type Debt = { label: "realkredit" | "bank" | "saelger"; amount: number; rate: number };Adapteren fromFrontend slår de to procentsatser sammen for realkreditgæld (rente + bidragssats) og lader bank- og sælgerfinansiering stå med kun renten. Det er den eneste komposition. Herfra er alt downstream — renteudgifter, skat, cashflow — én og samme formel:
annualInterest = Σ debt.amount * debt.rateDet betyder, at du kan flytte bidragssatsen alene, og alt andet opdaterer sig — cashflow, skat, ROIC, verdict. Eller omvendt: du kan flytte renten alene og se præcis, hvor meget af dit cashflow der afhænger af obligationsmarkedet vs. dit institut.
Migration 0002 i databasen
I Supabase tilføjede migrationen to nye kolonner på deals: interest_rate og contribution_rate. Den samme opsplitning findes på deal_debts.rate, så en realkredit-gældspost lagres som sum af kupon + bidrag (engine-kanon), mens deal-toppen beholder de to felter hver for sig til UI-visning.
Deals fra før marts 2026 er bagudkompatible: hvis kun rate findes, antages bidragssatsen at være 0, og hele tallet lægges på renten. Det giver et lidt optimistisk rentebillede på gamle deals, indtil du redigerer dem.
Hvad du ser som bruger
- To felter i wizardens "Finansiering"-step i stedet for ét. Knappen "Hent aktuelle satser" udfylder begge korrekt med de nyeste tal fra Danmarks Statistik.
- Live-preview i wizarden tager højde for begge satser, så du ikke skal bladre frem og tilbage for at se konsekvensen af en ændring.
- På dealens detaljeside vises rente og bidragssats hver for sig i nøgletalspanelet, sammen med den samlede kapitalomkostning.
Næste trin på roadmappen er at bruge denne opsplitning i en egentlig stresstest — fx "hvad sker der hvis bidraget stiger 25 bp?" direkte på portfolio-siden. Tallene er der. Det er bare at sætte UI på.
Flere indlæg
Sådan læser du en realkreditoplysning uden at falde i søvn
Bidragssats, kursskæring og refinansieringsrisiko — hvad tallene i dit lånetilbud faktisk betyder for cashflowet.
Q1 2026 — hvad en udlejningsinvestor bør kigge efter lige nu
De fire datakilder der fortæller noget reelt om markedet — og hvordan du bruger dem til at stress-teste din egen deal.
Anatomi af en god deal: fire tal du bør kigge på først
Cashflow, ROIC, cash-on-cash og break-even — hvad hvert tal siger, hvordan jeg regner det, og hvor grænsen går.
Få besked om nye indlæg
Et kort nyhedsbrev — kun når der er noget at sige.