mcpField
E
executive-dashboard

executive-dashboard

github.com/happy-technologies-llcデータ・データベース4144 回インストール3 日前に更新
リポジトリ

executive-dashboard について

ServiceNow の ITSM 指標を分析し、経営層向けダッシュボードデータを作成するスキルです。インシデント、変更、問題、顧客満足度の KPI を算出し、期間比較や傾向把握に役立ちます。

主な機能

  1. 01MTTR と MTBF の算出
  2. 02解決率と再オープン率の測定
  3. 03インシデント量とバックログの分析
  4. 04変更成功率と問題指標の追跡
  5. 05期間別のダッシュボードデータ集計

活用シーン

  1. 01経営層や取締役会向け ITSM 報告の準備
  2. 02月次パフォーマンスダッシュボードデータの生成
  3. 03期間ごとのサービス指標の比較

MCP 対応

MCP で ServiceNow のテーブルデータを検索し、自然言語検索を実行します。複雑な集計にはバックグラウンドスクリプトを利用できます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/happy-technologies-llc/happy-platform-skills --skill executive-dashboard

インストール後、Claude Code で/executive-dashboardを入力して読み込まれたか確認します。

詳細

エグゼクティブダッシュボード

概要

このスキルは、ServiceNow 向けにエグゼクティブレベルの ITSM KPI とダッシュボードデータを生成します。次のことができます。

  • MTTR(平均解決時間)と MTBF(平均故障間隔)を計算する
  • インシデント解決率と初回問い合わせ解決率を生成する
  • エグゼクティブダッシュボード用のデータを集計する
  • 期間ごとのパフォーマンスを比較する
  • エグゼクティブの注意を要する傾向を特定する

使用する場面: エグゼクティブ向け説明資料、取締役会向けレポート、月次 IT パフォーマンスレビューの準備、またはダッシュボードデータの自動生成に使用します。

前提条件

  • ロール: report_admin、itil、または analytics_admin
  • アクセス権: incident、problem、change_request、task テーブルへの読み取りアクセス
  • 知識: ITSM KPI の定義と組織の目標に関する理解
  • データ: 有意義な指標を得るために、最低 30 日分の履歴データが必要です

手順

ステップ 1:平均解決時間(MTTR)を計算する

MTTR は、インシデントの作成から解決までの平均時間を測定します。

MCP を使用する場合(Claude Code/Desktop):

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: state=6^resolved_atISNOTEMPTY^resolved_atONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,number,sys_created_on,resolved_at,priority,category
  limit: 1000

REST API を使用する場合:

GET /api/now/table/incident?sysparm_query=state=6^resolved_atISNOTEMPTY^resolved_atONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)&sysparm_fields=sys_id,number,sys_created_on,resolved_at,priority,category&sysparm_limit=1000

MTTR を計算する:

// For each incident:
// Resolution Time = resolved_at - sys_created_on

// MTTR = Sum of all Resolution Times / Count of Resolved Incidents

// Example calculation (in hours):
Total Resolution Time: 2,400 hours
Resolved Incidents: 150
MTTR = 2,400 / 150 = 16 hours

優先度別 MTTR(目標ベンチマーク):

優先度目標 MTTR業界ベンチマーク
P1 - 重大< 4 時間2-4 時間
P2 - 高< 8 時間4-8 時間
P3 - 中< 24 時間8-24 時間
P4 - 低< 72 時間24-72 時間
ステップ 2:平均故障間隔(MTBF)を計算する

MTBF は信頼性を測定します。同じ CI またはサービスでインシデントが再発するまでの平均時間です。

CI 関連のインシデントをクエリする:

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: cmdb_ciISNOTEMPTY^sys_created_onONLast 90 days@javascript:gs.daysAgoStart(90)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,number,cmdb_ci,sys_created_on,category
  limit: 2000
  order_by: cmdb_ci,sys_created_on

CI ごとに MTBF を計算する:

// Group incidents by CI
// For CIs with multiple incidents:
// MTBF = Total operating time / (Number of failures - 1)

// Example for Server-001:
// Incident 1: Jan 5
// Incident 2: Jan 20
// Incident 3: Feb 10
// Time between: 15 days + 21 days = 36 days / 2 = 18 days MTBF

MTBF の目標ベンチマーク:

サービス階層目標 MTBF
Tier 1(重大)> 30 日
Tier 2(重要)> 14 日
Tier 3(標準)> 7 日
ステップ 3:解決率を計算する

初回問い合わせ解決率(FCR):

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: state=6^resolved_atONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)^reassignment_count=0
  fields: sys_id,number
  limit: 1000
Total Resolved (Last 30 Days): Query count of all resolved incidents
FCR Count: Query count with reassignment_count=0
FCR Rate = (FCR Count / Total Resolved) * 100

再オープン率:

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: reopen_count>0^sys_created_onONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,number,reopen_count
  limit: 500
Reopen Rate = (Incidents with reopen_count > 0 / Total Resolved) * 100
Target: < 5%
ステップ 4:インシデント件数の指標

