Så säkerställer vi att våra kalkylatorer räknar rätt
Vår beräkningsmetod
På miniräknare.se är korrekthet inte förhandlingsbart. Varje kalkylator som publiceras på sajten genomgår en strukturerad verifieringsprocess innan den blir tillgänglig. Den här sidan beskriver hur vi arbetar för att säkerställa att de resultat du får är matematiskt korrekta.
Beräkningsmotor
Våra kalkylatorer använder det öppna mattebiblioteket math.js som beräkningsmotor. Math.js är det mest använda matematikbiblioteket för JavaScript, med över 14 miljoner nedladdningar per månad. Biblioteket utvecklas aktivt sedan 2013 och används av utbildningsplattformar, forskningsinstitut och finansiella verktyg världen över.
Vi valde math.js av flera skäl:
Biblioteket hanterar decimaltal med högre precision än vad vanlig JavaScript-matematik ger. Det innebär att beräkningar som involverar procentandelar, räntor och avrundningar inte drabbas av de flyttalsfel som annars kan uppstå. Till exempel ger standard JavaScript resultatet 0,30000000000000004 vid beräkningen 0,1 + 0,2. Math.js hanterar sådana beräkningar korrekt.
Math.js har en inbyggd formelparser som gör det möjligt att uttrycka beräkningar i matematisk notation. Det minskar risken för programmeringsfel jämfört med att skriva komplexa formler direkt i kod. Varje formel kan läsas och kontrolleras av någon med matematisk kompetens, utan att behöva förstå programmeringsspråket i övrigt.
Math.js källkod är öppen och tillgänglig på GitHub. Det innebär att bibliotekets beräkningar kan granskas av vem som helst.
Formler och källor
Varje kalkylator på sajten bygger på etablerade matematiska formler. Nedan redovisas de formler och principer som ligger till grund för respektive kategori av kalkylatorer.
Ekonomi och finans
Ränta på ränta. Beräkningen utgår från den matematiska formeln för sammansatt ränta: slutvärde = startbelopp × (1 + ränta)^antal perioder. Formeln är en grundläggande finansmatematisk beräkning som används av banker, Finansinspektionen och i akademisk litteratur.
Lån och amortering. Annuitetsberäkningen använder formeln: månadskostnad = (lånebelopp × månadsränta) / (1 − (1 + månadsränta)^(−antal månader)). Beräkningen tar hänsyn till att ränta beräknas på kvarvarande skuld och att varje betalning innehåller en del amortering och en del ränta. Denna formel är standard i svensk bankpraxis.
Restvärde. Beräkningen av lån med restvärde följer samma annuitetsformel som ovan, men justerad så att restvärdet exkluderas från den del av lånet som amorteras. Resterande belopp förfaller vid lånets slut.
Lön efter skatt. Beräkningen baseras på den kommunala skattesatsen samt reglerna för statlig inkomstskatt. Grundavdraget beräknas enligt Skatteverkets tabeller. Eftersom skattesatser och brytpunkter ändras varje år, uppdateras kalkylatorn i samband med att Skatteverket publicerar nya värden.
Procentberäkningar. Procentuell förändring beräknas som ((nytt värde − gammalt värde) / gammalt värde) × 100. Andelsberäkning sker genom att dividera delen med helheten och multiplicera med 100. Dessa formler följer grundläggande matematisk definition av procentbegreppet.
Mäklararvode. Beräkningen multiplicerar köpeskillingen med den angivna provisionssatsen. Om fast arvode anges används det beloppet direkt.
Hälsa och kropp
BMI (Body Mass Index). Beräkningen följer den internationellt vedertagna formeln: BMI = vikt i kilogram / (längd i meter)². Formeln fastställdes av Adolphe Quetelet och används av Världshälsoorganisationen (WHO) för att kategorisera kroppsvikt.
Kaloribehov. Beräkningen av basalmetabolism (BMR) utgår från Mifflin-St Jeor-ekvationen, som anses vara den mest tillförlitliga formeln för att uppskatta energibehov i vila. Ekvationen justeras sedan med en aktivitetsfaktor baserad på användarens angivna aktivitetsnivå. Mifflin-St Jeor-ekvationen publicerades 1990 och rekommenderas av American Dietetic Association.
Datum och tid
Graviditetskalkylator. Beräkningen av förväntat förlossningsdatum utgår från Naegeles regel: sista menstruationens första dag + 280 dagar (40 veckor). Regeln är den standardmetod som används inom svensk mödrahälsovård för att ge en initial uppskattning. Kalkylatorn anger tydligt att resultatet är en uppskattning.
Verifieringsprocess
Innan en kalkylator publiceras genomgår den följande kontroller:
Formelgranskning. Den matematiska formeln som kalkylatorn bygger på identifieras och verifieras mot etablerade källor. Vi kontrollerar att formeln är korrekt implementerad i koden och att den ger förväntade resultat vid kända indatavärden.
Testning med kända värden. Varje kalkylator testas med en uppsättning indatavärden där det korrekta svaret redan är känt. Till exempel testas ränteberäkningar mot resultat beräknade för hand eller med kalkylatorns publicerade formel. Vi jämför även resultat mot andra etablerade kalkylatorer som referensvärde.
Gränsvärdestestning. Vi testar vad som händer vid ovanliga men möjliga indatavärden: negativa tal, noll, mycket stora eller mycket små tal, och extrema kombinationer. Kalkylatorn ska antingen ge ett korrekt resultat eller ett tydligt felmeddelande. Den ska aldrig ge ett felaktigt resultat utan varning.
Avrundningskontroll. Alla resultat avrundas till ett rimligt antal decimaler för sammanhanget. Ekonomiska beräkningar visas i hela kronor eller med två decimaler. Procentberäkningar avrundas vanligen till en eller två decimaler.
Begränsningar och förbehåll
Våra kalkylatorer ger resultat baserade på de formler och de indata som användaren anger. Det finns situationer där resultaten inte motsvarar verkligheten fullt ut:
Förenklade modeller. Verkligheten är ofta mer komplex än vad en enskild formel kan fånga. Till exempel tar en ränta-på-ränta-kalkylator inte hänsyn till skatter, avgifter eller inflation om inte användaren anger sådana parametrar.
Indata från användaren. Resultaten blir aldrig bättre än de uppgifter som matas in. Felaktiga eller orealistiska indata ger missvisande resultat.
Regelverk som ändras. Skatteregler, brytpunkter och myndighetskrav ändras över tid. Vi strävar efter att uppdatera kalkylatorer som berörs av sådana förändringar så snart som möjligt, men det kan förekomma kortare perioder då en kalkylator använder inaktuella värden. Senaste uppdateringsdatum anges på respektive kalkylator.
Inte rådgivning. Resultaten från våra kalkylatorer utgör inte ekonomisk, medicinsk eller juridisk rådgivning. De är verktyg för att göra egna uppskattningar. Vid beslut som rör privatekonomin eller hälsan rekommenderar vi att du konsulterar en kvalificerad rådgivare.
Öppen källkod och transparens
Beräkningsmotorn math.js som våra kalkylatorer bygger på är öppen källkod under Apache 2.0-licensen. Det innebär att all beräkningslogik kan granskas och verifieras av tredje part. Bibliotekets källkod finns tillgänglig på GitHub.
Om du upptäcker ett fel i någon av våra kalkylatorer uppskattar vi om du kontaktar oss så att vi kan åtgärda det. Korrekthet är vår viktigaste princip.
Teknisk referens
| Komponent | Detaljer |
|---|---|
| Beräkningsmotor | math.js (mathjs.org) |
| Grafritning | JSXGraph (jsxgraph.org) |
| Precision | Decimalhantering via math.js för att undvika flyttalsfel |
| Uppdatering | Skatteberäkningar uppdateras årligen, övriga vid behov |
| Kontakt | Felanmälan via kontaktsidan |
Källor
Matematik och beräkningsmetoder
- math.js – An extensive math library for JavaScript and Node.js
- JSXGraph – Interactive geometry, function plotting and visualization
Ekonomi och finans
- Skatteverket – Skattesatser, grundavdrag och brytpunkter
- Finansinspektionen – Information om konsumentkrediter och boendekostnader
- Konsumenternas Bank- och finansbyrå – Oberoende vägledning om lån och räntor
Hälsa
- WHO – Body Mass Index classification
- Mifflin, M.D. et al. (1990), "A new predictive equation for resting energy expenditure in healthy individuals", American Journal of Clinical Nutrition, 51(2), 241-247
Datum och graviditet
- Naegeles regel – standardmetod inom svensk mödrahälsovård för beräkning av förväntat förlossningsdatum