動的スケジューリングの設定
動的スケジューリングでは、事前定義されたルールと構成に基づいて、フィールドエージェントに自動的にタスクをアサインできます。この機能は、適切なタスクが最適なエージェントにアサインされていることを確認し、移動時間、スキルの一致、およびタスクの優先順位を最適化することで、タスクの配分を簡素化するのに役立ちます。
始める前に
- 優先タスク割り当て方法として動的スケジューリングを選択します。これにより、事前定義された基準とルールに基づいて、タスクがフィールドエージェントに自動的にアサインされることが確認されます。詳細については、「 タスク割り当て方法」を参照してください。
- 動的スケジューリングによって最適なタスク割り当てが体系的に検証されるように、エージェントのスケジュールを設定します。詳細については、「動的スケジューリングのエージェントスケジュールの設定」を参照してください。
- 動的スケジューリングに関連するプロパティとその他のインストール済みコンポーネントを確認します。組織の特定の要件に合わせて設定をカスタマイズします。詳細については、「 動的スケジューリングのシステムプロパティとコンポーネントの確認」を参照してください。
- 確認して移動時間と距離の計算を設定し、エージェントのタスクの場所までの推定移動時間と距離をシステムで計算する方法を決定します。Google Maps API を使用してリアルタイムの移動距離を見積もるか、位置情報管理プロパティの設定に基づいて直線距離で見積もるかを選択できます。
- [
移動時間の推定に Google Maps API を使用する] 位置情報管理プロパティが有効になっている場合は、Google Maps API を使用するか、直線距離での見積もりを使用するかを選択します。 - [
移動時間の推定に Google Maps API を使用する] 位置情報管理プロパティがオフになっている場合、システムは作業指示タスクの [予定移動期間] フィールドの値を考慮します。
- [
必要なロール:admin
このタスクについて
作業指示構成の動的スケジューリング構成 は、動的スケジューリングプラグインで使用できます。必要に応じて構成を変更することも、テンプレートとして使用してカスタム構成を作成することもできます。手順
タスクの結果
動的スケジューリングは、定義されたルールとスケジュールに基づいて、フィールドエージェントにタスクを自動的にアサインします。
動的スケジューリングのタスクフィルターの作成
タスクフィルターを使用すると、動的スケジューリングを使用してタスクを選択し、最適なエージェントにアサインするための基準を定義できます。
始める前に
必要なロール:admin
このタスクについて
タスクフィルターは、タスクを最適なエージェントにアサインする方法を絞り込むのに役立ちます。動的スケジューリングプラグインによって提供されるデフォルトのフィルターを使用することも、組織固有のニーズに合わせたカスタムフィルターを作成することもできます。
動的スケジューリングを自動割り当ておよび即時割り当てと組み合わせると、タスク割り当てに柔軟性がもたらされます。タスクは、構成に応じて、即座に、またはスケジュールされた間隔でアサインできます。
| 自動アサイン | 即時アサイン | 結果 |
|---|---|---|
| 有効 | 有効 | 動的スケジューリングは即座に実行され、フィールドエージェントにタスクが自動的にアサインされます。 |
| 有効 | 無効 | 動的スケジューリングが実行され、スケジュール済みバッチにタスクが追加されます。タスクは定期的にエージェントにアサインされます。 |
| 無効 | 無効 | ディスパッチャーは手動で動的スケジューリングをトリガーし、タスクはアサイン前に確認のために返送されます。 |
手順
タスクの結果
(Criteria_1_rating * Criteria_1_weight) / total_criterion_weight +
(Criteria_2_rating * Criteria_2_weight) / total_criterion_weight +
(Criteria_3_rating * Criteria_3_weight) / total_criterion_weight = agent_rank/score次のタスク
タスクを割り当てるための一致基準
動的スケジューリングでは、スキルや可用性などの構成可能な一致基準を使用して、選択したグループ内のエージェントを評価し、総合ランキングを提示できます。
- 簡易一致:エージェントのタイムゾーンとタスク場所のタイムゾーンの一致など、1 対 1 の一致を作成します。
- アグリゲート:シンプルなクエリーを使用し、アグリゲート結果を返します。アグリゲートタイプでは、テーブルを選択してフィルターを作成し、[担当者] フィールドなどのアグリゲートフィールドを選択します。このタイプのクエリーは、一連のユーザーを返します。
- スクリプト化:ユーザーのリストを返すスクリプト化されたクエリーを使用します。
| クライテリア | 説明 | タイプ | 適用先 [テーブル] |
|---|---|---|---|
| ほとんどの部品を持つエージェント | 動的スケジューリングを使用して、必要な部品の数が最も多いエージェントを特定します。 | スクリプト化済み | タスク |
| アサインされたケース | アサインされたすべてのケース (すべての優先度 P1、P2、P3 など) に基づいて作業負荷を計算します。エージェントの総合ランクは、アサインされたケースが多いほど低下します。アサインされているケースが多いほど、エージェントの総合ランクへの貢献度は低くなります。 | 集計 | sn_customerservice_case |
| 今日の可用性 | スケジュール、重複するタイムゾーン、および現在の時刻に基づいて可用性を判断します。可用性は、エージェントの作業スケジュールと個人の休暇に基づいて計算されます。エージェントの可用性が高いほど、エージェントの総合ランクへの貢献度が高くなります。 | スクリプト化済み | タスク |
| SM タスクの一貫したアサイン | 同じ親作業指示書を持つ作業指示書タスクを同じエージェントにアサインします。一致するすべてのエージェント間でアサインの一貫性を確保します。 | スクリプト化済み | sm_task |
| タスクからの現在の距離 | タスクの場所からのエージェントの距離を考慮します。 | スクリプト化済み | タスク |
| タスクからの距離 | タスクの場所からエージェントの距離を評価します。 | スクリプト化済み | タスク |
| 半径を除外したタスクからの距離 | 定義された半径外のエージェントを除いて、ジョブを実行する最も近い場所に基づいてエージェントをランク付けします。 | スクリプト化済み | タスク |
| シフト外のエージェントを除外 | スケジュールに基づいて対応できないエージェント、または休暇イベントがあるエージェントを除外します。 | スクリプト化済み | wm_task |
| 除外された技術者を無視 | 除外された技術者が特定のアカウントに関連付けられた作業指示タスクに自動的にアサインされないようにします。除外された技術者は、技術者が除外されたアカウントに作業指示タスクが関連付けられている場合、アサインされません。 | スクリプト化済み | wm_task |
| 却下された技術者を無視 | 同じタスクを最近却下した技術者へのタスクの再アサインを回避します。システムプロパティ work.management.rejected.technician.duration は、技術者がタスクを却下してから、そのタスクを同じ技術者に自動的に再アサインできるようになるまでの期間を決定します。 | スクリプト化済み | wm_task |
| 前回のアサイン日時 | 作業負荷のバランスを取るために、最後にアサインされた作業に基づいてエージェントに優先順位を付けます。アサインされた作業のバランスを調整するために、最後にアサインされた作業に基づいてエージェントに優先順位を付けました。 | スクリプト化済み | タスク |
| 動的スケジューリングの一致する必須部品 | 必須の部品を持つエージェントのみをアサインする。ジョブに必要な必須部品の可用性に基づいてエージェントをランク付けします。 | スクリプト化済み | タスク |
| 動的スケジューリングの一致する必須スキル | タスクに必要な必須スキルと [タスクスキル] で定義されたオプションスキルが利用可能かどうかに基づいて、エージェントをランク付けします。一致するスキルが多いほど、エージェントの総合ランクへの貢献度が高くなります。 注: 必須スキル機能を使用する場合は、[一致するスキル - 必須スキルサポート] 基準を使用して、ケースに対して特定された必須スキルを持つエージェントを一致させます。 |
スクリプト化済み | タスク |
| 合致するスキル | タスク要件に一致するスキルに基づいて可用性を評価します。一致するスキルが多いほど、エージェントのランクが上がります。 | スクリプト化済み | タスク |
| 動的スケジューリングの一致するスキルレベルギャップ | 「少ないほど良い」方式を使用して、スキルの数とスキルレベルに基づいてエージェントをランク付けします。タスクに対して過剰なスキルを持つエージェントよりも、十分なスキルレベルを持つエージェントを優先します。 | スクリプト化済み | タスク |
| 希望する技術者の優先順位付け | 顧客アカウントでの作業に最も適している技術者に基づいてタスクをアサインします。 | スクリプト化済み | wm_task |
| 半径の除外 | 半径外のエージェントを除いて、定義された半径に基づいてエージェントをランク付けします。 | スクリプト化済み | タスク |
| 希望する技術者のランク付け | 動的スケジューリングを使用して顧客アカウントで作業するのに最適な技術者を特定します。 | スクリプト化済み | タスク |
| タイムゾーンの重複 | タスクの場所とタイムゾーンの重複に基づいてエージェントをランク付けします。 | スクリプト化済み | タスク |
| 動的スケジューリングの一致する必須クルースキル 注: Crew Operations プラグイン (com.snc.fsm_crew_scheduling) をアクティブ化フィールドサービス必要があります。 |
クルータスクの必須スキルを、そのスキルを持つエージェントを持つクルーに一致させます。 | スクリプト化済み | wm_crew |
| 動的スケジューリングに対するクルーのスキルレベルギャップ 注: Crew Operations プラグイン (com.snc.fsm_crew_scheduling) をアクティブ化フィールドサービス必要があります。 |
クルータスクの必須スキルレベルを、必要なレベルのスキルを持つエージェントを持つクルーと一致させます。 | スクリプト化済み | wm_crew |
| クルーのスキルの合致 注: Crew Operations プラグイン (com.snc.fsm_crew_scheduling) をアクティブ化フィールドサービス必要があります。 |
作業指示タスクにリストされているスキルを持つクルーをマッチングし、そのクルーにタスクをアサインします。 | スクリプト化済み | wm_crew |
| タスクリソース要件に合致するクルースキル 注: Crew Operations プラグイン (com.snc.fsm_crew_scheduling) をアクティブ化フィールドサービス必要があります。 |
リソース要件にリストされているスキルを持つクルーをマッチングし、それらのリソース要件を持つタスクをそのクルーにアサインします。 | スクリプト化済み | wm_crew |
| タスクからのクルーの距離 注: Crew Operations プラグイン (com.snc.fsm_crew_scheduling) をアクティブ化フィールドサービス必要があります。 |
タスクの場所からのクルーの距離を評価します。 | スクリプト化済み | wm_crew |
| 動的スケジューリングのエージェント効率クライテリアの一致 注: フィールドサービス エージェント効率プラグイン (com.snc.fsm_agent_efficiency) を有効にする必要があります。 |
作業指示タスクで指定された エージェント効率 基準をエージェントの効率基準と照合することで、作業指示タスクをエージェントにアサインします。 | スクリプト化済み | wm_task |
- ランキングと表示使用率
- ランキング方法
- ランキングの重み付け
- しきい値
- アクティブ/非アクティブ
ランキングと表示使用率
- ランキングと表示:基準を使用してエージェントのランキングを決定し、ワークベンチの列に表示します。
- 表示専用:ワークベンチの列に基準を表示しますが、エージェントのランキングを決定するためには使用しません。
- ランキングのみ:基準を使用してエージェントランキングを決定しますが、ワークベンチには表示されません。
ランキング方法
- 多いほど良い:たとえば、エージェントのランキングを決定するときに、可用性が高いほどランキングが高くなります。
- 少ないほど良い:たとえば、エージェントのランキングを決定するときに、アサインされたケース数が少ないほどランキングが高くなります。
重み付け
一致基準ごとにアサインされた重み付けがあります。デフォルトでは、[ケースアサインの推奨事項] 一致ルールの一致基準にアサインされる重み付けは 10 です。より重要な基準により高い重み付けをアサインすることができます。
しきい値
しきい値は、基準の最小要件を設定します。たとえば、タスクに必要なスキルのうち 3 つ以上を持つエージェントのみを表示する場合は、一致するスキル基準のしきい値を 3 に設定します。可用性については、しきい値を目的の時間数に設定して、利用可能な作業時間がこの最小値以上であるエージェントのみを表示します。一致ルールフォームの [基準を選択] 関連リストでしきい値を設定することができます。必要に応じて、リストをパーソナライズして、[しきい値] 列を追加します。
アクティブ/非アクティブ
アサインワークベンチ構成を決定する一致ルールに関連付けられた一致基準が複数存在する場合があります。個々の基準をそれぞれ、アクティブまたは非アクティブに設定できます。この設定を変更すると、エージェントのランキングにすぐに影響します。この変更は、一致ルールフォームの [基準を選択] 関連リストで行うことができます。必要に応じて、リストをパーソナライズして、[アクティブ] 列を追加します。
エージェントのランキングの計算
- 各基準の数値を計算します。
- その数値に基準の重み付けを乗算します。
- 結果をすべての基準の合計で除算します。
- 各基準に対して繰り返し、結果を追加します。
- スキルと必須スキルサポートの一致:5/6
- 今日の可用性:7 時間
- アサインされたケース:2
- 一致するスキル:
2/3 = 0.666(3 がスキルの最大数) - 現在の可用性:
7 / 8 = 0.875(最大時間数は 8) - アサインされたケース:
2 / 26 = 0.0769(テーブル内のタスクの合計数は 26) - 重み付け:各一致基準の均等の重み付けは 10 です
((0.666 x 10) / Total of criterion weight (10+10+10)) + ((0.875 x 10) / Total of criterion weight (10+10+10)) + ((0.0769 x 10) / Total of criterion weight (10+10+10))(6.66 / 30) + (8.75 / 30) + (0.769 / 30)0.222 + 0.291 + 0.0256 = 0.53この計算は、アサイン先グループ内の各エージェントに対して実行されます。エージェントは、この計算の値に基づいてランク付けされ、最高点のエージェントが最高のランキングを獲得します。
タスク順序付けルールを作成する
動的スケジューリングでは、タスク順序付けルールを使用して、タスクに効果的に優先順位を付けて配置します。これらのルールにより、タスクが適切な順序で処理され、フィールドサービスオペレーションの簡素化に役立ちます。
始める前に
必要なロール:admin
このタスクについて
タスク順序付けルールを使用すると、スケジューリング中にタスクに優先順位を付ける方法を制御できます。ルールを定義することで、最も重要なタスクが最初に処理され、組織固有のニーズに基づいてタスクが順序付けられるようにすることができます。複数のルールを作成して実行順序に基づいて順番に適用できるため、最大限の柔軟性と精度が得られます。
- 実行順序:ルールは順番に評価され、実行値が最も小さいルールが優先されます。
- たとえば、緊急度 (P1、P2、P3) でタスクに優先順位を付けるルールを作成できます。
- 別のルールを適用して、同じ優先度のタスクを SLA 期日別に整理することができます。
- タスクの依存関係:タスクの依存関係は、適切なタスクフローを確保するためにタスクの順序付けルールを上書きできます。
- 先行タスクが再アサインされ、後続タスクがアサインされた場合、先行タスクは後続タスクが開始する前にスケジュールされます。
- 先行タスクがアサインされていない場合、後続タスクは未アサインのままになります。
- 先行タスクがアサインされている場合、後続タスクは先行タスクが完了するまで待機します。
- 先行タスクの優先度が低い場合、後続タスクは先行タスクがアサインされるまで待機します。
注:動的スケジューリングは、最大遅延時間または最小遅延時間のない [終了 - 開始] の高度なタスク依存関係のみをサポートします。他のタイプのタスク依存関係は無視されます。
- 簡易ルール
- タスクテーブルから選択した 1 つのフィールドに基づいてタスクをソートします。
- 昇順または降順のソート順を選択します。
- 詳細ルール
- 関連のない 2 つのテーブルからの選択に基づいてタスクをソートします。
- タスクテーブルと別のテーブルを接続するための参照フィールドが必要です。たとえば、タスク SLA テーブルに格納されている SLA に基づいて作業指示タスクをソートできます。
- 作業指示タスクの優先度:タスクの優先度を使用してタスクの順序を決定します。デフォルトの実行順序は 100 です。
- 作業指示の優先度:作業指示書全体の優先度を使用してタスクの順序を決定します。デフォルトの実行順序は 200 です。
- ヘルスケア:医療機器の重要度に基づいて、機器のメンテナンスタスクに優先順位を付けます。
- 製造:1時間あたりの機械ダウンタイムのコストでタスクをソートし、生産への影響を軽減します。
- 小売業: 高度なルールを使用して客足数に基づいてタスクに優先順位を付け、交通量の多い店舗が最初にサービスされるようにします。
- ユーティリティ:シンプルなルールで、重要なインフラストラクチャに影響を与える停電などの緊急タスクに優先順位を付けることができます。
手順
タスクの結果
動的スケジューリングでは、このルールを使用して、定義した基準に基づいてタスクに優先順位を付け、優先度の高いタスクが適切にスケジュールされるようにします。
次のタスク
タスクのアサイン解除制約を作成する
動的スケジューリングでは、優先度が低い場合でも特定のタスクがアサイン解除されないようにする未アサイン制約を定義できます。この機能により、依存関係や緊急度に基づいて重要なタスクがアサインされたままになります。
始める前に
必要なロール:admin
このタスクについて
アサイン解除制約は、タスクをアサイン解除できるタイミングとできないタイミングを制御するのに役立ち、重要なタスクがアサインされたままになるようにします。これにより、特にタスクに依存関係がある場合や時間的制約がある場合の中断が防止されます。たとえば、SLA 違反が近づいているタスクや、調達部品を必要とするタスクは、タスク順序付けルールでの相対的な優先度に関係なく、アサインを解除しないでください。
- 下流のタスク:タスクに依存する下流タスクがある場合、アサイン解除を防止します。
- 今後 5 時間以内に SLA に違反する見込み (Would breach SLA in the next 5 hours):タスクのサービスレベルアグリーメント (SLA) が 5 時間以内に期限切れになる場合、アサイン解除を防止します。
- 部品調達:タスクに必要な 1 つ以上の部品が既に調達されている場合に、アサイン解除を防止します。
動的スケジューリング構成でアサイン解除オプションを有効にすると、システムはタスクのアサインを解除し、より重要なタスク (タスク順序付けルールによって決定) を優先できます。ただし、アサイン解除制約により、タスクの優先度が低い場合でも、特定のタスクのアサインを解除できないことがあります。タスクが未アサインでダウンストリームタスクがある場合、ダウンストリームタスクもアサイン解除され、ディスパッチ待ちキューに追加されます。
- 医療:重要な医療機器のメンテナンスタスクが SLA 違反に近づくのを防ぎます。
- 製造:部品を調達したタスクのアサイン解除をブロックし、リソースが効率的に使用されるようにします。
- ユーティリティ:ダウンストリームの依存関係が関係している場合は、緊急修理タスクをアサインしたままにします。
手順
タスクの結果
この制約により、指定された条件に基づいてタスクのアサインが解除されるのを防ぎ、タスク順序付けルールに従ってタスクの重要度が低い場合でも、タスクのアサインが解除されないようにします。