🛠️

Whiz Tools

Build • Create • Innovate

Altman Z-Score Calculator for Credit Risk Assessment

Denne Altman Z-score kalkulatoren hjelper deg med å vurdere en bedrifts kredittverdighet ved å beregne Altman Z-Score.

Altman Z-Score

Inndata

Resultat

Altman Z-Score hjelper med å vurdere en bedrifts kredittverdighet. En høyere poengsum indikerer lavere risiko for konkurs innen to år.

📚

Dokumentasjon

Altman Z-Score Kalkulator

Introduksjon

Altman Z-Score er en finansmodell utviklet av Edward I. Altman i 1968 for å forutsi sannsynligheten for at et selskap går konkurs innen to år. Den kombinerer fem nøkkelfinansielle forhold ved hjelp av en vektet sum for å vurdere den finansielle helsen til et selskap. Z-Score brukes mye av investorer, kreditorer og finansanalytikere for å evaluere kredittrisiko.

Formel

Altman Z-Score beregnes ved hjelp av følgende formel:

Z=1.2X1+1.4X2+3.3X3+0.6X4+1.0X5Z = 1.2X_1 + 1.4X_2 + 3.3X_3 + 0.6X_4 + 1.0X_5

Hvor:

  • X1=ArbeidskapitalTotale eiendelerX_1 = \frac{\text{Arbeidskapital}}{\text{Totale eiendeler}}
  • X2=Opptjente overskuddTotale eiendelerX_2 = \frac{\text{Opptjente overskudd}}{\text{Totale eiendeler}}
  • X3=Inntekt før renter og skatter (EBIT)Totale eiendelerX_3 = \frac{\text{Inntekt før renter og skatter (EBIT)}}{\text{Totale eiendeler}}
  • X4=Markedsverdi av egenkapitalTotale forpliktelserX_4 = \frac{\text{Markedsverdi av egenkapital}}{\text{Totale forpliktelser}}
  • X5=SalgTotale eiendelerX_5 = \frac{\text{Salg}}{\text{Totale eiendeler}}

Forklaring av variabler

  • Arbeidskapital (WC): Nåværende eiendeler minus nåværende forpliktelser. Indikerer kortsiktig finansiell likviditet.
  • Opptjente overskudd (RE): Kumulative overskudd reinvestert i selskapet. Reflekterer langsiktig lønnsomhet.
  • EBIT: Inntekt før renter og skatter. Måler drifts effektivitet.
  • Markedsverdi av egenkapital (MVE): Antall utestående aksjer multiplisert med den nåværende aksjekursen. Representerer aksjonær tillit.
  • Totale forpliktelser (TL): Summen av nåværende og langsiktige forpliktelser.
  • Salg: Totale inntekter fra solgte varer eller tjenester.
  • Totale eiendeler (TA): Summen av nåværende og ikke-nåværende eiendeler.

Beregning

Trinn-for-trinn-guide

  1. Beregn finansielle forhold:

    • X1=WCTAX_1 = \frac{\text{WC}}{\text{TA}}
    • X2=RETAX_2 = \frac{\text{RE}}{\text{TA}}
    • X3=EBITTAX_3 = \frac{\text{EBIT}}{\text{TA}}
    • X4=MVETLX_4 = \frac{\text{MVE}}{\text{TL}}
    • X5=SalgTAX_5 = \frac{\text{Salg}}{\text{TA}}
  2. Bruk vekter på hvert forhold:

    • Multipliser hvert XX-forhold med sin tilsvarende koeffisient.
  3. Summér de vektede forholdene:

    • Z=1.2X1+1.4X2+3.3X3+0.6X4+1.0X5Z = 1.2X_1 + 1.4X_2 + 3.3X_3 + 0.6X_4 + 1.0X_5

Numerisk eksempel

Anta at et selskap har følgende finansielle data (i USD millioner):

  • Arbeidskapital (WC): $50 millioner
  • Opptjente overskudd (RE): $200 millioner
  • EBIT: $100 millioner
  • Markedsverdi av egenkapital (MVE): $500 millioner
  • Totale forpliktelser (TL): $400 millioner
  • Salg: $600 millioner
  • Totale eiendeler (TA): $800 millioner

Beregning av forholdene:

  • X1=50800=0.0625X_1 = \frac{50}{800} = 0.0625
  • X2=200800=0.25X_2 = \frac{200}{800} = 0.25
  • X3=100800=0.125X_3 = \frac{100}{800} = 0.125
  • X4=500400=1.25X_4 = \frac{500}{400} = 1.25
  • X5=600800=0.75X_5 = \frac{600}{800} = 0.75

Beregning av Z-Score:

Z=1.2(0.0625)+1.4(0.25)+3.3(0.125)+0.6(1.25)+1.0(0.75)=0.075+0.35+0.4125+0.75+0.75=2.3375\begin{align*} Z &= 1.2(0.0625) + 1.4(0.25) + 3.3(0.125) + 0.6(1.25) + 1.0(0.75) \\ &= 0.075 + 0.35 + 0.4125 + 0.75 + 0.75 \\ &= 2.3375 \end{align*}

