アルトマンZスコア計算ツール
アルトマンZスコアは、企業の倒産リスクを測る古典的な統計的手法です。このAPIは、貸借対照表と損益計算書から6つの数値(運転資本、利益剰余金、EBIT、自己資本、総資産、売上高)を受け取り、エドワード・アルトマンが1968年に提唱したオリジナルの判別スコア、5つの基礎比率、そしてリスクゾーンを返します。2.99超が安全ゾーン、1.81から2.99がグレーゾーン、1.81未満が危険ゾーンです。与信判断の前にアナリストが表計算ソフトで行うのと同じ計算を、データを保持せず決定論的な1回の呼び出しで完了させます。このページでは同じコードがブラウザで無料実行されますので、数値を入力して企業を確認でき、料金が発生するのはスクリーニングを自動化した場合のみです。
無料で実行
Zスコアが測定するもの
1968年、エドワード・アルトマンは倒産企業と健全企業の製造業サンプルに判別モデルを当てはめ、5つの財務比率を重み付けして組み合わせると、2つのグループを驚くべき精度で分けられることを発見しました。アルトマンZスコア計算ツールは、流動性、累積収益性、営業効率、レバレッジ、資産回転率を1つの数値に統合します。スコアが2.99を超える企業は安全ゾーンに位置し、2年以内の破綻は統計的に起こりにくい状態です。1.81を下回る企業は危険ゾーンに落ち、歴史的に倒産した企業と同じ財務プロファイルを共有します。2つの閾値の間にはグレーゾーンがあり、モデルが確信を持って分類できず、より深い分析が必要です。このスコアは日付付きの予言ではなく、倒産企業のプロファイルからの標準化された距離であり、その強みは貸借対照表全体のレビューを比較可能な1つの数値に圧縮できる点にあります。
5つの比率の計算方法
このエンドポイントは、X1を運転資本÷総資産、X2を利益剰余金÷総資産、X3をEBIT÷総資産、X4を自己資本÷総負債、X5を売上高÷総資産として計算します。スコアは1.2×X1+1.4×X2+3.3×X3+0.6×X4+1.0×X5で、上場製造業に対するアルトマンの元の重み付けを再現しています。運転資本は流動資産から流動負債を差し引いたもので、自己資本は時価(株価×発行済株式数)が望ましいものの、非上場企業では簿価も認められた代替値です。総負債を省略した場合、APIは総資産から自己資本を引いた値として導出します。これは簿価の自己資本を指定した場合に正確な値になります。すべての比率は総資産でスケーリングされるため、総資産がゼロの場合は呼び出しが入力エラーで失敗し、課金されません。すべての入力値は丸められた比率とともにレスポンスに含まれて返されるため、監査証跡が完全に保たれます。
結果の読み方と活用法
スコアは判定ではなく、スクリーニングの道具としてお使いください。貸し手は与信申請の振り分けに使用します。安全ゾーンの案件は自動承認へ、危険ゾーンの案件はシニアアナリストの審査へ進みます。投資家はポートフォリオ企業のスコアを四半期ごとに追跡します。単発の数値より低下傾向のほうが重要だからです。3.5から2.2へ下がった企業は、まだ閾値を越えていなくても何かを伝えています。モデルの適用範囲にもご注意ください。上場製造業で較正されているため、銀行、保険会社、若いサービス企業のスコアは、貸借対照表の構造が体系的に異なるため慎重に解釈する必要があります。レスポンスに個別のX比率が含まれているのは、どの要素が結果を動かしているのか(流動性の崩壊、利益剰余金の縮小、資産回転率の低下など)を確認し、症状ではなく原因を調べていただくためです。
活用例
与信申請者のスクリーニング
各申請者の最新の財務諸表をスコアリングし、安全ゾーンの案件は自動承認へ、危険ゾーンの案件は手動審査へ振り分けます。
融資ポートフォリオの監視
報告された財務諸表から借り手のスコアを四半期ごとに再計算し、スコアがグレーゾーンに向かう口座にフラグを立てます。
買収候補の比較
デューデリジェンスで候補企業をZスコア順に並べ、価格交渉の前にどの貸借対照表に隠れた脆弱性があるかを確認します。
よくある質問
料金はいくらですか?
$0.002/リクエストです。また、このページではブラウザで無料で実行できます。
実装されているアルトマンのモデルはどれですか?
上場製造業向けの1968年のオリジナルモデルです:Z = 1.2·X1 + 1.4·X2 + 3.3·X3 + 0.6·X4 + 1.0·X5。非上場企業・非製造業向けのZ′やZ″のバリアントではありません。
各ゾーンの意味は何ですか?
2.99超が安全ゾーン、1.81未満が危険ゾーン、その間がモデルが確信を持って分類できないグレーゾーンです。
総負債が分からない場合はどうすればよいですか?
フィールドを省略すると、APIが総負債を総資産から自己資本を引いた値として導出します。自己資本が簿価の場合、これは正確な値です。
呼び出しが失敗したのはなぜですか?
最も多い原因は総資産がゼロのケースです。すべての比率が総資産でスケーリングされるためスコアが未定義となり、呼び出しは無効な入力として課金なしで拒否されます。
自己資本は時価と簿価のどちらを使うべきですか?
アルトマンがX4に使用したのは自己資本の時価です。非上場企業では簿価の自己資本が認められた代替値です。
財務データは保存されますか?
いいえ。数値は処理後に破棄され、返されるのはスコアと比率のみです。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/fin/altman-z-score \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"working_capital":350000,"retained_earnings":520000,"ebit":210000,"equity":800000,"total_assets":1500000,"sales":2400000}'const res = await fetch("https://api.kit.forhosting.com/fin/altman-z-score", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"working_capital": 350000,
"retained_earnings": 520000,
"ebit": 210000,
"equity": 800000,
"total_assets": 1500000,
"sales": 2400000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/altman-z-score",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"working_capital": 350000,
"retained_earnings": 520000,
"ebit": 210000,
"equity": 800000,
"total_assets": 1500000,
"sales": 2400000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/altman-z-score", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"working_capital":350000,"retained_earnings":520000,"ebit":210000,"equity":800000,"total_assets":1500000,"sales":2400000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"working_capital":350000,"retained_earnings":520000,"ebit":210000,"equity":800000,"total_assets":1500000,"sales":2400000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/altman-z-score", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"working_capital": 350000,
"retained_earnings": 520000,
"ebit": 210000,
"equity": 800000,
"total_assets": 1500000,
"sales": 2400000
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.altman_z_score",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |