欠勤率計算
欠勤日数を比べやすい割合に変えられます。所定労働日数22日のうち6日休めば欠勤率は27.27%で、5人のチームでも200人の部署でも同じ尺度で比べられます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 欠勤日数
- 6
- 総労働日数
- 22
- 欠勤率
- 27.27
対象者が欠勤した日数と、同一期間に予定されていた労働日数の合計です。前者を後者で割り、指定した精度に丸めたパーセンテージとして結果を返します。欠勤日数が所定労働日数を超えるという、あり得ない入力が渡された場合には、100%を超える意味のない数値を返すのではなく、明確なバリデーションエラーで処理を拒否します。
欠勤率が示すもの
欠勤率は、失われた労働時間を測る最もシンプルで比較可能な指標です。欠勤の件数だけではほとんど意味を持ちません。6日の欠勤は、20日の月では深刻ですが、四半期単位ではさほど大きくありません。
所定労働日数に対するパーセンテージとして表すことで数値が正規化され、5人のチームと200人の部門を同じ尺度で比較でき、暦の長さが異なっても前月と翌月を追跡できます。同一期間の欠勤日数と所定労働日数を送信すると、指定した小数点以下の桁数に丸めた欠勤パーセンテージが返されます。
この指標を無意味にする唯一の入力、つまり欠勤日数が所定労働日数の合計を超える場合は、意図的に拒否されます。その場合、二重計上、期間の不一致、入力ミスなど、元データのどこかに誤りがあるはずであり、正しい対応は100%を超えるパーセンテージで下流のレポートを静かに汚染することではなく、問題の2つの値を明示するエラーを返すことです。
手元で数値を確認し、自動化する場合にのみ料金をお支払いいただけます。
入力値の検証方法
両方の入力は有限の数値である必要があり、期間の定義はお客様次第です。月、四半期、契約年度など、両方の数値が同じ期間を表していれば比率は同じです。欠勤日数は0以上、所定労働日数は0より大きい必要があります。
予定日数のない期間には意味のある欠勤率が存在しないからです。多くの給与計算システムが半日単位で管理しているため、両方の入力で小数値を受け付けます。精度パラメータは返されるパーセンテージの丸めを制御し、デフォルトは小数点以下2桁です。
これは多くの人事ダッシュボードでの表示方法と一致しており、0から6までの範囲で指定できます。検証は意図的に厳格です。数値文字列として渡された入力は、フォーム送信やクエリパラメータがその形で届くことが多いため変換されますが、有限の数値として解釈できないものは同じ明確さで拒否されます。
実務での活用場面
多くのチームがこの計算を3種類のフローに組み込んでいます。1つ目はレポート作成です。夜間バッチが勤怠データのエクスポートを処理し、従業員ごと、チームごと、拠点ごとの欠勤率を算出して系列として保存することで、トレンドが問題になる前に可視化されます。
2つ目はアラートです。 たとえば月5%といったしきい値でレビューを起動し、率を一元的に計算することで、スプレッドシートごとに異なる計算をするのではなく、すべてのアラートがまったく同じ式と丸めを使うようになります。3つ目はベンチマーキングです。
生の欠勤件数をパーセンテージに変換することで、長さの異なる期間や規模の異なるチームを比較可能にし、これは数値を正直に読む唯一の方法です。2つの数値が入り、パーセンテージが出ていくだけで、何も保持されません。そのため、機密性の高い労務データにも安心して使えます。
結果オブジェクトは計算されたパーセンテージとともに2つの入力値をそのまま返すため、保存されたレコードは自己説明的であり、監査担当者はログから再計算することなく、どの数値がどの率を生んだのかを正確に確認できます。
活用例
月次欠勤レポートの作成
勤怠データのエクスポートから、1つの共通した式と丸めルールで従業員ごと・チームごとの欠勤率を算出します。
異常な欠勤率へのアラート
チームの欠勤率がしきい値を超えたときにレビューを起動します。どこでも同じ方法で計算されます。
長さの異なる期間の比較
短い月と長い月をパーセンテージに正規化し、トレンドラインを正確に把握できます。
よくある質問
欠勤率はどのように計算されますか?
欠勤日数を所定労働日数の合計で割り、100を掛け、指定した精度(デフォルトは小数点以下2桁)に丸めます。
半日単位でも使えますか?
はい。 両方の入力で小数値を受け付けるため、22労働日のうち4.5日の欠勤といった計算も問題なく行えます。
データは保存されますか?
いいえ。 2つの数値は処理後に破棄され、結果のみが返されます。
所定労働日数は0でも構いませんか?
いいえ。 所定労働日数が0の期間には欠勤率が定義できないため、その入力は拒否されます。
欠勤日数が所定労働日数より多いとどうなりますか?
100%を超える率を出す代わりに、両方の値を示して計算を止めます。二重計上や期間のずれ、入力ミスなど、元のデータに誤りがあるしるしだからです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/fin/absence-percentage \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"days_absent":6,"workdays_total":22}'const res = await fetch("https://api.kit.forhosting.com/fin/absence-percentage", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"days_absent": 6,
"workdays_total": 22
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/absence-percentage",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"days_absent": 6,
"workdays_total": 22
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/absence-percentage", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"days_absent":6,"workdays_total":22}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"days_absent":6,"workdays_total":22}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/absence-percentage", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"days_absent": 6,
"workdays_total": 22
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.absence_percentage",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
欠勤率APIは、2つの数値から欠勤率を算出します。
欠勤率が示すもの
このエンドポイントはまさにその正規化を行います。計算は純粋な算術処理であるため、同じコードがこのページのブラウザ上では無料で、有料のAPI呼び出しとしてはリクエストごとに$0.002で動作します。
入力値の検証方法
負の欠勤日数、分母の0、所定労働日数を超える欠勤日数はいずれも、該当するフィールドと問題の値を明示したエラーを返します。そのため、呼び出し元のパイプラインは問題をログに記録し、該当レコードをスキップして、誤った数値を取り込む代わりに元データの担当者に通知できます。
実務での活用場面
このエンドポイントは状態を保持せず、何も保存しません。
技術的な質問
欠勤日数が所定労働日数を超えた場合はどうなりますか?
そのような入力は実際の期間を表せないため、両方の値を明示したinvalid_inputエラーでリクエストが拒否されます。
料金はいくらですか?
リクエストごとに$0.002です。このページのブラウザ上では無料で実行できます。