Tolkning

  • Z-Score > 2.99: Sikker sone – Lav sannsynlighet for konkurs.
  • 1.81 < Z-Score < 2.99: Grå sone – Usikker risiko; forsiktighet anbefales.
  • Z-Score < 1.81: Nødsone – Høy sannsynlighet for konkurs.

Resultat: En Z-Score på 2.34 plasserer selskapet i Grå sone, noe som indikerer potensiell finansiell ustabilitet.

Grenseverdier og begrensninger

  • Negative verdier: Negative innganger for nettoinntekt, opptjente overskudd eller arbeidskapital kan betydelig senke Z-Score.
  • Anvendelighet: Den opprinnelige modellen er best egnet for børsnoterte produksjonsselskaper.
  • Bransjeforskjeller: Ikke-produksjon, private og fremvoksende markeds selskaper kan kreve justerte modeller (f.eks. Z'-Score, Z''-Score).
  • Økonomiske forhold: Makroøkonomiske faktorer er ikke vurdert i modellen.

Bruksområder

Applikasjoner

  • Konkursforutsigelse: Tidlig oppdagelse av finansiell nød.
  • Kredittanalyse: Hjelpe långivere med å vurdere lånerisiko.
  • Investeringsbeslutninger: Veilede investorer mot økonomisk stabile selskaper.
  • Bedriftsstrategi: Hjelpe ledelsen med å vurdere finansiell helse og gjøre strategiske justeringer.

Alternativer

Z'-Score og Z''-Score modeller
  • Z'-Score: Tilpasset for private produksjonsselskaper.
  • Z''-Score: Videre justert for ikke-produksjon og fremvoksende markeds selskaper.
Andre modeller
  • Ohlson O-Score: En logistisk regresjonsmodell som forutsier konkursrisiko.
  • Zmijewski Score: Et probit-modellalternativ som fokuserer på finansiell nød.

Når man skal bruke alternativer:

  • For selskaper utenfor produksjonssektoren.
  • Når man vurderer private eller ikke-børsnoterte selskaper.
  • I forskjellige økonomiske kontekster eller geografiske regioner.

Historie

Edward Altman introduserte Z-Score-modellen i 1968 i en tid med økende selskapskonkurser. Ved å bruke multippel diskriminant analyse (MDA) analyserte Altman 66 selskaper for å identifisere nøkkelfinansielle forhold som var forutsigende for konkurs. Modellen har siden blitt forbedret og forblir et grunnleggende verktøy i vurderingen av kredittrisiko.

Ytterligere betraktninger

Innvirkning av finansiell manipulering

  • Selskaper kan engasjere seg i regnskapspraksis som midlertidig blåser opp finansielle forhold.
  • Det er avgjørende å vurdere kvalitative faktorer sammen med kvantitative poeng.

Integrasjon med andre målinger

  • Kombiner Z-Score med andre analyser (f.eks. kontantstrømanalyse, markedstrender).
  • Bruk som en del av en omfattende due diligence-prosess.

Kodeeksempler

Excel

1' Excel VBA-funksjon for beregning av Altman Z-Score
2Function AltmanZScore(wc As Double, re As Double, ebit As Double, mve As Double, tl As Double, sales As Double, ta As Double) As Double
3    Dim X1 As Double, X2 As Double, X3 As Double, X4 As Double, X5 As Double
4    
5    X1 = wc / ta
6    X2 = re / ta
7    X3 = ebit / ta
8    X4 = mve / tl
9    X5 = sales / ta
10    
11    AltmanZScore = 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5
12End Function
13
14' Bruk i en celle:
15' =AltmanZScore(A1, B1, C1, D1, E1, F1, G1)
16' Der A1 til G1 inneholder de respektive inngangsverdiene
17

Python

1## Altman Z-Score beregning i Python
2def calculate_z_score(wc, re, ebit, mve, tl, sales, ta):
3    X1 = wc / ta
4    X2 = re / ta
5    X3 = ebit / ta
6    X4 = mve / tl
7    X5 = sales / ta
8    z_score = 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5
9    return z_score
10
11## Eksempel på bruk:
12wc = 50
13re = 200
14ebit = 100
15mve = 500
16tl = 400
17sales = 600
18ta = 800
19
20z = calculate_z_score(wc, re, ebit, mve, tl, sales, ta)
21print(f"Altman Z-Score: {z:.2f}")
22

JavaScript

1// JavaScript Altman Z-Score beregning
2function calculateZScore(wc, re, ebit, mve, tl, sales, ta) {
3  const X1 = wc / ta;
4  const X2 = re / ta;
5  const X3 = ebit / ta;
6  const X4 = mve / tl;
7  const X5 = sales / ta;
8  const zScore = 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5;
9  return zScore;
10}
11
12// Eksempel på bruk:
13const zScore = calculateZScore(50, 200, 100, 500, 400, 600, 800);
14console.log(`Altman Z-Score: ${zScore.toFixed(2)}`);
15

Java

1// Java Altman Z-Score beregning
2public class AltmanZScore {
3    public static double calculateZScore(double wc, double re, double ebit, double mve, double tl, double sales, double ta) {
4        double X1 = wc / ta;
5        double X2 = re / ta;
6        double X3 = ebit / ta;
7        double X4 = mve / tl;
8        double X5 = sales / ta;
9        return 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5;
10    }
11
12    public static void main(String[] args) {
13        double zScore = calculateZScore(50, 200, 100, 500, 400, 600, 800);
14        System.out.printf("Altman Z-Score: %.2f%n", zScore);
15    }
16}
17

R

1## R Altman Z-Score beregning
2calculate_z_score <- function(wc, re, ebit, mve, tl, sales, ta) {
3  X1 <- wc / ta
4  X2 <- re / ta
5  X3 <- ebit / ta
6  X4 <- mve / tl
7  X5 <- sales / ta
8  z_score <- 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5
9  return(z_score)
10}
11
12## Eksempel på bruk:
13z_score <- calculate_z_score(50, 200, 100, 500, 400, 600, 800)
14cat("Altman Z-Score:", round(z_score, 2))
15

MATLAB

1% MATLAB Altman Z-Score beregning
2function z_score = calculate_z_score(wc, re, ebit, mve, tl, sales, ta)
3    X1 = wc / ta;
4    X2 = re / ta;
5    X3 = ebit / ta;
6    X4 = mve / tl;
7    X5 = sales / ta;
8    z_score = 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5;
9end
10
11% Eksempel på bruk:
12z_score = calculate_z_score(50, 200, 100, 500, 400, 600, 800);
13fprintf('Altman Z-Score: %.2f\n', z_score);
14

C++

1// C++ Altman Z-Score beregning
2#include <iostream>
3
4double calculateZScore(double wc, double re, double ebit, double mve, double tl, double sales, double ta) {
5    double X1 = wc / ta;
6    double X2 = re / ta;
7    double X3 = ebit / ta;
8    double X4 = mve / tl;
9    double X5 = sales / ta;
10    return 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5;
11}
12
13int main() {
14    double zScore = calculateZScore(50, 200, 100, 500, 400, 600, 800);
15    std::cout << "Altman Z-Score: " << zScore << std::endl;
16    return 0;
17}
18

C#

1// C# Altman Z-Score beregning
2using System;
3
4class Program
5{
6    static double CalculateZScore(double wc, double re, double ebit, double mve, double tl, double sales, double ta)
7    {
8        double X1 = wc / ta;
9        double X2 = re / ta;
10        double X3 = ebit / ta;
11        double X4 = mve / tl;
12        double X5 = sales / ta;
13        return 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5;
14    }
15
16    static void Main()
17    {
18        double zScore = CalculateZScore(50, 200, 100, 500, 400, 600, 800);
19        Console.WriteLine($"Altman Z-Score: {zScore:F2}");
20    }
21}
22

Go

1// Go Altman Z-Score beregning
2package main
3
4import (
5    "fmt"
6)
7
8func calculateZScore(wc, re, ebit, mve, tl, sales, ta float64) float64 {
9    X1 := wc / ta
10    X2 := re / ta
11    X3 := ebit / ta
12    X4 := mve / tl
13    X5 := sales / ta
14    return 1.2*X1 + 1.4*X2 + 3.3*X3 + 0.6*X4 + X5
15}
16
17func main() {
18    zScore := calculateZScore(50, 200, 100, 500, 400, 600, 800)
19    fmt.Printf("Altman Z-Score: %.2f\n", zScore)
20}
21

Swift

1// Swift Altman Z-Score beregning
2func calculateZScore(wc: Double, re: Double, ebit: Double, mve: Double, tl: Double, sales: Double, ta: Double) -> Double {
3    let X1 = wc / ta
4    let X2 = re / ta
5    let X3 = ebit / ta
6    let X4 = mve / tl
7    let X5 = sales / ta
8    return 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5
9}
10
11// Eksempel på bruk:
12let zScore = calculateZScore(wc: 50, re: 200, ebit: 100, mve: 500, tl: 400, sales: 600, ta: 800)
13print(String(format: "Altman Z-Score: %.2f", zScore))
14

Referanser

  1. Altman, E. I. (1968). Finansielle forhold, diskriminant analyse og forutsigelse av selskapskonkurs. The Journal of Finance, 23(4), 589–609.
  2. Altman Z-Score. Wikipedia. Hentet fra https://en.wikipedia.org/wiki/Altman_Z-score
  3. Investopedia - Altman Z-Score. Hentet fra https://www.investopedia.com/terms/a/altman.asp