This Altman Z-score calculator helps you assess a company's credit risk by calculating the Altman Z-Score.
The Altman Z-Score helps assess a company's credit risk. A higher score indicates lower risk of bankruptcy within two years.
The Altman Z-Score is a financial model developed by Edward I. Altman in 1968 to predict the likelihood of a company going bankrupt within two years. It combines five key financial ratios using a weighted sum to assess the financial health of a company. The Z-Score is widely used by investors, creditors, and financial analysts to evaluate credit risk.
The Altman Z-Score is calculated using the following formula:
Where:
Calculate Financial Ratios:
Apply Weights to Each Ratio:
Sum the Weighted Ratios:
Suppose a company has the following financial data (in USD millions):
Calculating the Ratios:
Calculating the Z-Score:
Result: A Z-Score of 2.34 places the company in the Grey Zone, indicating potential financial instability.
When to Use Alternatives:
Edward Altman introduced the Z-Score model in 1968 amidst increasing corporate bankruptcies. Utilizing multiple discriminant analysis (MDA), Altman analyzed 66 companies to identify key financial ratios predictive of bankruptcy. The model has since been refined and remains a foundational tool in credit risk assessment.
1' Excel VBA Function for Altman Z-Score Calculation
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' Usage in a cell:
15' =AltmanZScore(A1, B1, C1, D1, E1, F1, G1)
16' Where A1 to G1 contain the respective input values
17
1## Altman Z-Score Calculation in 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## Example usage:
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
1// JavaScript Altman Z-Score Calculation
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// Example usage:
13const zScore = calculateZScore(50, 200, 100, 500, 400, 600, 800);
14console.log(`Altman Z-Score: ${zScore.toFixed(2)}`);
15
1// Java Altman Z-Score Calculation
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
1## R Altman Z-Score Calculation
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## Example usage:
13z_score <- calculate_z_score(50, 200, 100, 500, 400, 600, 800)
14cat("Altman Z-Score:", round(z_score, 2))
15
1% MATLAB Altman Z-Score Calculation
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% Example usage:
12z_score = calculate_z_score(50, 200, 100, 500, 400, 600, 800);
13fprintf('Altman Z-Score: %.2f\n', z_score);
14
1// C++ Altman Z-Score Calculation
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
1// C# Altman Z-Score Calculation
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
1// Go Altman Z-Score Calculation
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
1// Swift Altman Z-Score Calculation
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// Example usage:
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
Discover more tools that might be useful for your workflow