·16 daq·3 ko'rish

BPO va autsorsing call-markazlari uchun Asterisk analitikasi: to‘liq qo‘llanma

Autsorsing rejimidagi Asterisk call-markazi uchun ko‘p mijozli analitikani qanday qurish kerak. SLA nazorati, avtomatik mijoz hisobotlari, operatorlar bahosi.

A
Astervis
Muhandislar va product jamoasi

Asterisk'da ishlaydigan har bir BPO bir xil ko'zga tashlanmaydigan muammoga duch keladi: mijozlaringiz SLA ko'rsatkichlariga rioya qilayotganingizni isbotlashni talab qiladi, operatsion menejeringizga barcha kampaniyalar bo'yicha real vaqtdagi ko'rinish kerak, operatorlaringiz esa o'z natijalari haqida darhol qaytish kutadi. Shunga qaramay, ko'pchilik BPO hanuz kun oxiridagi Excel jadvallariga yoki 200 soat sarflab yig'ilgan Grafana dashboardlariga tayanadi.

Ushbu qo'llanmada autsorsing rejimida ishlaydigan Asterisk call-markazi uchun analitika infratuzilmasini qanday qurish kerakligi bosqichma-bosqich ko'rsatilgan — har bir mijoz bo'yicha SLA nazoratidan tortib avtomatik mijoz hisobotlari, operatorlar samaradorligini baholash va daromadni optimallashtirishgacha.

BPO analitikasi ichki call-markazdan nimasi bilan farq qiladi

Ichki call-markaz bitta tashkilot uchun ko'rsatkichlarni hisoblaydi. BPO esa bir vaqtning o'zida bir nechta mijoz bilan ishlaydi va ularning har birida quyidagilar boshqacha:

JihatIchki call-markazBPO
SLA maqsadlariBitta maqsadlar to'plamiHar bir mijoz shartnomasida alohida
Navbat konfiguratsiyasiYagona navbatlarHar bir kampaniya uchun alohida navbatlar
Operatorlarni taqsimlashQat'iy jamoalarBir nechta kampaniyaga umumiy operatorlar
HisobotIchki dashboardlarMijozga hisobotlar + ichki operatsion nazorat
BillingTalab qilinmaydiDaqiqasiga, qo'ng'irog'iga yoki ish o'rniga
Ma'lumotlar izolyatsiyasiBitta ijarachiQat'iy chegaralar bilan multi-tenant
MuvofiqlikBitta normativ bazaBir nechta (mijoz sohasiga qarab)

Ana shu murakkablikdan odatiy monitoring vositalari qoplay olmaydigan talablar kelib chiqadi. Asterisk uchun aksariyat monitoring yechimlari bitta ijarachiga mo'ljallangan. BPO'ga esa ma'lumotni bir vaqtda mijoz, kampaniya, navbat va davr kesimida bo'ladigan ko'p o'lchovli analitika kerak.

Har bir BPO kuzatishi shart bo'lgan 12 ta KPI (va ular amalda nimani anglatadi)

Mijozga ko'rinadigan KPI (hisobotlarga tushadiganlari)

Bu ko'rsatkichlar mijoz mamnunligiga va shartnomaning uzaytirilishiga bevosita ta'sir qiladi:

KPIFormulaBPO uchun maqsadNega muhim
Service LevelX soniyada javob berilgan qo'ng'iroqlar ÷ Jami qo'ng'iroqlar × 100Shartnoma bo'yicha (odatda 80/20 yoki 80/30)Asosiy SLA ko'rsatkichi. Bajarilmasa — jarima.
O'rtacha javob tezligi (ASA)Jami kutish vaqti ÷ Javob berilgan qo'ng'iroqlar< 30 soniyaMijozga ko'rinadigan sifat indikatori
Tashlab yuborilgan qo'ng'iroqlar ulushiTashlab yuborilganlar ÷ Jami kiruvchi × 100< 5%Yo'qotilgan daromad belgisi
Birinchi qo'ng'iroqda hal qilish (FCR)Birinchi martada hal qilinganlar ÷ Jami qo'ng'iroqlar × 100> 70%Xarajat samaradorligi va mamnunlik
O'rtacha ishlov berish vaqti (AHT)(Suhbat + Kutish + ACW) ÷ Jami qo'ng'iroqlarKampaniyaga qarabQo'ng'iroq tannarxini belgilaydi
CSAT bahosiQo'ng'iroqdan keyingi so'rovnoma o'rtachasi> 4.0/5.0Mijozni ushlab qolish ko'rsatkichi

