OKRキーリザルトの進捗率を計算
開始時20、現在65、目標100のキーリザルトは、開始値から測るため進捗率56.25%です。応答時間のように減らしたい目標も同じ方法で計算できます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 開始値
- 20
- 現在値
- 65
- 目標値
- 100
- 進捗率 (%)
- 56.25
この計算ツールは、OKRキーリザルトの開始値、現在の測定値、目標値を明確な進捗率に変換します。売上のような増加目標にも、応答時間や不具合件数のような削減目標にも対応します。0未満や100超の結果も保持するため、後退や目標超過を人為的な上限で隠しません。単発のレビューにも、自動レポートの決定論的な計算処理にもご利用いただけます。
実際の基準値から進捗を測定します
OKRの進捗率は、サイクル開始時に記録した値を基準にして初めて意味を持ちます。開始値から目標値までの距離のうち、現在までに進んだ割合を計算します。20から始まり、目標100に対して60なら50パーセントです。
現在値を目標値で割った60パーセントではありません。3つの値は単位、期間、対象範囲を統一してください。結果は6桁の小数に丸め、精度を保ちながら自動レポートを安定させます。
増加と削減に同じ式を使用します
方向を考慮した式により、別のモードを使わず両方の目標を処理できます。増加目標では現在値が高いほど通常は進捗が増え、削減目標では逆になります。平均対応時間を12時間から4時間へ減らす目標で8時間に達した場合、進捗は50パーセントです。
達成した変化と必要な変化がともに負なので、符号は正しく相殺されます。コスト、解約、不具合、遅延、排出量にも適しています。目標値と開始値が同じ場合は測定距離がなく、ゼロ除算になるためエラーになります。
指標が許す場合は負数も使用できます。
後退と目標超過をそのまま解釈します
出力は0から100の範囲に制限されません。負の進捗率は基準から目標と反対方向へ動いたことを示し、100を超える値は意図した方向で目標を上回ったことを示します。制限すると重要な管理情報が失われます。
この数値は完全な業績評価ではなく、測定値として扱ってください。ダッシュボードのバーに上限が必要でも、元の値は保存し、表示だけを制限することを推奨します。自動処理では最新測定値の検証後に計算し、3つの入力値を進捗率と一緒に保存すると、後日の変更を説明・監査できます。
活用例
四半期OKRダッシュボードの更新
承認済みの各測定値を、現在の期間で一貫した進捗率に変換します。
削減目標の追跡
解約、不具合、応答時間などの削減に向けた進捗を測ります。
進捗計算の監査
基準値、最新値、目標値から報告済みの割合を再計算して確認します。
よくある質問
どの計算式を使用しますか?
(現在値-開始値)を(目標値-開始値)で割り、100を掛けます。
値を下げる目標にも対応しますか?
はい。 目標値が開始値より低い場合も方向を考慮して計算します。
現在値を目標値で割るだけではだめですか?
開始時点が無視されてしまいます。目標100に対して20から60へ進んだなら道のりの半分で進捗率は50%ですが、60を100で割ると誤って60%と表示されます。
結果がマイナスや100%超になるのはなぜですか?
結果をあえて0〜100%に収めていないからです。マイナスは開始時より目標から遠ざかったこと、100%超は目標を超えたことを示し、後退も達成超過も隠さずに見られます。
開始値と目標値が同じだとどうなりますか?
測るべき距離がないため割り算ができず、エラーになります。進捗を測るには、開始値と目標値に必ず異なる値を入れてください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/biz/okr-progress-percent \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"starting_value":20,"current_value":65,"target_value":100}'const res = await fetch("https://api.kit.forhosting.com/biz/okr-progress-percent", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"starting_value": 20,
"current_value": 65,
"target_value": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/okr-progress-percent",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"starting_value": 20,
"current_value": 65,
"target_value": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/okr-progress-percent", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"starting_value":20,"current_value":65,"target_value":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"starting_value":20,"current_value":65,"target_value":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/okr-progress-percent", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"starting_value": 20,
"current_value": 65,
"target_value": 100
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.okr_progress_percent",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
実際の基準値から進捗を測定します
その値をstarting_value、最新の信頼できる測定値をcurrent_value、到達点をtarget_valueとして入力してください。
技術的な質問
負の値や100超になるのはなぜですか。
負の値は後退を、100超は目標を上回ったことを示します。
開始値と目標値が同じ場合はなぜエラーですか。
必要な変化がゼロとなり、定義できないゼロ除算になるためです。
API計算の料金はいくらですか。
APIリクエスト1回につき$0.002です。Web版では同じ決定論的計算をローカルで実行します。