インシデント総件数:

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: sys_created_onONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,priority,category,state
  limit: 5000

優先度別の件数: 結果を処理して、優先度フィールドごとに件数をカウントします。

バックログ分析:

Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: active=true^state!=6^state!=7
  fields: sys_id,priority,sys_created_on,assigned_to
  limit: 1000
Backlog Metrics:
- Total Open: Count of active incidents
- Aging > 7 days: Filter by sys_created_on
- Unassigned: Filter by assigned_toISEMPTY
ステップ 5:変更成功率

完了した変更をクエリする:

Tool: SN-Query-Table
Parameters:
  table_name: change_request
  query: state=3^closed_atONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,number,close_code,type
  limit: 500

クローズコード分析:

クローズコードカテゴリ
successful成功
successful_issues問題ありで成功
unsuccessful失敗
cancelledキャンセル
Change Success Rate = (Successful + Successful with Issues) / (Total - Cancelled) * 100
Target: > 95%
ステップ 6:問題管理の指標

作成された問題と解決された問題:

Tool: SN-Query-Table
Parameters:
  table_name: problem
  query: sys_created_onONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,number,state,known_error,first_reported_by_task
  limit: 200

既知のエラーデータベース(KEDB)の増加:

Tool: SN-Query-Table
Parameters:
  table_name: problem
  query: known_error=true
  fields: sys_id,number,sys_created_on
  limit: 500
ステップ 7:顧客満足度(CSAT)

ServiceNow のアンケートを使用する場合:

Tool: SN-Query-Table
Parameters:
  table_name: asmt_assessment_instance
  query: metric_type.nameSTARTSWITHIncident^sys_created_onONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,state,percent_answered
  limit: 500
ステップ 8:集計レポートデータを生成する

GlideAggregate パターンを使用する場合(バックグラウンドスクリプト経由):

Tool: SN-Execute-Background-Script
Parameters:
  script: |
    var ga = new GlideAggregate('incident');
    ga.addQuery('sys_created_on', '>=', gs.daysAgo(30));
    ga.addAggregate('COUNT');
    ga.addAggregate('COUNT', 'priority');
    ga.groupBy('priority');
    ga.query();

    var results = [];
    while (ga.next()) {
      results.push({
        priority: ga.getValue('priority'),
        count: ga.getAggregate('COUNT')
      });
    }
    gs.info('Priority Distribution: ' + JSON.stringify(results));
  description: Aggregate incident counts by priority

ツールの使用方法

MCP ツールのリファレンス
ツール使用する場面
SN-Query-Table指標データのクエリに使用する主要ツール
SN-Natural-Language-Search迅速な分析情報を得るための自然言語クエリ
SN-Execute-Background-ScriptGlideAggregate を使用した複雑な集計
REST API リファレンス
エンドポイントメソッド用途
/api/now/table/incidentGETインシデントデータのクエリ
/api/now/table/change_requestGET変更データのクエリ
/api/now/table/problemGET問題データのクエリ
/api/now/stats/{table}GET統計の集計
指標に必要な主なフィールド
指標ソーステーブル主なフィールド
MTTRincidentsys_created_on, resolved_at
FCRincidentreassignment_count
再オープン率incidentreopen_count
変更成功change_requestclose_code, state
MTBFincidentcmdb_ci, sys_created_on

ベストプラクティス

  • 一貫した期間: 比較には常に同じ期間を使用してください(30日間を推奨)
  • 業務カレンダー: 業務時間を測定する場合は、週末や祝日を除外してください
  • まずはベースラインを設定: 目標を設定する前に、ベースラインを確立してください
  • データをセグメント化: 優先度、カテゴリ、チーム別に分類し、実行可能なインサイトを得てください
  • 収集を自動化: ダッシュボードを更新するため、定期的なデータ取得をスケジュールしてください
  • ITIL に準拠: KPI を ITIL の継続的サービス改善(CSI)に合わせてください

トラブルシューティング

「MTTR が高すぎるようです」

原因: 一時停止中の時間や営業時間外を含めている 解決策: 利用可能な場合は business_duration フィールドを使用するか、業務スケジュールでフィルタリングしてください

「解決件数がレポートと一致しません」

原因: 使用している日付フィールドが異なる(resolved_at と closed_at、sys_updated_on) 解決策: 解決指標には resolved_at を使用するよう統一してください

「MTBF の計算でエラーが発生します」

原因: インシデントが 1 件の CI では MTBF を計算できない 解決策: インシデントが 2 件以上ある CI に絞り込み、インシデントが 1 件の CI には「N/A」を使用してください

「変更成功率が非常に低いです」

原因: キャンセルされた変更を失敗として数えている 解決策: 合計から state=cancelled を除外し、closed の変更のみを数えてください

例

例 1:週次エグゼクティブサマリー

目的: 週次の IT パフォーマンスサマリーを作成する