Operatsion KPI (BPO'ning ichki boshqaruvi)

KPIFormulaBPO uchun maqsadNega muhim
Operator bandligi (Utilization)(Ishlov berish vaqti ÷ Tizimdagi vaqt) × 10075-85%Ish o'rniga to'g'ri keladigan daromadni optimallashtirish
Jadvalga rioyaJadval bo'yicha vaqt ÷ Rejalashtirilgan vaqt × 100> 95%Xodimlarni rejalashtirish aniqligi
Bitta qo'ng'iroq tannarxiKampaniyaning jami xarajati ÷ Qabul qilingan qo'ng'iroqlarO'zgaruvchanShartnoma rentabelligi
Ish o'rni soatiga daromadKampaniya daromadi ÷ (Operatorlar × Soatlar)Dinamikani kuzatingBiznes salomatligi ko'rsatkichi
OccupancyIshlov berish vaqti ÷ (Ishlov berish vaqti + Bo'sh vaqt) × 10080-90%Quvvatni rejalashtirish
ShrinkageSamarasiz vaqt ÷ To'langan vaqt × 100< 30%Haqiqiy mavjud quvvat

BPO rentabelligi formulasi

Margin per campaign = (Revenue per seat hour × Seats × Hours) - (Agent cost + Infrastructure + Overhead)

Buni har kuni hisoblang. Agar kampaniya marjasi 15% dan pastga tushsa, darhol tekshiring: yo operatorlar bandligi past, yo AHT o'sib bormoqda, yo shartnomani qayta ko'rish vaqti kelgan.

Asterisk'da ko'p mijozli navbat arxitekturasi

BPO analitikasining poydevori — navbatlarni to'g'ri segmentlash. Mana produksiyaga tayyor arxitektura:

; Format: {client}_{campaign}_{type} ; Examples: [acme_sales_inbound] ; Acme Corp - Sales - Inbound [acme_support_inbound] ; Acme Corp - Support - Inbound [globex_billing_inbound] ; Globex Inc - Billing - Inbound [globex_collections_outbound] ; Globex Inc - Collections - Outbound

queues.conf — bir nechta mijoz uchun sozlash

; === Client: Acme Corp === ; Contract: 80/20 SLA, max 3 min wait [acme_sales_inbound] strategy = rrmemory timeout = 15 retry = 5 maxlen = 50 servicelevel = 20 weight = 2 announce-frequency = 30 announce-holdtime = once monitor-format = wav eventwhencalled = vars eventmemberstatus = yes [acme_support_inbound] strategy = leastrecent timeout = 20 retry = 5 maxlen = 30 servicelevel = 30 weight = 1 ; === Client: Globex Inc === ; Contract: 80/30 SLA, max 5 min wait [globex_billing_inbound] strategy = rrmemory timeout = 20 retry = 5 maxlen = 40 servicelevel = 30 weight = 1 [globex_collections_outbound] strategy = linear timeout = 25 retry = 3 maxlen = 0

Operatorlarni penalty orqali biriktirish

; agents.conf or queue members ; Shared agents across campaigns with skill-based routing ; Agent 101: Primary Acme Sales, Secondary Globex Billing member => SIP/101,1,Agent101,SIP/101 ; Acme Sales (penalty 1 = primary) member => SIP/101,3,Agent101,SIP/101 ; Globex Billing (penalty 3 = overflow) ; Agent 102: Primary Globex, Secondary Acme member => SIP/102,1,Agent102,SIP/102 ; Globex Billing (primary) member => SIP/102,3,Agent102,SIP/102 ; Acme Sales (overflow)

Ko'p mijozli analitika uchun SQL so'rovlar

Bu so'rovlarning barchasi PostgreSQL'dagi standart Asterisk CDR/queue_log bilan ishlaydi (MySQL'da ham kichik o'zgartirishlar bilan).

1. Mijozlar kesimida real vaqtdagi SLA dashboardi

-- Real-time SLA compliance per client (today) WITH queue_clients AS ( SELECT CASE WHEN queuename LIKE 'acme_%' THEN 'Acme Corp' WHEN queuename LIKE 'globex_%' THEN 'Globex Inc' WHEN queuename LIKE 'initech_%' THEN 'Initech LLC' ELSE 'Unknown' END AS client, queuename, event, data1::int AS wait_time, time FROM queue_log WHERE time >= CURRENT_DATE AND event IN ('CONNECT', 'ABANDON', 'EXITWITHTIMEOUT') ), sla_calc AS ( SELECT client, COUNT(*) FILTER (WHERE event = 'CONNECT') AS answered, COUNT(*) FILTER (WHERE event = 'CONNECT' AND wait_time <= 20) AS answered_in_sla, COUNT(*) FILTER (WHERE event IN ('ABANDON', 'EXITWITHTIMEOUT')) AS abandoned, COUNT(*) AS total_calls, ROUND(AVG(wait_time) FILTER (WHERE event = 'CONNECT'), 1) AS avg_speed_answer, MAX(wait_time) AS max_wait FROM queue_clients GROUP BY client ) SELECT client, total_calls, answered, abandoned, ROUND(100.0 * answered_in_sla / NULLIF(answered, 0), 1) AS sla_pct, ROUND(100.0 * abandoned / NULLIF(total_calls, 0), 1) AS abandon_pct, avg_speed_answer AS asa_seconds, max_wait AS longest_wait FROM sla_calc ORDER BY client;

2. Kampaniyalar kesimida operatorlar samaradorligi

-- Which agents are most productive across which campaigns? SELECT agent, CASE WHEN queuename LIKE 'acme_%' THEN 'Acme Corp' WHEN queuename LIKE 'globex_%' THEN 'Globex Inc' ELSE 'Other' END AS client, COUNT(*) FILTER (WHERE event = 'CONNECT') AS calls_handled, ROUND(AVG(data2::int) FILTER (WHERE event = 'COMPLETECALLER' OR event = 'COMPLETEAGENT'), 0) AS avg_talk_time, ROUND(AVG(data1::int) FILTER (WHERE event = 'CONNECT'), 0) AS avg_wait_given, COUNT(*) FILTER (WHERE event = 'RINGNOANSWER') AS missed_calls FROM queue_log WHERE time >= CURRENT_DATE - INTERVAL '7 days' AND event IN ('CONNECT', 'COMPLETECALLER', 'COMPLETEAGENT', 'RINGNOANSWER') GROUP BY agent, client ORDER BY client, calls_handled DESC;

3. Kampaniyaning soatlik issiqlik xaritasi

-- Call volume and SLA by hour per campaign (for staffing optimization) SELECT EXTRACT(HOUR FROM time) AS hour, queuename AS campaign, COUNT(*) AS total_calls, COUNT(*) FILTER (WHERE event = 'CONNECT') AS answered, COUNT(*) FILTER (WHERE event = 'ABANDON') AS abandoned, ROUND(100.0 * COUNT(*) FILTER (WHERE event = 'CONNECT' AND data1::int <= 20) / NULLIF(COUNT(*) FILTER (WHERE event = 'CONNECT'), 0), 1) AS sla_pct, ROUND(AVG(data1::int) FILTER (WHERE event = 'CONNECT'), 0) AS asa FROM queue_log WHERE time >= CURRENT_DATE AND event IN ('CONNECT', 'ABANDON', 'EXITWITHTIMEOUT') GROUP BY hour, campaign ORDER BY campaign, hour;

4. Kampaniyalar bo'yicha daromad va rentabellik

-- Campaign profitability analysis (requires billing config table) WITH campaign_billing AS ( -- Replace with your actual billing rates SELECT 'acme_sales_inbound' AS queue, 0.85 AS rate_per_minute, 'per_minute' AS model UNION ALL SELECT 'globex_billing_inbound', 1.20, 'per_minute' UNION ALL SELECT 'initech_support_inbound', 15.00, 'per_call' ), call_stats AS ( SELECT queuename, COUNT(*) FILTER (WHERE event IN ('COMPLETECALLER', 'COMPLETEAGENT')) AS completed_calls, SUM(data2::int) FILTER (WHERE event IN ('COMPLETECALLER', 'COMPLETEAGENT')) AS total_talk_seconds FROM queue_log WHERE time >= DATE_TRUNC('month', CURRENT_DATE) AND event IN ('COMPLETECALLER', 'COMPLETEAGENT') GROUP BY queuename ) SELECT cs.queuename AS campaign, cs.completed_calls, ROUND(cs.total_talk_seconds / 60.0, 0) AS total_minutes, cb.model AS billing_model, CASE WHEN cb.model = 'per_minute' THEN ROUND(cs.total_talk_seconds / 60.0 * cb.rate_per_minute, 2) WHEN cb.model = 'per_call' THEN cs.completed_calls * cb.rate_per_minute END AS estimated_revenue FROM call_stats cs JOIN campaign_billing cb ON cs.queuename = cb.queue ORDER BY estimated_revenue DESC;

5. Mijoz SLA'si buzilishi haqida ogohlantirish

-- Detect campaigns at risk of SLA breach (rolling 30-minute window) WITH rolling AS ( SELECT queuename, COUNT(*) FILTER (WHERE event = 'CONNECT' AND data1::int <= 20) AS in_sla, COUNT(*) FILTER (WHERE event = 'CONNECT') AS answered, COUNT(*) FILTER (WHERE event = 'ABANDON') AS abandoned FROM queue_log WHERE time >= NOW() - INTERVAL '30 minutes' AND event IN ('CONNECT', 'ABANDON', 'EXITWITHTIMEOUT') GROUP BY queuename ) SELECT queuename AS campaign, ROUND(100.0 * in_sla / NULLIF(answered, 0), 1) AS current_sla, abandoned, CASE WHEN 100.0 * in_sla / NULLIF(answered, 0) < 70 THEN 'CRITICAL' WHEN 100.0 * in_sla / NULLIF(answered, 0) < 80 THEN 'WARNING' ELSE 'OK' END AS status FROM rolling WHERE answered > 0 ORDER BY current_sla ASC;

Mijozlar uchun avtomatik hisobot

BPO mijozlari muntazam hisobot kutadi. Ularni shunday avtomatlashtirasiz:

Haftalik hisobot tuzilishi

Har bir mijoz hisobotida quyidagi bo'limlar bo'lishi kerak:

  1. Qisqacha xulosa — SLA bajarilishi, jami qo'ng'iroqlar, asosiy jihatlar
  2. Service Level natijalari — kunlik SLA grafigi, maqsad va fakt
  3. Qo'ng'iroqlar hajmi tahlili — soatlik taqsimot, cho'qqilar, trendlar
  4. Operatorlar natijalari — eng yaxshi va eng past ko'rsatkichlar, o'qitish bo'yicha tavsiyalar
  5. Sifat ko'rsatkichlari — FCR, CSAT, o'tkazishlar ulushi
  6. Tavsiyalar — ma'lumotga asoslangan yaxshilash takliflari

SQL orqali hisobot yaratish

-- Weekly executive summary for client report SELECT DATE(time) AS report_date, COUNT(*) FILTER (WHERE event IN ('CONNECT', 'ABANDON')) AS total_offered, COUNT(*) FILTER (WHERE event = 'CONNECT') AS total_answered, COUNT(*) FILTER (WHERE event = 'ABANDON') AS total_abandoned, ROUND(100.0 * COUNT(*) FILTER (WHERE event = 'CONNECT') / NULLIF(COUNT(*) FILTER (WHERE event IN ('CONNECT', 'ABANDON')), 0), 1) AS answer_rate, ROUND(100.0 * COUNT(*) FILTER (WHERE event = 'CONNECT' AND data1::int <= 20) / NULLIF(COUNT(*) FILTER (WHERE event = 'CONNECT'), 0), 1) AS sla_pct, ROUND(AVG(data1::int) FILTER (WHERE event = 'CONNECT'), 0) AS avg_wait_sec, ROUND(AVG(data2::int) FILTER (WHERE event IN ('COMPLETECALLER', 'COMPLETEAGENT')), 0) AS avg_talk_sec FROM queue_log WHERE queuename LIKE 'acme_%' AND time >= CURRENT_DATE - INTERVAL '7 days' AND event IN ('CONNECT', 'ABANDON', 'COMPLETECALLER', 'COMPLETEAGENT') GROUP BY DATE(time) ORDER BY report_date;

Avtomatik PDF hisobotlar uchun Bash skript

#!/bin/bash # generate_client_report.sh — Run weekly via cron # Requires: psql, python3, wkhtmltopdf CLIENT="acme" WEEK_START=$(date -d "last monday" +%Y-%m-%d) WEEK_END=$(date -d "last sunday" +%Y-%m-%d) REPORT_DIR="/var/reports/${CLIENT}/${WEEK_START}" mkdir -p "$REPORT_DIR" # Extract data psql -h localhost -U asterisk -d asterisk_cdr -t -A -F',' \ -c "SELECT DATE(time), COUNT(*) FILTER (WHERE event='CONNECT'), COUNT(*) FILTER (WHERE event='ABANDON'), ROUND(AVG(data1::int) FILTER (WHERE event='CONNECT'),0) FROM queue_log WHERE queuename LIKE '${CLIENT}_%' AND time BETWEEN '${WEEK_START}' AND '${WEEK_END}' GROUP BY DATE(time) ORDER BY 1" \ > "${REPORT_DIR}/daily_stats.csv" echo "Report generated: ${REPORT_DIR}" # Convert to PDF, email to client contact

Har bir BPO'ga zarur bo'lgan beshta dashboard

1. Mijozlar SLA wallboardi (real vaqt)

Maqsad: barcha mijozlar bo'yicha jonli SLA holatini ko'rsatuvchi katta ekran.

VidjetMazmuniYangilanish
Mijozlar SLA kartochkalariJoriy SLA % yashil/sariq/qizil bilanHar 10 soniyada
Navbat chuqurligiHar bir kampaniyada kutayotgan abonentlarReal vaqtda
Eng uzun kutishJoriy maksimal kutish vaqtiReal vaqtda
Operator statuslari to'riBo'sh / Suhbatda / ACW / OflaynReal vaqtda
Tashlab yuborilganlar hisoblagichi30 daqiqalik siljuvchi oynada tashlanganlar soniHar daqiqada

2. Kampaniyalar operatsion dashboardi

Maqsad: operatsion menejer uchun kampaniyalar o'rtasida resurs taqsimlash ko'rinishi.

VidjetMazmuni
Kampaniyalarni solishtirish jadvaliSLA, ASA, AHT, bandlik yonma-yon
Operatorlarni taqsimlash matritsasiQaysi operator qaysi kampaniyada
Yuklama ogohlantirishlariQo'shimcha operator kerak bo'lgan kampaniyalar
Soatlik prognoz va faktBashorat qilingan va haqiqiy qo'ng'iroq hajmi

Navbatlarda nima sodir bo'layotganini taxmin qilishdan charchadingizmi?

Astervis sizning Asterisk PBX'ingiz uchun 30+ realtime grafik, operator KPI va CRM-integratsiya beradi. On-premise. 5 daqiqada o'rnatiladi. $119/oydan flat operatorlar soni cheklanmagan.

Bepul sinab ko'rish

3. Operatorlar reytingi

Maqsad: natijani rag'batlantiruvchi jonli operator reytingi.

VidjetMazmuni
Top-10 operator (qo'ng'iroqlar bo'yicha)Bugungi hajm bo'yicha reyting
Sifat yetakchilariEng yuqori FCR, eng qisqa AHT
Murabbiylik belgilariO'tkazishlari ko'p yoki ACW'si uzoq operatorlar
Kirish va tanaffuslar hisobiJoriy status va har bir holatdagi vaqt

4. Moliyaviy dashboard

Maqsad: BPO rentabelligiga CFO/CEO nigohi.

VidjetMazmuni
Kampaniyalar bo'yicha daromadHar bir mijoz bo'yicha oy boshidan daromad
Qo'ng'iroq tannarxi dinamikasi30 kunlik trend chizig'i
Kampaniyalar marjasiDaromad minus operator va infratuzilma xarajati
Bandlik samaradorligiTo'langan operator soatiga daromad

5. Mijoz portali dashboardi

Maqsad: himoyalangan havola orqali mijozga beriladigan faqat o'qish uchun dashboard.

VidjetMazmuni
SLA bajarilishi grafigiJoriy oy uchun kunlik SLA
Qo'ng'iroq hajmi trendlariSoatlik va kunlik naqshlar
Sifat ko'rsatkichlariFCR, CSAT, AHT dinamikasi
Asosiy jihatlarO'zgarishlarga avtomatik izohlar

Asterisk'da BPO analitikasiga uchta yondashuv

Yondashuv 1. O'zingiz yig'ish (Grafana + PostgreSQL)

Mehnat sarfi: dastlabki sozlashga 120-200 soat, oyiga 10-20 soat qo'llab-quvvatlash

Nima kerak bo'ladi:

  • CDR va queue_log jadvallari bilan PostgreSQL
  • PostgreSQL datasource ulangan Grafana
  • Har bir dashboard uchun alohida SQL so'rovlar
  • Mijozlarni ajratish uchun rolga asoslangan kirish
  • Jadval bo'yicha hisobot yaratuvchi skriptlar

Ijobiy tomoni: to'liq moslashuvchanlik, har bir operator uchun litsenziya to'lovi yo'q Salbiy tomoni: juda katta muhandislik vaqti, mo'rtlik, qo'llab-quvvatlash yo'q, har bir yangi mijoz qo'lda ish talab qiladi

Yondashuv 2. QueueMetrics

Mehnat sarfi: joriy etishga 2-4 hafta, doimiy litsenziya to'lovi

Narxi: oyiga har bir operator uchun CHF 8 (50 operator = ~$480/oy)

Nima olasiz: navbatlar monitoringi, asosiy hisobotlar, wallboard Nima olmaysiz: mijozlar kesimida daromad hisobi, avtomatik mijoz hisobotlari, zamonaviy interfeys, real vaqtda kampaniyalarni solishtirish, operatorlarni oson qayta taqsimlash

Ijobiy tomoni: soha standarti, barqaror Salbiy tomoni: kattalashganda qimmat, eskirgan Java interfeysi, BPO uchun maxsus imkoniyatlar kam, o'rnatilgan mijoz portali yo'q

Yondashuv 3. Astervis

Mehnat sarfi: o'rnatishga 15 daqiqa, natija darhol

Narxi: oyiga $119 dan $449 gacha, operatorlar soni cheklanmagan

Nima olasiz:

  • 30+ tayyor dashboard, jumladan navbat issiqlik xaritalari, operator ko'rsatkichlari va trunk analitikasi
  • Barcha kampaniyalar bo'yicha bir vaqtda real vaqtdagi monitoring
  • KPI kuzatuvi va reytinglar bilan operatorlarni boshqarish
  • Lidlar bilan ishlash uchun CRM integratsiyasi (Bitrix24, AmoCRM)
  • Self-hosted — ma'lumotlaringiz o'z serveringizda qoladi
  • Bitta buyruq bilan o'rnatish: curl -sSL https://api.astervis.io/api/releases/install.sh | bash

Nega bu BPO uchun ishlaydi:

  • Barcha navbatlar ko'rinishi: barcha mijoz kampaniyalari bitta oynada
  • Operatorlar samaradorligi nazorati: kim natija bermoqda va kimga murabbiylik kerakligi ko'rinadi
  • Xarajat samaradorligi: oyiga $119 va oyiga $480 (50 operator uchun QueueMetrics) yoki 200 soatlik Grafana ishlanmasi
  • Self-hosted: ma'lumotlar rezidentligi talabi bor BPO uchun juda muhim
  • 14 kun bepul sinov: karta ham, majburiyat ham talab qilinmaydi

Taqqoslash matritsasi

ImkoniyatO'z kuchi bilan GrafanaQueueMetricsAstervis
Joriy etish vaqti120-200 soat2-4 hafta15 daqiqa
Ko'p navbat real vaqtdaQo'lda yoziladiCheklangan✅ Qutidan chiqib
Operator ko'rsatkichlariO'z SQL so'rovlaringizAsosiy✅ 30+ grafik
Issiqlik xaritalariQo'lda✅ Qutidan chiqib
CRM integratsiyasiQo'lda✅ Bitrix24, AmoCRM
Narxi (50 operator)$0 + 200 soat ishlanma~$480/oy$119/oy
Self-hosted
Zamonaviy interfeysQanday sozlasangiz❌ Eskirgan Java✅ Zamonaviy veb
Qo'llab-quvvatlashHamjamiyatPullikNarxga kiritilgan
Xizmat ko'rsatishOyiga 10-20 soatPastYo'q

BPO analitikasidagi keng tarqalgan xatolar

1. Haddan tashqari ko'p ko'rsatkich

Muammo: mijoz hisobotida 50+ KPI. Ularni hech kim o'qimaydi. Yechim: shartnomadagi SLA'ga bog'langan 5-7 ta ko'rsatkich.

2. Kechikkan hisobot

Muammo: mijoz o'tgan haftalik hisobotni chorshanba kuni oladi. Operativ qarorlar uchun foydasiz. Yechim: real vaqtdagi dashboardlar + avtomatik kunlik xulosa pochtaga + batafsil haftalik hisobot.

3. Kampaniyalar bo'yicha xarajat hisobi yo'q

Muammo: umumiy xarajatni bilasiz, lekin qaysi kampaniya foydali ekanini bilmaysiz. Yechim: queue_log orqali har bir navbatdagi operator vaqtini hisoblang va kampaniya kesimida qabul qilingan qo'ng'iroq tannarxini chiqaring.

4. Umumiy operatorlar bo'yicha ko'r nuqtalar

Muammo: operator uchta kampaniyada ishlaydi, siz esa faqat yig'ma statistikani ko'rasiz. Yechim: "operator + navbat" juftligi bo'yicha ko'rsatkichlarni hisoblang. Shunda har bir operator qaysi kampaniyada kuchliroq ekani ko'rinadi.

5. Tashlab yuborilgan qo'ng'iroq naqshlarini e'tiborsiz qoldirish

Muammo: "5% tashlab yuborilgan" deb hisobot berasiz, lekin qachon va nega ekanini tahlil qilmaysiz. Yechim: tashlab yuborishlarni soat, kun, navbatdagi o'rin va kutish vaqti kesimida kuzating. Ularning ko'pi aniq naqshlarga tushadi va smenalarni qayta joylash bilan tuzatiladi.

6. Mijoz hisobotlarini qo'lda tayyorlash

Muammo: har juma kuni bir xodim 10 ta mijoz uchun Excel hisobotlariga 4 soat sarflaydi. Yechim: SQL → shablon → PDF → xat zanjirini avtomatlashtiring. Sozlangandan keyin inson vaqti nolga tushadi.

Boshlash: 30 daqiqada BPO analitikasi

1-qadam. Navbatlar tuzilishini tekshiring (5 daqiqa)

Navbatlaringiz client_campaign_type qoidasi bo'yicha nomlanganiga ishonch hosil qiling. Agar yo'q bo'lsa — qayta nomlang: bu ko'p mijozli analitikaning poydevori.

asterisk -rx "queue show" | grep -E "^[a-z]"

2-qadam. Ma'lumot yig'ilishini tekshiring (5 daqiqa)

queue_log va CDR haqiqatan bazaga yozilayotganiga ishonch hosil qiling:

# Check queue_log is flowing tail -5 /var/log/asterisk/queue_log # Check CDR database psql -U asterisk -c "SELECT COUNT(*) FROM cdr WHERE calldate >= CURRENT_DATE"

3-qadam. Astervis'ni o'rnating (5 daqiqa)

curl -sSL https://api.astervis.io/api/releases/install.sh | bash

O'rnatish ustasidan o'ting — u Asterisk konfiguratsiyangizni o'zi aniqlaydi va darhol ma'lumot import qila boshlaydi.

4-qadam. Kampaniya ko'rinishlarini sozlang (10 daqiqa)

Astervis'da navbatlarni mijozlar bo'yicha guruhlang. Har bir kampaniya uchun operator biriktirmalari va SLA maqsadlarini belgilang.

5-qadam. Ogohlantirishlarni sozlang (5 daqiqa)

Quyidagilar uchun alert qo'ying:

  • SLA shartnomadagi chegaradan pastga tushishi
  • tashlab yuborilgan qo'ng'iroqlar ulushi 5% dan oshishi
  • navbat chuqurligi maksimaldan oshishi
  • mavjud operatorlar soni minimumdan pastga tushishi

Asosiy xulosalar

  1. BPO analitikasi tubdan boshqacha — multi-tenant, turli SLA va turli billing modellari maxsus shu vazifa uchun yaratilgan vositalarni talab qiladi.
  2. 12 ta asosiy KPI'ni kuzating — ularni mijozga ko'rinadigan (SLA, ASA, FCR) va operatsion (bandlik, qo'ng'iroq tannarxi, ish o'rniga daromad) guruhlarga bo'ling.
  3. Navbatlarni nomlash qoidasi — poydevor: avtomatik segmentlash uchun client_campaign_type formatidan foydalaning.
  4. Mijoz hisobotlarini avtomatlashtiring — qo'lda hisobot tayyorlash uchinchi mijozdan keyin masshtablanmaydi.
  5. Har bir kampaniya rentabelligini kuzating — yig'ma raqamlar zarar keltirayotgan shartnomalarni yashiradi.
  6. Astervis BPO'ga tayyor analitikani beradi — o'z kuchi bilan 200+ soat ishlash o'rniga 15 daqiqada: 30+ dashboard, real vaqtdagi monitoring va CRM integratsiyasi, operatorlar soni cheklanmagan holda oyiga $119 dan.

Bepul 14 kunlik sinovni astervis.io saytida boshlang — karta talab qilinmaydi. Bir necha daqiqada barcha mijoz kampaniyalari, barcha operator ko'rsatkichlari va barcha SLA maqsadlarini bitta dashboardda ko'ring.

Taxmin qilishni bas qiling. Ko'rishni boshlang.

Asterisk call-markazingizning haqiqiy ko'rinishi: navbatlardagi kutish vaqti, operatorlar faolligi, trunk yuklamasi va 30+ grafik. Sizning serveringizda on-premise. 5 daqiqada o'rnatish. Kartasiz.

$119/oydan flat. Operatorlar soni cheklanmagan. 14 kunlik triаl.

Ulashish