Поділитися через


Як розрахувати показники розмови

Застосовується до: Dynamics 365 Contact Center – автономний і лише служба підтримки клієнтів Dynamics 365

Нотатка

Copilot Studio bot перейменовано на Copilot agent (агент або AI-агент). Human agent тепер перейменовано на customer service representative (представник служби або представник). Ви можете зіткнутися з посиланнями на старі та нові терміни, коли ми оновлюємо інтерфейс продукту, документацію та навчальний контент.

У цій статті наведено огляд показників розмови, доступних у службі підтримки клієнтів Dynamics 365 і які допоможуть вам проаналізувати ключові показники ефективності (KPI). Ці показники розмови можуть допомогти вам приймати стратегічні рішення, відстежувати продуктивність представника служби підтримки (представника або представника сервісу) та агента штучного інтелекту, а також підвищувати загальну задоволеність клієнтів.

У цій статті також наведено докладні вказівки щодо розрахунку ключових показників розмови. Використовуючи звіти Power BI та розрахунки Dataverse, ви можете отримати цінну інформацію про ефективність обслуговування клієнтів. Зрозумійте робочий процес розмови , щоб ефективно використовувати ці показники та покращувати операції з обслуговування клієнтів і прийняття рішень.

Докладніше про показники сеансів і представників служб.

Усього розмов

Застосовується до омніканальних інформаційних панелей у реальному часі та омніканальних історичних панелей.

Загальні розмови включають усі взаємодії, ініційовані клієнтами або представниками та залучені агентами, включно з тими, які можуть бути передані представникам сервісного центру. Це комплексний показник, який використовується для оцінки продуктивності та ефективності взаємодії з агентами.

Дізнайтеся більше в розділі "Стани розмови".

Запит DAX і довідник Dataverse

Наведений нижче запит Data Analysis Expression (DAX) і відповідні сутності Dataverse використовуються в семантичній моделі Power BI. Докладніше про запити DAX.

Запит DAX


Total conversations_FactConversation = CALCULATE(COUNTROWS(FactConversation))

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem
Атрибути - msdyn_channel. Канали в розмові.
- msdyn_ocliveworkitem.msdyn_channelinstanceid. Унікальний ідентифікатор для ідентифікації програми, до якої належить ця розмова. Дізнайтеся більше в msdyn_channelinstanceid.
Фільтри - Відфільтруйте таблицю FactConversations, щоб включити лише рядки з msdyn_ocliveworkitem.
- Переконайтеся, що msdyn_channel не дорівнює "192350000" і msdyn_channelinstanceid має значення NULL.

Усього розмов із ботом

Застосовується до омніканальних інформаційних панелей у реальному часі та омніканальних історичних панелей.

Загальна кількість розмов за вибраний період за участю Voice, IVR, чату або цифрових агентів за всіма статусами (активні та закриті розмови).

Загальна кількість розмов ботів = відхилені ботом розмови + ескаловані розмови ботом

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX

Bot conversations_FactSession=CALCULATE(DISTINCTCOUNT(FactSession[ConversationId_FS]))

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem, msdyn_ocsession та msdyn_ocsessionparticipantevent.
Атрибути - msdyn_ocsessionparticipantevent.msdyn_eventreason .
- msdyn_ocsessionparticipantevent.msdyn_eventtype
- msdyn_ocsession.msdyn_sessioncreatedon
- msdyn_ocsession.msdyn_канал
- msdyn_ocsession.msdyn_channelinstanceid
Фільтри - Відфільтруйте таблицю FactSession, щоб виключити записи з msdyn_ocsessionparticipantevent, де msdyn_eventreason має значення "192350001" (записи під час передавання).
- Включайте записи з msdyn_ocsessionparticipantevent, де msdyn_eventtype має значення "192350001" (проводити події).
- Виключайте сеанси з msdyn_ocsession, де msdyn_sessioncreatedon порожнє.
- Виключіть сеанси з msdyn_ocsession, де msdyn_channel має значення "192350000" (канал Entity Records).
- Виключити сеанси, де msdyn_channelinstanceid має значення NULL (SMS-фільтр).
  • Відхилені розмови бота: загальна кількість розмов бота, вирішених ботом без переадресації до представника служби. ​

  • Розмови з ботом: загальна кількість розмов бота, які були передані представнику сервісу.

Вхідні розмови

Застосовується до омніканальних інформаційних панелей у реальному часі та омніканальних історичних панелей.

Загальна кількість вхідних розмов, які представник сервісу отримав безпосередньо або ескалуються агентом штучного інтелекту.

