workspace-insights について
ServiceNow Workplace Service Delivery(WSD)のデータ分析を扱うスキルです。施設管理者やオフィス計画担当者向けに、スペース利用、予約、施設リクエスト、SLA、傾向を分析し、実行可能なレポートにまとめます。
主な機能
- 01ビルとスペースの利用率分析
- 02予約と無断キャンセルの傾向把握
- 03施設リクエストとSLA遵守状況の確認
- 04傾向比較とインサイトレポート作成
活用シーン
- 01オフィス再編に向けたスペース利用の評価
- 02フリーアドレス席と会議室の配分最適化
- 03施設リクエストとSLA実績の確認
- 04不動産判断に向けた月次分析の作成
MCP 対応
SN-Query-Table、SN-Get-Record、SN-Natural-Language-Searchを使って、WSDのスペース、予約、サービスリクエストのデータを取得する方法を説明します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ happy-technologies-llc/ happy-platform-skills --skill workspace-insightsインストール後、Claude Code で/workspace-insightsを入力して読み込まれたか確認します。
詳細
Workplace Service Delivery のインサイト
概要
このスキルでは、ServiceNow の Workplace Service Delivery(WSD)に関するインサイトと分析を生成します。
- 建物、フロア、ゾーン全体のスペース利用率を分析します
- スペース割り当てを最適化するため、デスクと部屋の予約パターンを追跡します
- ファシリティ管理のサービスリクエスト件数、カテゴリ、SLA 遵守状況を監視します
- 容量計画に向けて、利用のピーク期間と利用率の低いスペースを特定します
- 傾向分析を含むファシリティ管理 KPI ダッシュボードを生成します
- 職場環境の最適化に向けた実用的な提案を作成します
使用する場面: 職場のスペース効率を確認する場合、オフィスの再構成を計画する場合、ファシリティサービスの提供状況を分析する場合、ホットデスク戦略を最適化する場合、不動産に関する意思決定に向けて職場分析を準備する場合に使用します。
前提条件
- ロール:
wsd_admin、facility_manager、admin、またはworkspace_admin - プラグイン:
com.snc.workplace_service_delivery(Workplace Service Delivery)、com.snc.facility_management(Facility Management)を推奨 - アクセス権:
wsd_space、wsd_reservation、wsd_floor、wsd_building、fm_facility_request、sc_req_itemテーブルへの読み取りアクセス権 - データ: 予約データとセンサーデータを備えたアクティブな職場スペース
- 関連スキル: ダッシュボードの作成には
reporting/executive-dashboard、傾向分析にはreporting/trend-analysis
手順
ステップ 1:建物とフロアのインベントリを取得する
利用可能なワークスペースインベントリの基準値を設定します。
MCP アプローチ:
Tool: SN-Query-Table
Parameters:
table_name: wsd_building
query: active=true
fields: sys_id,name,location,total_floors,total_capacity,address,time_zone,operational_status
limit: 50
Tool: SN-Query-Table
Parameters:
table_name: wsd_floor
query: building=[BUILDING_SYS_ID]^active=true
fields: sys_id,name,building,floor_number,total_spaces,available_spaces,floor_plan
limit: 20
REST アプローチ:
GET /api/now/table/wsd_building
?sysparm_query=active=true
&sysparm_fields=sys_id,name,location,total_floors,total_capacity,address,time_zone,operational_status
&sysparm_display_value=true
GET /api/now/table/wsd_floor
?sysparm_query=building=[BUILDING_SYS_ID]^active=true
&sysparm_fields=sys_id,name,building,floor_number,total_spaces,available_spaces
&sysparm_display_value=true
ステップ 2:スペース利用率を分析する
スペースレコードを照会して、利用率の指標を算出します。
MCP アプローチ:
Tool: SN-Query-Table
Parameters:
table_name: wsd_space
query: floor.building=[BUILDING_SYS_ID]^active=true
fields: sys_id,name,space_type,capacity,floor,is_reservable,status,amenities
limit: 500
スペースの種類の分類:
| スペースの種類 | 標準的な収容人数 | 予約可能 | 主な指標 |
|---|---|---|---|
| デスク | 1 | はい | 利用率、予約頻度 |
| 会議室 | 2-20 | はい | 予約率、無断キャンセル率、平均利用時間 |
| 電話ブース | 1 | はい | 利用率、ピーク時間 |
| コラボレーションゾーン | 4-12 | 場合による | 通行量、利用時間 |
| ホットデスク | 1 | はい | 日次予約率、ユーザーの多様性 |
| 個室オフィス | 1-2 | いいえ | 割り当てと実際の在席状況の比較 |
ステップ 3:予約パターンを分析する
予約データを照会して、利用パターンを特定します。
MCP アプローチ:
Tool: SN-Query-Table
Parameters:
table_name: wsd_reservation
query: space.floor.building=[BUILDING_SYS_ID]^start_date>=javascript:gs.daysAgo(30)^ORDERBYstart_date
fields: sys_id,space,user,start_date,end_date,state,check_in_time,check_out_time,no_show,duration
limit: 2000
REST アプローチ:
GET /api/now/table/wsd_reservation
?sysparm_query=space.floor.building=[BUILDING_SYS_ID]^start_date>=javascript:gs.daysAgo(30)
&sysparm_fields=sys_id,space,user,start_date,end_date,state,check_in_time,check_out_time,no_show,duration
&sysparm_limit=2000
&sysparm_display_value=true
算出する主な指標:
| 指標 | 計算式 | 目標 |
|---|---|---|
| 予約率 | 予約済み時間 / 利用可能時間 | >60% |
| 無断キャンセル率 | 無断キャンセルされた予約 / 予約総数 | <15% |
| ピーク時利用率 | 同時予約数の最大値 / 総収容数 | 傾向を追跡 |
| 平均予約時間 | 利用時間の合計 / 予約件数 | 種類によって異なる |
| 週あたりのユニークユーザー数 | 週ごとの予約ユーザーの重複を除いた人数 | 増加を追跡 |
| 予約リードタイム | 作成から開始までの平均日数 | 通常は1-3日 |
ステップ 4:ピーク時とオフピーク時のパターンを特定する
容量計画に向けて、時間帯別の利用パターンを分析します。
MCP アプローチ:
Tool: SN-Query-Table
Parameters:
table_name: wsd_reservation
query: space.floor.building=[BUILDING_SYS_ID]^start_date>=javascript:gs.daysAgo(30)^state=completed
fields: start_date,end_date,space.space_type,space.floor
limit: 5000
曜日と時間ごとに集計して、ヒートマップを作成します。
=== UTILIZATION HEATMAP ===
Building: [name]
Period: Last 30 days
Mon Tue Wed Thu Fri
08:00 35% 42% 68% 55% 28%
09:00 62% 71% 88% 78% 45%
10:00 78% 85% 95% 89% 52%
11:00 82% 88% 97% 91% 48%
12:00 45% 52% 60% 55% 30%
13:00 70% 78% 92% 82% 42%
14:00 75% 82% 90% 85% 38%
15:00 68% 72% 85% 78% 32%
16:00 45% 50% 62% 52% 22%
17:00 20% 25% 30% 25% 10%
PEAK: Wednesday 11:00 (97%)
LOW: Friday 17:00 (10%)
ステップ 5:ファシリティサービスリクエストを分析する
ファシリティ管理のリクエストパターンを確認します。
MCP アプローチ:
Tool: SN-Query-Table
Parameters:
table_name: fm_facility_request
query: sys_created_on>=javascript:gs.daysAgo(30)
fields: sys_id,number,category,subcategory,priority,state,location,assignment_group,opened_at,closed_at,close_code
limit: 500
REST アプローチ:
GET /api/now/table/fm_facility_request
?sysparm_query=sys_created_on>=javascript:gs.daysAgo(30)
&sysparm_fields=sys_id,number,category,subcategory,priority,state,location,assignment_group,opened_at,closed_at,close_code
&sysparm_limit=500
&sysparm_display_value=true
ステップ 6:ファシリティサービスの SLA 遵守状況を確認する
サービス提供の実績を SLA 目標と照らし合わせて測定します。
MCP アプローチ:
Tool: SN-Query-Table
Parameters:
table_name: task_sla
query: task.sys_class_name=fm_facility_request^sys_created_on>=javascript:gs.daysAgo(30)
fields: sys_id,task,sla,stage,has_breached,planned_end_time,percentage,business_percentage
limit: 500
SLA 指標を算出します。
| SLA カテゴリ | 合計 | 達成 | 未達 | 遵守率 |
|---|---|---|---|---|
| 清掃 | [n] | [n] | [n] | [%] |
| メンテナンス | [n] | [n] | [n] | [%] |
| HVAC | [n] | [n] | [n] | [%] |
| セキュリティ | [n] | [n] | [n] | [%] |
ステップ 7:職場のインシデントを分析する
施設関連のインシデントを確認し、繰り返し発生する問題を特定します。
MCP アプローチ:
Tool: SN-Query-Table
Parameters:
table_name: incident
query: category=facilities^sys_created_on>=javascript:gs.daysAgo(30)
fields: sys_id,number,short_description,category,subcategory,priority,state,location,assignment_group,opened_at,resolved_at
limit: 200
ステップ 8:職場インサイトレポートを生成する
すべての分析結果をまとめ、実用的なインサイトレポートを作成します。
=== WORKPLACE SERVICE DELIVERY INSIGHTS ===
Report Period: [start_date] - [end_date]
Scope: [Building/Campus/All Locations]
SPACE INVENTORY:
Buildings: [count] | Floors: [count] | Total Spaces: [count]
Desks: [count] | Meeting Rooms: [count] | Phone Booths: [count]
UTILIZATION SUMMARY:
Overall Space Utilization: [%]
Desks: [%] | Meeting Rooms: [%] | Phone Booths: [%]
Peak Day: [day] ([%]) | Lowest Day: [day] ([%])
Peak Hour: [time] ([%]) | Lowest Hour: [time] ([%])
BOOKING ANALYTICS:
Total Reservations (30 days): [count]
Unique Users: [count]
Avg Daily Bookings: [count]
No-Show Rate: [%] ([count] no-shows)
Avg Booking Duration: [hours]
Most Popular Spaces: [list top 5]
Least Used Spaces: [list bottom 5]
FACILITY SERVICE METRICS:
Total Requests (30 days): [count]
Open: [count] | In Progress: [count] | Closed: [count]
Avg Resolution Time: [hours/days]
SLA Compliance: [%]
TOP REQUEST CATEGORIES:
| Category | Volume | Avg Resolution | SLA Met |
|----------|--------|---------------|---------|
| [category] | [count] | [time] | [%] |
FACILITY INCIDENTS:
Total: [count] | Recurring: [count]
Top Issues: [list]
RECOMMENDATIONS:
1. [Space optimization recommendation based on utilization data]
2. [No-show reduction strategy based on booking patterns]
3. [Service improvement recommendation based on SLA data]
4. [Capacity planning recommendation based on peak analysis]
5. [Cost optimization based on underutilized spaces]
ステップ 9:デスク予約の分析を生成する
フリーアドレスとデスク予約の指標を詳しく分析します。
MCP のアプローチ:
Tool: SN-Query-Table
Parameters:
table_name: wsd_reservation
query: space.space_type=desk^start_date>=javascript:gs.daysAgo(30)
fields: sys_id,space,user,start_date,state,no_show,space.floor,space.floor.building
limit: 2000
=== DESK BOOKING ANALYTICS ===
Total Desk Reservations: [count]
Unique Desk Users: [count]
Avg Desks Booked/Day: [count] of [total] ([%])
USER PATTERNS:
- Regular Bookers (>3x/week): [count] users
- Occasional (1-2x/week): [count] users
- Rare (<1x/week): [count] users
FLOOR-LEVEL BREAKDOWN:
| Floor | Desks | Avg Utilization | No-Show Rate |
|-------|-------|----------------|--------------|
| [floor] | [count] | [%] | [%] |
NO-SHOW ANALYSIS:
Total No-Shows: [count] ([%] of bookings)
Cost of No-Shows: ~$[estimated wasted space cost]
Top No-Show Times: [pattern]
Recommendation: [auto-release policy suggestion]
ステップ 10:傾向分析を生成する
現在の期間の指標を過去の期間と比較します。
=== TREND ANALYSIS ===
Metric Comparison: Current Month vs Previous Month
| Metric | Previous | Current | Change |
|--------|----------|---------|--------|
| Overall Utilization | [%] | [%] | [+/-]% |
| Daily Bookings | [avg] | [avg] | [+/-]% |
| No-Show Rate | [%] | [%] | [+/-]% |
| Facility Requests | [count] | [count] | [+/-]% |
| SLA Compliance | [%] | [%] | [+/-]% |
| Unique Users | [count] | [count] | [+/-]% |
TRENDS:
- Space utilization [increasing/decreasing/stable] over past 3 months
- [Day] consistently the busiest day ([%] avg utilization)
- Meeting room demand [exceeding/meeting/below] capacity
- Facility service SLA compliance [improving/declining]
ツールの使用方法
| ツール | 目的 | 使用するタイミング |
|---|---|---|
| SN-Query-Table | スペース、予約、リクエストのデータを取得する | 主なデータ収集 |
| SN-Get-Record | 特定の建物またはスペースの詳細を取得する | 詳細なレコードの確認 |
| SN-Natural-Language-Search | 説明からスペースやリクエストを検索する | 探索的な検索 |
ベストプラクティス
- 有意義な利用パターンを把握するため、少なくとも30日分のデータを分析します
- 指標の偏りを避けるため、利用率の計算から祝日や休業日を除外します
- スペースの種類ごとに分類します -- デスク、会議室、ブースでは利用率の基準が異なります
- 無断キャンセルの分析を含めます -- フリーアドレス環境では、無断キャンセルによる無駄が大きくなります
- 従業員数との相関を確認します -- 利用率は総収容人数ではなく、実際の従業員数を基準に測定する必要があります
- ハイブリッド勤務のパターンを考慮します -- ハイブリッド環境では通常、月曜日と金曜日の利用率が低くなります
- 経時的な傾向を追跡します -- ある時点の指標よりも傾向のほうが有用です
- コストの観点を含めます -- 低利用率による影響を金額に換算し、関係者に示します
- アメニティを考慮します -- 通常、アメニティが充実したスペースほど利用率が高くなります
- 拠点間で比較します -- 類似した建物を比較して、ベストプラクティスを特定します
トラブルシューティング
| 問題 | 原因 | 解決方法 |
|---|---|---|
| 予約データが見つからない | WSD モジュールが設定されていない、または予約が別のテーブルにある | wsd_reservation または sn_wsd_rsv_reservation が有効なテーブルか確認します |
| 利用率が低すぎるように見える | 予約不可のスペースが計算に含まれている | is_reservable=true のスペースだけに絞り込みます |
| 無断キャンセルのデータが追跡されていない | チェックイン機能が有効になっていない | スペースの予約でチェックインを有効にします。無断キャンセルの検出にはチェックインが必要です |
| 施設リクエストが見つからない | リクエストが fm_facility_request ではなく sc_req_item にある可能性がある | cat_item.category=facilities を指定して sc_req_item をクエリします |
| SLA データを利用できない | 施設リクエストに SLA が設定されていない | fm_facility_request テーブルに SLA 定義があることを確認します |
| 建物データが不完全 | ロケーション階層が完全に設定されていない | cmn_location レコードと、建物・フロア・スペース間の関係を確認します |
例
例 1:不動産チーム向け月次ワークプレイスレポート
シナリオ: 不動産計画向けに、月次のスペース利用率レポートを生成します。
Tool: SN-Query-Table
Parameters:
table_name: wsd_reservation
query: start_date>=javascript:gs.beginningOfLastMonth()^start_dateONLast month@javascript:gs.beginningOfLastMonth()@javascript:gs.endOfLastMonth()
fields: space,user,start_date,state,no_show,space.space_type,space.floor.building
limit: 5000
出力:
MONTHLY WORKPLACE REPORT - February 2026
Headquarters Campus
Overall Utilization: 67% (up from 61% in January)
Peak Day: Wednesday at 89% capacity
Underutilized Floors: Building B, Floors 4-5 (32% avg)
RECOMMENDATION: Consolidate Building B floors 4-5 to reduce
leased space by 15,000 sq ft. Estimated annual savings: $450K.
例 2:施設サービスのパフォーマンスレビュー
シナリオ: 施設サービスの提供状況を示す四半期ごとのスコアカードを生成します。
FACILITY SERVICES SCORECARD - Q1 2026
Total Requests: 1,247
SLA Compliance: 94.2% (target: 95%)
BY CATEGORY:
- Cleaning: 412 requests, 97% SLA met
- Maintenance: 298 requests, 91% SLA met (BELOW TARGET)
- HVAC: 187 requests, 93% SLA met
- Security: 156 requests, 98% SLA met
- Other: 194 requests, 92% SLA met
ACTION: Maintenance SLA below target due to parts procurement delays.
Recommend pre-stocking common replacement parts at each building.
関連スキル
reporting/executive-dashboard- ワークプレイス指標のエグゼクティブダッシュボードを構築しますreporting/trend-analysis- 施設データの高度な傾向分析reporting/sla-analysis- SLA 遵守状況の詳細な分析admin/instance-management- WSD モジュールのインスタンス設定