実行するクエリ:

  1. インシデント件数:
Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: sys_created_onONLast 7 days@javascript:gs.daysAgoStart(7)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,priority
  limit: 500
  1. 解決済みインシデント:
Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: resolved_atONLast 7 days@javascript:gs.daysAgoStart(7)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,sys_created_on,resolved_at,priority
  limit: 500
  1. 現在のバックログ:
Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: active=true
  fields: sys_id,priority,sys_created_on
  limit: 500

出力レポート:

=== WEEKLY IT PERFORMANCE SUMMARY ===
Week Ending: [Date]

INCIDENT MANAGEMENT:
| Metric | This Week | Last Week | Change |
|--------|-----------|-----------|--------|
| Created | 145 | 132 | +10% |
| Resolved | 152 | 140 | +9% |
| Backlog | 48 | 55 | -13% |
| MTTR (hours) | 14.2 | 15.8 | -10% |

PRIORITY BREAKDOWN:
| Priority | Created | Resolved | Backlog |
|----------|---------|----------|---------|
| P1 | 3 | 4 | 1 |
| P2 | 22 | 25 | 8 |
| P3 | 78 | 80 | 25 |
| P4 | 42 | 43 | 14 |

KEY HIGHLIGHTS:
- MTTR improved by 10% (14.2 hours vs 15.8 hours)
- Backlog reduced by 13% (48 vs 55)
- P1 incidents: 3 created, all resolved or in progress

ITEMS REQUIRING ATTENTION:
- None - all metrics within target
例 2:月次 KPI ダッシュボードデータ

目的: 月次ダッシュボード用のすべての KPI を作成する

すべてのクエリを並行して実行:

// Query 1: Total Incidents
Tool: SN-Query-Table
Parameters:
  table_name: incident
  query: sys_created_onONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,priority,category,state,reassignment_count,reopen_count,sys_created_on,resolved_at
  limit: 2000

// Query 2: Changes
Tool: SN-Query-Table
Parameters:
  table_name: change_request
  query: sys_created_onONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,type,close_code,state
  limit: 500

// Query 3: Problems
Tool: SN-Query-Table
Parameters:
  table_name: problem
  query: sys_created_onONLast 30 days@javascript:gs.daysAgoStart(30)@javascript:gs.daysAgoEnd(0)
  fields: sys_id,state,known_error
  limit: 200

計算済みダッシュボードデータ:

{
  "period": "2024-01-01 to 2024-01-31",
  "incident_management": {
    "total_created": 612,
    "total_resolved": 598,
    "mttr_hours": 14.5,
    "mttr_by_priority": {
      "P1": 3.2,
      "P2": 7.8,
      "P3": 18.4,
      "P4": 48.2
    },
    "fcr_rate": 72.5,
    "reopen_rate": 3.2,
    "backlog": 52
  },
  "change_management": {
    "total_changes": 89,
    "success_rate": 97.8,
    "by_type": {
      "standard": 45,
      "normal": 38,
      "emergency": 6
    }
  },
  "problem_management": {
    "problems_created": 12,
    "problems_resolved": 8,
    "known_errors_added": 5
  },
  "trends": {
    "incident_volume_change": "+5%",
    "mttr_change": "-8%",
    "backlog_change": "-12%"
  }
}
例 3:取締役会向けサマリー

目的: 取締役会でのプレゼンテーション用の概要サマリー

=== IT SERVICE MANAGEMENT - BOARD SUMMARY ===
Period: Q4 2024

EXECUTIVE SUMMARY:
IT Service Management delivered 97% SLA compliance in Q4,
exceeding the 95% target. Major incident count reduced by
25% compared to Q3.

KEY PERFORMANCE INDICATORS:
                          Q4 2024   Q3 2024   Target   Status
Service Availability       99.8%     99.5%    99.5%    PASS
SLA Compliance             97.0%     94.2%    95.0%    PASS
MTTR (hours)               12.4      15.2     16.0     PASS
Change Success Rate        98.2%     96.8%    95.0%    PASS
Customer Satisfaction      4.2/5     4.0/5    4.0/5    PASS
Major Incidents            3         4        <5       PASS

YEAR-OVER-YEAR COMPARISON:
| Metric | 2024 | 2023 | Improvement |
|--------|------|------|-------------|
| Total Incidents | 7,245 | 8,102 | -11% |
| MTTR | 13.2 hrs | 18.4 hrs | -28% |
| SLA Compliance | 96.5% | 92.1% | +4.4% |

INVESTMENTS & OUTCOMES:
- AI-powered triage: 15% reduction in assignment time
- Self-service portal: 22% ticket deflection
- Automation: 400+ hours saved monthly

RISKS & MITIGATIONS:
- Aging infrastructure causing 30% of P1 incidents
  Mitigation: Data center refresh approved for Q2 2025

関連スキル

  • reporting/sla-analysis - SLA パフォーマンスの詳細な追跡
  • reporting/trend-analysis - インシデントの傾向とパターン
  • itsm/incident-lifecycle - インシデント管理全般
  • itsm/problem-analysis - 問題管理の指標

参考資料

コメント