На вкладці «Підсумок» багатоканальної інформаційної панелі в реальному часі вхідні розмови – це загальна кількість пропонованих розмов.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Incoming conversations_FactConversation = CALCULATE(DISTINCTCOUNTNOBLANK(FactConversation[ConversationId]), FactConversation[IsAgentInvolved] = "1",FactConversation[IsOutbound] <> "1“

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem
Атрибути - msdyn_ocliveworkitem.msdyn_isoutbound
- msdyn_ocliveworkitem.msdyn_канал
- msdyn_ocliveworkitem.msdyn_channelinstanceid
- systemuser.msdyn_botapplicationid
Фільтри - Встановіть для параметра IsOutbound значення msdyn_ocliveworkitem.msdyn_isoutbound.
- Відфільтруйте таблицю FactConversations, щоб включити лише рядки з msdyn_ocliveworkitem.
- Переконайтеся, що msdyn_channel не дорівнює "192350000" і msdyn_channelinstanceid має значення NULL.
- Визначте, чи бере участь агент, перевіривши, чи є хоча б одна сесія, де IsAgentSession відповідає дійсності.
- IsAgentSession встановлено на true, якщо systemuser.msdyn_botapplicationid не null.
  • Вихідні розмови: загальна кількість вихідних розмов, ініційованих представником клієнта.
  • Представник прямого сервісу: загальна кількість розмов через будь-який канал (голосовий або цифровий), яка включає як відкриті, активні, так і закриті розмови як для вхідного, так і для вихідного трафіку, безпосередньо від представника без участі голосу або агента.

Поточні розмови

Застосовується до омніканальних історичних інформаційних панелей.

Загальна кількість вихідних бесід, ініційованих представником із замовником.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Outgoing conversations = ​CALCULATE (​DISTINCTCOUNTNOBLANK ( FactConversation[ConversationId] ),​ FactConversation [IsOutbound] = "1")​

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem
Атрибути - msdyn_ocliveworkitem.msdyn_канал
- msdyn_ocliveworkitem.msdyn_channelinstanceid
- msdyn_conversationtopic_conversation.msdyn_conversationid
- msdyn_ocliveworkitem.msdyn_isoutbound
Фільтри - Відфільтруйте таблицю FactConversations, щоб включити лише рядки з msdyn_ocliveworkitem.
- Переконайтеся, що msdyn_channel не дорівнює "192350000" і msdyn_channelinstanceid має значення NULL. Для conversationid встановлено значення msdyn_conversationtopic_conversation.msdyn_conversationid.
- Для IsOutbound встановлено значення msdyn_ocliveworkitem.msdyn_isoutbound.
  • Вхідні розмови: кількість вхідних розмов, спрямованих представникам служби.
  • Представник прямого сервісу: загальна кількість розмов через будь-який канал (голосовий або цифровий), яка включає як відкриті, активні, так і закриті розмови як для вхідного, так і для вихідного трафіку, безпосередньо від представника без участі голосу або агента.

Загальна кількість оброблених розмов

Застосовується до омніканальних історичних інформаційних панелей.

Зацікавлена бесіда – це взаємодія, в якій беруть активну участь як клієнт, так і представник. Залученість вимірюється з моменту прийняття розмови представником.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


IsEngaged = CALCULATE(TRUE(),FactConversation[IsOffered], FactConversation[IsAgentAccepted] = "1")

Елемент Значення
Сутності Dataverse - msdyn_ocliveworkitem
- Користувач системи
- msdyn_sessionparticipantevent
Атрибути - systemuser.msdyn_botapplicationid
- msdyn_sessionparticipant.msdyn_joinedon
- msdyn_ocliveworkitem.msdyn_канал
- msdyn_ocliveworkitem.msdyn_channelinstanceid
Фільтри - Відфільтруйте таблицю FactConversations, щоб виключити рядки, де msdyn_channel дорівнює "192350000", а msdyn_channelinstanceid має значення NULL.
- IsAgentEngage використовується, якщо є принаймні одна сесія з встановленим IsAgentSession як true.
- IsAgentSession встановлено на true, якщо systemuser.msdyn_botapplicationid не null.
- IsAgentAcceptedSession встановлюється наступним чином: якщо systemuser.msdyn_botapplicationid порожнє або NULL, а msdyn_sessionparticipant.msdyn_joinedon не порожнє, то IsAgentAcceptedSession дорівнює 1. В іншому випадку це 0.

Покинуті розмови

Застосовується до багатоканальних інформаційних панелей у реальному часі.

Від розмови можна відмовитися з кількох причин. Наприклад, клієнт може бути відключений або скасувати дзвінок через тривалий період очікування, керівники можуть примусово закривати запити або автоматичні дії системи можуть бути налаштовані для обробки переповнення. Відмовлені розмови можуть призвести до невдоволення клієнтів. Високий рівень відмов вимагає подальшого вивчення операційних показників, таких як доступність представників служби та розподіл черги.

Якщо AI-агент або IVR обробляє клієнта, перш ніж передати запит представнику сервісу, цей показник є кількістю розмов, які були перервані, поки клієнти чекали на представника служби після того, як AI-агент перевищив запит. Якщо розмову припинено до того, як її можна буде призначити агента штучного інтелекту, система вважає розмову припиненою.

Якщо розмова призначена безпосередньо в чергу представника сервісу, цей показник розраховується як кількість вхідних розмов, які були покинуті. Напрямок бесіди - Вхідний. Канали, через які відбувалася розмова, – це обмін повідомленнями та голосовий зв’язок .

Запит DAX і довідник Dataverse

Запит DAX


Abandoned conversations = ​SUMX(FactConversation, IF (FactConversation[IsAbandoned] && FactConversation[StatusCode] == 4 && FactConversation[DirectionCode],1,0)) 

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem, msdyn_liveworkstream
Атрибути - msdyn_ocliveworkitem.msdyn_isagentsession
- msdyn_ocliveworkitem.msdyn_channelinstanceid
- msdyn_liveworkstream.msdyn_streamsource
- msdyn_ocliveworkitem.msdyn_isabandoned
- msdyn_ocliveworkitem.статускод
- msdyn_ocliveworkitem.msdyn_isoutbound
Фільтри - msdyn_ocliveworkitem.msdyn_isagentsession встановлено на 1.
- Відфільтруйте таблицю FactConversations, щоб включити лише рядки з msdyn_ocliveworkitem, де msdyn_channelinstanceid має значення NULL.
- Виключіть рядки, у яких msdyn_liveworkstream.msdyn_streamsource не дорівнює '192350000'.
- msdyn_ocliveworkitem.msdyn_isabandoned дорівнює 1.
- msdyn_ocliveworkitem.statuscode — 4.
- Isoutbound базується на msdyn_ocliveworkitem.msdyn_isoutbound не дорівнює 1.

Час першого очікування розмови

Застосовується до омніканальної інформаційної панелі в реальному часі.

Час першого очікування розмови – це показник часу в секундах, перш ніж представник служби відповість на запит клієнта. Він являє собою кількість часу, який клієнт витрачає на очікування першої відповіді від представника сервісу. Такі фактори, як доступність представника сервісу, велика кількість запитів і збільшення часу обробки, можуть вплинути на час очікування клієнта. Коротший час очікування вказує на швидше вирішення проблем і кращий досвід підтримки.

Якщо агент штучного інтелекту або IVR обробляє клієнта, перш ніж передати питання представнику сервісу, розрахунок базується на часі між моментом, коли агент AI або IVR передає вхідну розмову представнику сервісу, і моментом, коли представник служби приймає розмову. Якщо клієнт відмовляється від розмови, розрахунок проводиться на основі часу між моментом, коли AI-агент або IVR передає розмову представнику сервісу, і моментом, коли клієнт розриває розмову.

Якщо клієнт безпосередньо доходить до черги представника сервісу, розрахунок базується на часі між моментом, коли клієнт створює заявку, і моментом, коли представник служби приймає розмову. Якщо клієнт відмовляється від розмови, розрахунок проводиться на основі часу між моментом, коли клієнт створює заявку, і моментом, коли клієнт відключає розмову.

Цей показник доступний у двох форматах: секунди та гг:хх:сс.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Conversation first wait time (sec) =​

SUMX (FactConversation, IF (NOT FactConversation[DirectionCode], FactConversation[ConversationFirstWaitTimeInSeconds],BLANK ()))

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem
Атрибути - msdyn_firstwaitstartedon
- msdyn_isagentaccepted
- msdyn_isoutbound
Фільтри - msdyn_ocliveworkitem. isagentaccepted дорівнює 1.
- msdyn_ocliveworkitem.msdyn_isoutbound != 1
  • Середній час очікування першої розмови: середній час очікування першої розмови – це загальний час очікування клієнтів у черзі, поділений на загальну кількість оброблених розмов.
  • Найдовший час очікування: найдовший час очікування – це показник найдовшого часу першого очікування серед неприйнятих вхідних розмов.
  • Розмови в черзі: кількість розмов, які очікують на призначення або прийняття розмови представником служби.

За допомогою показників часу очікування сеансу можна розрахувати час, витрачений клієнтами в окремих чергах, коли їх переводять від одного представника служби до іншого.

Середній час очікування першої розмови

Застосовується до омніканальної історичної інформаційної панелі.

Середній час очікування першої розмови – це загальний час очікування в черзі, поділений на кількість оброблених розмов.

Запит DAX і довідник Dataverse

Запит DAX


Avg. conversation first wait time (sec) =​

    AVERAGEX(FactConversation, IF(NOT FactConversation[DirectionCode],  FactConversation[ConversationFirstWaitTimeInSeconds],BLANK() ))

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem
Атрибути - msdyn_firstwaitstartedon
- msdyn_isagentaccepted
- msdyn_isoutbound
Фільтри - msdyn_ocliveworkitem.isagentaccepted — 1.
- msdyn_ocliveworkitem.msdyn_isoutbound != 1

Середня швидкість відповіді

Застосовується до багатоканальних інформаційних панелей у реальному часі та історичних панелі.

Середня швидкість відповіді вимірює, наскільки швидко команда сервісу реагує на запити клієнтів. Це загальний час очікування в черзі (після переходу розмови від агента штучного інтелекту до представника сервісу), поділений на кількість оброблених розмов. Нижча середня швидкість відповіді вказує на швидше вирішення проблем і кращий клієнтський досвід.

Для розмови з агентом штучного інтелекту цей показник вимірює час з моменту, коли агент ШІ переносить вхідну розмову, до моменту, коли представник служби приймає її.

Якщо бесіда потрапляє безпосередньо в чергу представника служби, цей показник вимірює час від моменту створення запиту до моменту, коли представник приймає розмову.

Цей показник доступний у двох форматах: секунди та гг:хх:сс.

  • Рівень сервісу (10 секунд): відсоток розмов з клієнтами, в яких швидкість відповіді становить менше або дорівнює 10 секундам. Розрахунок аналогічний для 20, 30, 40, 60 і 120 секунд.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Avg. speed to answer (sec)_FactConversation = ​

CALCULATE (AVERAGE( FactConversation[SpeedToAnswerTime] ),​

    FactConversation[StatusId] = "4",​

    FactConversation[IsAgentAccepted] = "1")​

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem
Атрибути - msdyn_channel
- msdyn_channelinstanceid
- код статусу
Фільтри - Відфільтруйте таблицю FactConversations, щоб включити лише рядки, у яких msdyn_channel не дорівнює "192350000" і msdyn_channelinstanceid має значення NULL.
- msdyn_isagentaccepted дорівнює 1
- msdyn_ocliveworkitem.statuscode встановлено на 4

Час обробки розмови

Застосовується до багатоканальних інформаційних панелей у реальному часі.

Conversation handle time – це час, який представники сервісу витрачають на активну допомогу клієнтам та вирішення їхніх проблем. Система агрегує час, який кілька представників служби витрачають на обробку переданої їм розмови. Цей показник також включає час, який представники служби витрачають на підбиття підсумків розмови після відключення клієнта, і час, витрачений на оновлення нотаток або контактних даних. Не враховується час, який профільні експерти або інші представники служби витрачають на консультації з приводу бесіди.

Для чату та цифрових повідомлень представник служби активно працює над бесідою, якщо вона відкрита в робочій області служби Copilot або програмі робочої області Contact Service. Під час обробки кількох розмов у розрахунку часу дескриптора враховується лише час, витрачений на відкриту вкладку.

Для голосового звіту цей показник – це сума загального часу розмови, загального часу очікування та загального часу активного завершення роботи або роботи після дзвінка, поділена на кількість оброблених дзвінків, де:

Скріншот середнього часу ручки для голосу.

Для звіту "Чат " цей показник – це сума часу активного чату та часу завершення активності, поділена на кількість оброблених чатів, де:

Скріншот середнього часу обробки цифрових повідомлень і чату.

Цей показник можна переглядати у двох форматах: секунди та гг:хх:сс.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Conversation handle time (sec) = SUM(FactConversation[ConversationHandleTimeInSeconds])

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem, msdyn_conversationhandletimeinseconds
- Для голосу: msdyn_sessionparticipant.msdyn_talktime + msdyn_sessionparticipant.msdyn_holdtime + msdyn_sessionparticipant.msdyn_activewrapuptime
- Для чату: msdyn_sessionparticipant.msdyn_activetime + msdyn_sessionparticipant.msdyn_activewrapuptime
Атрибути - msdyn_ocliveworkitem.msdyn_isagentsession
- msdyn_ocliveworkitem.msdyn_channelinstanceid
- msdyn_liveworkstream.msdyn_streamsource
- msdyn_ocliveworkitem.msdyn_conversationhandletimeinseconds.
Фільтри - Відфільтруйте таблицю FactConversations, щоб включити лише рядки, у яких msdyn_isagentsession дорівнює 1.
- Переконайтеся, що msdyn_channelinstanceid має значення NULL.
- Виключіть рядки, де msdyn_streamsource має значення "192350000".
- ConversationHandleTimeInSeconds отримується з msdyn_conversationhandletimeinseconds.

Середній час розмови

Застосовується до омніканальних інформаційних панелей у реальному часі та омніканальних історичних панелей.

Середня тривалість одиничної взаємодії з клієнтом. Цей показник відображає загальний час дескриптора, поділений на кількість оброблених розмов. Дізнайтеся більше про голосові розмови та розмови в чаті в розділі Час керування бесідами.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Avg. handle time (min) = CALCULATE(AVERAGE(FactConversation[HandleTime]) / 60.00, FactConversation[StatusId] = "4", FactConversation[IsAgentAccepted]="1")

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem, msdyn_conversationhandletimeinseconds
- Для голосу: msdyn_sessionparticipant.msdyn_talktime + msdyn_sessionparticipant.msdyn_holdtime + msdyn_sessionparticipant.msdyn_activewrapuptime
- Для чату: msdyn_sessionparticipant.msdyn_activetime + msdyn_sessionparticipant.msdyn_activewrapuptime
Атрибути - msdyn_ocliveworkitem.статускод
Фільтри - Для Fact Session використовуйте наступні фільтри:
- Виключити записи з таблиці msdyn_ocsessionparticipantevent, де msdyn_eventreason має значення "192350001" (записи під час передавання). Включайте записи з таблиці msdyn_ocsessionparticipantevent, де msdyn_eventtype має значення "192350001" (утримувати події). Виключити сеанси з таблиці msdyn_ocsession, де msdyn_sessioncreatedon порожнє, а msdyn_channel має значення "192350000" (канал "Записи сутностей"). Включайте сеанси, де msdyn_channelinstanceid має значення NULL (SMS-фільтр). ConversationStatusId має значення '4'. ConversationIsAgentAccepted дорівнює '1'
- Для ActiveTimeInSeconds використовуйте наступний фільтр: якщо ActiveTimeInSeconds порожній, встановіть для нього значення '0'.
- Для IsAgentAccepted в DAX використовуйте наступний фільтр: якщо IsAgentAcceptedSession порожній, встановіть для нього значення '0'.
- Для IsAgentAcceptedSession у DAX зверніться до наступних сутностей DV: Якщо systemuser.msdyn_botapplicationid порожнє або NULL і msdyn_sessionparticipant.msdyn_joinedon не порожнє, встановіть для IsAgentAcceptedSession значення 1. В іншому випадку встановіть для параметра IsAgentAcceptedSession значення 0.

Середній час утримання розмови

Застосовується до омніканальних інформаційних панелей у реальному часі та омніканальних історичних панелей.

Середній час утримання однієї розмови в секундах. Якщо розмову здійснювали кілька представників служби, час очікування всіх представників служби підсумовується. Цей показник розраховується шляхом ділення загального часу утримання всіх розмов на загальну кількість оброблених розмов.

Є кілька причин, через які представник сервісу може поставити клієнта на паузу. Наприклад, представнику служби може знадобитися зібрати більше інформації або дослідити проблему, виконати завдання, які не потребують взаємодії (наприклад, ввести дані в систему) або працювати над завданням в автономному режимі. Тривала затримка може спричинити розчарування клієнтів і призвести до погіршення якості обслуговування клієнтів.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Avg. conversation hold time (min) = AVERAGE(FactConversation[HoldTime])/60.00

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem
Атрибути - msdyn_eventstarttime
- msdyn_eventendtime
- msdyn_channel
- msdyn_channelinstanceid
Фільтри Відфільтруйте таблицю FactConversations, щоб включити лише рядки, у яких msdyn_channel не дорівнює "192350000" і msdyn_channelinstanceid має значення NULL (SMS-фільтр). Час утримання розраховується на основі тривалості від msdyn_eventstarttime до msdyn_eventendtime

Середній час розмови в розмові

Застосовується до омніканальних інформаційних панелей у реальному часі та омніканальних історичних панелей.

Середній час, у секундах, який представники сервісу витрачають на активне спілкування з клієнтами по телефону для голосових розмов. Якщо розмову здійснювали кілька представників служби, час розмови в розмові підсумовується для всіх представників служби. Цей показник розраховується шляхом ділення загального часу розмови за всіма запитами клієнтів на загальну кількість оброблених розмов.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Avg. conversation talk time (min) = AVERAGE(FactConversation[TalkTime])/60.00

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem
Атрибути - msdyn_eventstarttime
- msdyn_eventendtime
- msdyn_channel
- msdyn_channelinstanceid
Фільтри - Відфільтруйте таблицю FactConversations, щоб включити лише рядки, у яких msdyn_channel не дорівнює "192350000" і msdyn_channelinstanceid має значення NULL (фільтр SMS).
- Час розмови розраховується на основі тривалості між msdyn_eventstarttime і msdyn_eventendtime. Якщо HoldTime має значення NULL, то TalkTime дорівнює ActiveTimeInSeconds. Якщо HoldTime не має значення NULL, а ActiveTimeInSeconds не має значення NULL, то TalkTime дорівнює ActiveTimeInSeconds мінус HoldTime. Якщо жодна з наведених вище умов не виконується, то для TalkTime встановлюється значення 0.
  • Час розмови: час розмови в розмові розраховується на основі загального часу розмови в усіх розмовах.

Середній час розмови

Застосовується до омніканальних інформаційних панелей у реальному часі та омніканальних історичних панелей.

Середній час, в секундах, який клієнт проводить з представником сервісу, включаючи час очікування.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Avg. conversation time (min) = ​ 
IF (​

    //If filtered by Conversation status and status is not Closed, show blank​

    ISFILTERED (FactConversation[StatusId] ) && SELECTEDVALUE ( FactConversation[StatusId] ) <> "4",BLANK (),CALCULATE (AVERAGE ( FactConversation[_ConversationTime] ),​

FactConversation[IsOffered],FactConversation[StatusId] = "4”))

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem
Атрибути - msdyn_closedon
- msdyn_createdon
- msdyn_channel
- msdyn_channelinstanceid
Фільтри - Відфільтруйте таблицю FactConversations, щоб включити лише рядки, у яких msdyn_channel не дорівнює "192350000" і msdyn_channelinstanceid має значення NULL.
- msdyn_ocliveworkitem.statuscode встановлено на 4.
- Для параметра IsAgentSession встановлено значення true. IsAgentEngagement використовується, якщо є принаймні одна сесія з встановленим IsAgentSession як true.
- ConversationTimeInSeconds розраховується на основі тривалості від msdyn_closedon до msdyn_createdon.
- IsAgentAcceptedSession встановлюється наступним чином: If systemuser.msdyn_botapplicationid порожнє або NULL.
  • Час розмови: час розмови – це час з моменту, коли клієнт починає робити запит, і до того, як представник служби підтримки завершить розмову.

Середній час підбиття підсумків розмови

Застосовується до омніканальних інформаційних панелей у реальному часі та омніканальних історичних панелей.

Середній час завершення розмови – це показник середнього часу, який представник служби обслуговування витрачає на виконання будь-яких необхідних завдань після відключення клієнта. Ці завдання можуть включати документування розмови, оновлення нотаток або оновлення інформації про клієнта. Цей показник вимірює час від початку підбиття підсумків до моменту, коли представник служби завершує розмову. Якщо розмову вели кілька представників, зараховується лише час завершення виступу останнього представника.

Цей показник можна переглядати у двох форматах: секунди та гг:хх:сс.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Avg. conversation wrap-up time (min) = ​

IF (//If filtered by Conversation status and status is not Closed, show blank​

ISFILTERED ( FactConversation[StatusId] )​

&&SELECTEDVALUE(FactConversation[StatusId] ) <> "4",BLANK (), CALCULATE(DIVIDE(IF(SUM (FactConversation[_WrapupTime] ) = BLANK(),0,SUM(FactConversation[_WrapupTime])),COUNTROWS (FactConversation),​

BLANK ()), FactConversation[IsOffered],​

FactConversation[IsAgentAccepted] = "1"))

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem
Атрибути - msdyn_closedon
- msdyn_createdon
- msdyn_channel
- msdyn_channelinstanceid
Фільтри - Відфільтруйте таблицю FactConversations, щоб включити лише рядки, у яких msdyn_channel не дорівнює "192350000" і msdyn_channelinstanceid має значення NULL.
- msdyn_ocliveworkitem.statuscode не встановлено на 4.
- Для параметра IsAgentSession встановлено значення true. IsAgentEngagement використовується, якщо є принаймні одна сесія з встановленим IsAgentSession як true.
- IsAgentAcceptedSession встановлюється наступним чином: If systemuser.msdyn_botapplicationid порожнє або NULL.

Активні розмови в очікуванні прийняття представником служби

Застосовується до багатоканальних інформаційних панелей у реальному часі.

Кількість розмов з призначеними представниками сервісу та клієнтами, які очікують на прийняття та приєднання представника сервісу до розмови. Розмови повертаються до стану Відкрито, якщо представник служби відхиляє запит.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX

Active conversations awaiting agent acceptance =​

SUMX (FactConversation,​

        IF (FactConversation[statuscode] = 2​

&& (FactConversation[StatusChangeReason]== 192350002 || FactConversation[StateReason] == "Agent assigned, awaiting acceptance"),1,0 ))

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem
Атрибути - msdyn_ocliveworkitem.msdyn_statuschangeпричина
- msdyn_ocliveworkitem.msdyn_statereason
- msdyn_ocliveworkitem.статускод
Фільтри - msdyn_ocliveworkitem.msdyn_statuschangereason = 192350002 (AwaitingAgentAcceptance) або msdyn_ocliveworkitem.msdyn_statereason = Агент призначено, очікує прийняття
-msdyn_ocliveworkitem.statuscode встановлено на 2.

Активні бесіди з представником сервісу про прийняття

Застосовується до багатоканальних інформаційних панелей у реальному часі.

Загальна кількість активних розмов представників служби. Включає бесіди, які були доручені представнику служби, прийняті та активно залучені представником. Включає всі вхідні та вихідні розмови в усіх каналах (цифровому, голосовому та інцидентах).

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Active conversations with agent acceptance =​

    SUMX (FactConversation,​

        IF (FactConversation[statuscode] = 2&& (FactConversation[StatusChangeReason] == 192350003 ||FactConversation[StateReason] == "In conversation"), 1, 0 ))​

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem
Атрибути - msdyn_ocliveworkitem.msdyn_statuschangeпричина
- msdyn_ocliveworkitem.msdyn_statereason
- msdyn_ocliveworkitem.статускод
Фільтри - msdyn_ocliveworkitem.msdyn_statuschangereason = 192350003 (InConversation) або msdyn_ocliveworkitem.msdyn_statereason = "У розмові".
- msdyn_ocliveworkitem.statuscode встановлено на 2.

Розмови в очікуванні

Застосовується до багатоканальних інформаційних панелей у реальному часі.

Кількість розмов, які в цей момент перебувають у стані очікування.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Waiting conversations =​

    SUMX ( FactConversation, IF ( FactConversation[statuscode] == 3, 1, 0 ) )

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem
Атрибути msdyn_ocliveworkitem.статускод
Фільтри msdyn_ocliveworkitem.statuscode встановлено на 3.

Підсумкові бесіди

Застосовується до багатоканальних інформаційних панелей у реальному часі.

Підсумкові бесіди – це кількість розмов, які наразі перебувають у стані Підсумок.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Wrap-up conversations = SUMX ( FactConversation, IF ( FactConversation[statuscode] == 5, 1, 0 ) ) 

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem
Атрибути msdyn_ocliveworkitem.статускод
Фільтри msdyn_ocliveworkitem.statuscode встановлено на 3.
  • Агенти в завершальних бесідах: кількість представників, які ведуть розмови, які перебувають у стані завершення.

Коефіцієнт переривання

Застосовується до омніканальних інформаційних панелей у реальному часі та омніканальних історичних панелей.

Показник відмов – це відсоток вхідних запитів на розмову, які припиняються до того, як представник почне взаємодіяти з клієнтом. Це може статися як у репрезентативних сценаріях, так і в сценаріях з використанням ШІ. Розрізняють два основних типи:

  • Відмова від виконання завдання: клієнт залишає компанію до того, як його призначили представнику.
  • Залишено після призначення: клієнт призначається представнику, але розриває зв'язок до того, як представник прийме розмову.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Abandon rate_FactConversation = ​

var abandoned = CALCULATE(FactConversation[Incoming conversations_FactConversation], FactConversation[IsOffered], NOT FactConversation[IsAgentAccepted])​

var source = FactConversation[Incoming conversations_FactConversation]​

var rate = DIVIDE(abandoned, source, 0)​

return​

IF(ISBLANK(rate), 0, rate)​

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem, systemuser
Атрибути - msdyn_ocliveworkitem.msdyn_channelinstanceid
- msdyn_ocliveworkitem.msdyn_канал
- msdyn_ocliveworkitem.msdyn_isoutbound
- systemuser.msdyn_botapplicationid
Фільтри - Відфільтруйте таблицю FactConversations, щоб включити лише рядки, де msdyn_channelinstanceid має значення NULL.
- Виключити рядки, де msdyn_channel є'192350000, які мають принаймні один [systemuser.msdyn_botapplicationid != null ]
- Напрямок визначається msdyn_isoutbound і не задається 1.

Середній час відмови (сек)

Застосовується до багатоканальних інформаційних панелей у реальному часі.

Середній час відмови (сек) показує, скільки в середньому часу клієнт чекає, перш ніж припинити розмову, перш ніж його з'єднають із представником. Цей показник фіксує середню тривалість (у секундах).

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Avg. time to abandon (sec) = ​AVERAGEX (FactConversation, IF (FactConversation[IsAbandoned] && FactConversation[StatusCode] == 4 && NOT FactConversation[DirectionCode], DATEDIFF(FactConversation[FirstWaitStartedOn], FactConversation[ClosedOn], SECOND),BLANK ()))

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem, msdyn_liveworkstream
Атрибути - msdyn_ocliveworkitem.msdyn_statuscode
- msdyn_liveworkstream.msdyn_isabandoned
- msdyn_ocliveworkitem.msdyn_isoutbound
- msdyn_ocliveworkitem.msdyn_firstwaitstartedon msdyn_ocliveworkitem.msdyn_closedon
Фільтри - Відфільтруйте таблицю FactConversations, щоб включити лише рядки, де код статусу дорівнює 4, msdyn_isabandoned встановлено значення 1.
- Напрямок визначається msdyn_isoutbound і не встановлюється на 1. Середній час до відмови (сек) визначається різницею в датах між msdyn_ocliveworkitem.msdyn_firstwaitstartedon та msdyn_ocliveworkitem.msdyn_closedon

Середній час активності розмови

Застосовується до омніканальних історичних інформаційних панелей.

Середній час активності бесіди – це фактичний час, витрачений оператором на активне ведення розмови за допомогою чату або голосового зв'язку протягом усіх сеансів. Пасивні тривалості, такі як час очікування або неактивний час завершення, не враховуються.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Avg. conversation active time (min) = CALCULATE(AVERAGE(FactConversation[ActiveTimeInSeconds]) / 60.00, FactConversation[StatusId] = "4", FactConversation[IsAgentAccepted]="1")

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem, msdyn_sessionparticipant
Атрибути - msdyn_ocliveworkitem.msdyn_channelinstanceid
- msdyn_ocliveworkitem.msdyn_канал
- msdyn_ocliveworkitem.статускод
- msdyn_sessionparticipant.msdyn_joinedon
Фільтри - Відфільтруйте таблицю FactConversations, щоб включити лише рядки, де msdyn_channelinstanceid має значення NULL.
- Виключіть рядки, де msdyn_channel має значення '192350000' .
- Включіть код msdyn_ocliveworkitem.status, встановлений на 4.
- ActiveTimeInMinutes обчислюється за допомогою набору msdyn_sessionparticipant.msdyn_joinedon множини 1. ​

Середній час неактивності розмови (хв)

Застосовується до омніканальних історичних інформаційних панелей.

Цей показник – це середній проміжок часу під час розмови, коли оператор не активно взаємодіє з клієнтом. Це особливо актуально в чаті та цифрових каналах обміну повідомленнями, де агенти часто обробляють кілька сеансів одночасно. Неактивний час – це час, коли розмова відкрита, але оператор не зосереджений на ній – або через те, що перейшов на інший сеанс, або через те, що не взаємодіє з клієнтом.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Avg. conversation inactive time (min) = CALCULATE(AVERAGE(FactConversation[InActiveTimeInSeconds]) / 60.00, FactConversation[StatusId] = "4", FactConversation[IsAgentAccepted]="1")

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem, msdyn_sessionparticipant
Атрибути - msdyn_ocliveworkitem.msdyn_channelinstanceid
- msdyn_ocliveworkitem.msdyn_канал
- msdyn_ocliveworkitem.msdyn_statuscode
- msdyn_sessionparticipant.msdyn_joinedon
- msdyn_sessionparticipant.msdyn_inactivetime
Фільтри - Відфільтруйте таблицю FactConversations, щоб включити лише рядки, де msdyn_channelinstanceid має значення NULL.
- Виключіть рядки, де msdyn_channel має значення '192350000' .
- Включіть код msdyn_ocliveworkitem.status, встановлений на 4.
- InactiveTimeInSeconds обчислюється за допомогою msdyn_sessionparticipant.msdyn_inactivetime, а isAgentAccepted встановлено як 1 або msdyn_sessionparticipant.msdyn_joinedon. ​

Середній час першої відповіді

Застосовується до омніканальних інформаційних панелей у реальному часі та омніканальних історичних панелей.

Середній час першої відповіді вимірює, наскільки швидко оператори визнають клієнтів або починають взаємодіяти з ними. Він вимірюється в секундах або хвилинах і використовується для оцінки ефективності початкового взаємодії.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Avg. time for first response (min) = ​CALCULATE (AVERAGE (FactConversation[FirstResponseTime] ) / 60.00,FactConversation[IsOutbound] <> "1")

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem
Атрибути - msdyn_ocliveworkitem.msdyn_channelinstanceid
- msdyn_ocliveworkitem.msdyn_канал
Фільтри - Відфільтруйте таблицю FactConversations, щоб включити лише рядки, де msdyn_channelinstanceid має значення NULL.
- Виключіть рядки, де msdyn_channel має значення "192350000".
- msdyn_ocliveworkitem.msdyn_isoutbound не встановлено на 1.

Коефіцієнт передавання

Застосовується до омніканальних історичних інформаційних панелей.

Під коефіцієнтом переказу мається на увазі відсоток розмов з клієнтами, які передаються від одного представника до іншого, агента до живого представника або одного відділу чи черги до іншого. Цей показник виражається у відсотках від загальної кількості розмов.

Швидкість переказу (%) = (кількість переданих розмов / загальна кількість розмов) × 100

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


Transfer rate_FactConversation = var rate = CALCULATE(FactConversation[_TransferedConversationCount]
/ FactConversation[Totalconversations_FactConversation], FactConversation[StatusId] = "4", FactConversation[IsAgentAccepted] = "1") return
IF(ISBLANk(rate) && NOT(ISBLANK([Total
conversations_FactConversation])), 0, rate)

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem, msdyn_sessionparticipant, systemuser
Атрибути - msdyn_ocliveworkitem.msdyn_channelinstanceid
- msdyn_ocliveworkitem.msdyn_канал
- msdyn_ocliveworkitem.статускод
- msdyn_ocliveworkite.msdyn_transfercount msdyn_sessionparticipant.msdyn_joinedon
- systemuser.msdyn_botapplicationid
Фільтри - Відфільтруйте таблицю FactConversations, щоб включити лише рядки, у яких msdyn_channelinstanceid має значення NULL.
- Виключіть рядки, де msdyn_channel має значення "192350000".
- Включіть код msdyn_ocliveworkitem.status, встановлений на 4.
- Переконайтеся, що systemuser.msdyn_botapplicationid ТА msdyn_sessionparticipant.msdyn_joinedon не має значення null.
- IsAgentAcceptedSession встановлюється наступним чином: якщо systemuser.msdyn_botapplicationid порожнє або NULL, а msdyn_sessionparticipant.msdyn_joinedon не порожнє, то IsAgentAcceptedSession дорівнює 1. В іншому випадку його 0.
-Швидкість переказу визначається за допомогою msdyn_ocliveworkitem.msdyn_transfercount > 0.

Підрахунок розмов на переказ

Застосовується до омніканальних історичних інформаційних панелей.

Кількість розмов про передачу – це кількість розмов, переданих від одного представника до іншого, представника до черги, представника до номера ТМЗК або користувача Teams.

Запит DAX і довідник Dataverse

Наступний запит DAX і відповідні сутності Dataverse використовуються в семантичній моделі Power BI.

Запит DAX


TransferedConversationCount = CALCULATE(COUNTROWS(FactConversation), FactConversation[TransferCount] >0)

Елемент Значення
Сутності Dataverse msdyn_ocliveworkitem
Атрибути - msdyn_ocliveworkitem.msdyn_channelinstanceid
- msdyn_ocliveworkitem.msdyn_канал
- msdyn_ocliveworkite.msdyn_transfercount
Фільтри - Відфільтруйте таблицю FactConversations, щоб включити лише рядки, у яких msdyn_channelinstanceid має значення NULL.
- Виключіть рядки, де msdyn_channel має значення "192350000".
- Кількість переказів визначається за допомогою msdyn_ocliveworkite.msdyn_transfercount > 0. ​