0% found this document useful (0 votes)
72 views

FO1

The document contains a set of formulas for calculating key performance indicators (KPIs) from network counter data for radio network monitoring. It includes formulas for calculating availability, call setup success rates, handover success rates, throughput metrics, resource usage, and other common 4G LTE KPIs. The formulas reference specific counter variables and define how to aggregate counter values across time or network objects to calculate KPI ratios or percentages.

Uploaded by

Yunan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
72 views

FO1

The document contains a set of formulas for calculating key performance indicators (KPIs) from network counter data for radio network monitoring. It includes formulas for calculating availability, call setup success rates, handover success rates, throughput metrics, resource usage, and other common 4G LTE KPIs. The formulas reference specific counter variables and define how to aggregate counter values across time or network objects to calculate KPI ratios or percentages.

Uploaded by

Yunan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

#The formulas below are taken from the CPI DOCUMENT: RADIO NETWORK KPI 120/1553-

HSD 101 02/7


#0) More information on formula syntax:
http://utran01.epa.ericsson.se/itkwiki/ViewWritersGuide/AppendixII
#1) Any text starting with a '#' is treated as a comment and discarded
#2) Each formula is split into the formula result variable name (part before the
'=' sign) and the formula expression (the part after the '=' sign).
#3) Any reference in the formula expression to a counter name of other formula name
is replaced by a perl variable reference
#4) The special names sum_<countername>, sum_time_<countername> and
sum_mo_<countername> are replaced by a perl reference to variable containing
counter aggregates:
# - sum_<countername>: Returns the sum of counter 'name' across the time and
object domains.
# - sum_time_<countername>: Returns the sum of counter 'name' across the
object domain for the current time.
# - sum_mo_<countername>: Returns the sum of counter or field 'name' across
the time domain for the current MO.
#5) Each formula expression is then evaluated using perl 'eval'. This means that
the syntax of the expressions is the same as that of perl - you can use any perl
operators & functions.
#6) The order in which the formulas are defined does not have any importance, a
formula can refer to other formulas defined further down in the file
#7) The formula names should not start with "pm"

#LTE_Overlay_Monitoring
00Avail_d = 100 - ((100*pmCellDowntimeAuto)/86400)
00Avail_h = 100 - ((100*pmCellDowntimeAuto)/3600)
00Avail_r = 100 - ((100*pmCellDowntimeAuto)/900)
01RRCSR = 100*(pmRrcConnEstabSucc/(pmRrcConnEstabAtt-pmRrcConnEstabAttReatt))
02ERSR = 100 *
(pmErabEstabSuccInit+pmErabEstabSuccAdded)/(pmErabEstabAttInit+pmErabEstabAttAdded)
03CSSRV2 = 100*(pmRrcConnEstabSucc/(pmRrcConnEstabAtt-
pmRrcConnEstabAttReAtt))*(pmS1SigConnEstabSucc/pmS1SigConnEstabAtt)*(pmErabEstabSuc
cInit+pmErabEstabSuccAdded)/(pmErabEstabAttInit+pmErabEstabAttAdded)
04SDRV2 =
100*(pmErabRelAbnormalEnbAct+pmErabRelAbnormalMmeAct)/(pmErabRelAbnormalEnb+pmErabR
elNormalEnb+pmErabRelMme)
05IntraHo = 100*(pmHoExeSuccLteIntraF/pmHoExeAttLteIntraF)
06InterHo = 100*(pmHoExeSuccLteInterF/pmHoExeAttLteInterF)
07CSFB = pmUeCtxtRelCsfbWcdma + pmUeCtxtRelCsfbWcdmaEm +pmUeCtxtRelCsfbGsm +
pmUeCtxtRelCsfbGsmEm
08UserDLThp = (pmPdcpVolDlDrb-pmPdcpVolDlDrbLastTTI)/(pmUeThpTimeDl/1000)
09CellDLThp = pmPdcpVolDlDrb/(pmSchedActivityCellDl/1000)
10UserULThp = pmUeThpVolUl/(pmUeThpTimeUl/1000)
11CellULThp = pmPdcpVolUlDrb/(pmSchedActivityCellUl/1000)
12DLPay = pmPdcpVolDlDrb *1000 /(8*1024*1024)
13ULPay = pmPdcpVolUlDrb *1000/(8*1024*1024)
14DlPRB = WeightedAverage(pmPrbUtilDl,[10,20,30,40,50,60,70,80,90,100])
15UlPRB = WeightedAverage(pmPrbUtilUl,[10,20,30,40,50,60,70,80,90,100])
16SSSR = 01RRCSR*02ERSR/100
17AvUNo = ( pmLicConnectedUsersLevSum / pmLicConnectedUsersLevSamp )
CQIa=(Sum(pmRadioUeRepCqiDistr,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]))
CQIb=(pmRadioUeRepCqiDistr,[0])+(pmRadioUeRepCqiDistr,[1])+(pmRadioUeRepCqiDistr,
[2])+(pmRadioUeRepCqiDistr,[3])+(pmRadioUeRepCqiDistr,[4])+(pmRadioUeRepCqiDistr,
[5])+(pmRadioUeRepCqiDistr,[6])+(pmRadioUeRepCqiDistr,[7])+(pmRadioUeRepCqiDistr,
[8])+(pmRadioUeRepCqiDistr,[9])+(pmRadioUeRepCqiDistr,[10])+(pmRadioUeRepCqiDistr,
[11])+(pmRadioUeRepCqiDistr,[12])+(pmRadioUeRepCqiDistr,[13])+
(pmRadioUeRepCqiDistr,[14])+(pmRadioUeRepCqiDistr,[15])
16CQI = WeightedAverage(pmRadioUeRepCqiDistr,
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])
CQI10 = (100*(pmRadioUeRepCqiDistr_07 + pmRadioUeRepCqiDistr_08 +
pmRadioUeRepCqiDistr_09 + pmRadioUeRepCqiDistr_10 + pmRadioUeRepCqiDistr_11 +
pmRadioUeRepCqiDistr_12 + pmRadioUeRepCqiDistr_13 + pmRadioUeRepCqiDistr_14 +
pmRadioUeRepCqiDistr_15 + pmRadioHomUeRepCqiDistr_04 + pmRadioHomUeRepCqiDistr_05 +
pmRadioHomUeRepCqiDistr_06 + pmRadioHomUeRepCqiDistr_07 +
pmRadioHomUeRepCqiDistr_08 + pmRadioHomUeRepCqiDistr_09 +
pmRadioHomUeRepCqiDistr_10 + pmRadioHomUeRepCqiDistr_11 +
pmRadioHomUeRepCqiDistr_12 + pmRadioHomUeRepCqiDistr_13 +
pmRadioHomUeRepCqiDistr_14 + pmRadioHomUeRepCqiDistr_15) / (pmRadioUeRepCqiDistr_00
+ pmRadioUeRepCqiDistr_01 + pmRadioUeRepCqiDistr_02 + pmRadioUeRepCqiDistr_03 +
pmRadioUeRepCqiDistr_04 + pmRadioUeRepCqiDistr_05 + pmRadioUeRepCqiDistr_06 +
pmRadioUeRepCqiDistr_07 + pmRadioUeRepCqiDistr_08 + pmRadioUeRepCqiDistr_09 +
pmRadioUeRepCqiDistr_10 + pmRadioUeRepCqiDistr_11 + pmRadioUeRepCqiDistr_12 +
pmRadioUeRepCqiDistr_13 + pmRadioUeRepCqiDistr_14 + pmRadioUeRepCqiDistr_15 +
pmRadioHomUeRepCqiDistr_00 + pmRadioHomUeRepCqiDistr_01 +
pmRadioHomUeRepCqiDistr_02 + pmRadioHomUeRepCqiDistr_03 +
pmRadioHomUeRepCqiDistr_04 + pmRadioHomUeRepCqiDistr_05 +
pmRadioHomUeRepCqiDistr_06 + pmRadioHomUeRepCqiDistr_07 +
pmRadioHomUeRepCqiDistr_08 + pmRadioHomUeRepCqiDistr_09 +
pmRadioHomUeRepCqiDistr_10 + pmRadioHomUeRepCqiDistr_11 +
pmRadioHomUeRepCqiDistr_12 + pmRadioHomUeRepCqiDistr_13 +
pmRadioHomUeRepCqiDistr_14 + pmRadioHomUeRepCqiDistr_15))
CQI7 =
WeightedAverage(100*(pmRadioUeRepCqiDistr,[10,11,12,13,14,15])/(pmRadioUeRepCqiDist
r,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))
CQI7A=(100*((pmRadioUeRepCqiDistr,[7,8,9,10,11,12,13,14,15])+
(pmRadioHomUeRepCqiDistr,[4,5,6,7,8,9,10,11,12,13,14,15]))/((pmRadioUeRepCqiDistr,
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])+(pmRadioHomUeRepCqiDistr,
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])))
WeightFailed=(100-(05IntraHo))*(pmHoExeAttLteIntraF-pmHoExeSuccLteIntraF)
FailedHO=pmHoExeAttLteIntraF-pmHoExeSuccLteIntraF
HoPrep = 100*(pmHoPrepSuccLteIntraF/pmHoPrepAttLteIntraF)
Maximum_UserNumber_RRC = pmRrcConnMax
Active_User_DL = pmActiveUeDlSum / pmSchedActivityCellDl
Active_User_UL = pmActiveUeUlSum / pmSchedActivityCellUl
Avg_NumSim_ERAB = pmErabLevSum / pmErabLevSamp
17SpEff=((pmPdcpVolDlSrbTrans+pmPdcpVolDlDrb)*1000)/
((pmPrbUsedDlDtch+pmPrbUsedDlSrbFirstTrans)*180)

##ADD LTE
ERSR_V1 = 100*(pmErabEstabSuccInit/pmErabEstabAttInit)
SDR_V1 = 100*((pmErabRelAbnormalEnbAct)/(pmErabRelAbnormalEnb+pmErabRelNormalEnb))
IRATEtoW = 100 *
((pmHoPrepSuccWcdma/pmHoPrepAttWcdma)*(pmHoExeSuccWcdma/pmHoExeAttWcdma))
IRATEtoG = 100 * ((pmHoPrepSucc/pmHoPrepAtt)*(pmHoExeSucc/pmHoExeAtt))
MacHarqDlSuccRate256 = 100 * ( pmMacHarqDlAck256qam / ( pmMacHarqDlAck256qam +
pmMacHarqDlNack256qam ))
Int_RadioRecInterferencePucchPwr_fW =
WeightedAverage(pmRadioRecInterferencePwrPucch,
[0.79432,0.89716,1.12946,1.42191,1.79008,2.25357,2.83708,3.57167,4.49647,5.66072,11
.07925,27.82982,69.90536,175.59432,441.07,630.95])
IntPucch = 10*log10(Int_RadioRecInterferencePucchPwr_fW / 1000000000000)
SDR = 100 * (pmErabRelAbnormalEnbAct+pmErabRelAbnormalMmeAct-
pmErabRelMmeActEutra) /(pmErabRelAbnormalEnb+pmErabRelNormalEnb+pmErabRelMme-
pmErabRelMmeActEutra)
#Counter
Den_RRCSR = (pmRrcConnEstabAtt-pmRrcConnEstabAttReatt)
Num_ERSR = (pmErabEstabSuccInit+pmErabEstabSuccAdded)
Den_ERSR = (pmErabEstabAttInit+pmErabEstabAttAdded)
Num_CSSRV2 = (pmRrcConnEstabSucc/(pmRrcConnEstabAtt-
pmRrcConnEstabAttReAtt))*(pmS1SigConnEstabSucc/pmS1SigConnEstabAtt)*(pmErabEstabSuc
cInit+pmErabEstabSuccAdded)
Den_CSSRV2 = (pmErabEstabAttInit+pmErabEstabAttAdded)
Num_SDRV2 = (pmErabRelAbnormalEnbAct+pmErabRelAbnormalMmeAct)
Den_SDRV2 = (pmErabRelAbnormalEnb+pmErabRelNormalEnb+pmErabRelMme)
Num_UserDLThp = (pmPdcpVolDlDrb-pmPdcpVolDlDrbLastTTI)
Den_UserDLThp = (pmUeThpTimeDl/1000)
Den_CellDLThp = (pmSchedActivityCellDl/1000)
Den_UserULThp = (pmUeThpTimeUl/1000)
Den_CellULThp = (pmSchedActivityCellUl/1000)

#AT&T formulas (LTE ATT)


Acc_ATT = 100 * ( pmRrcConnEstabSucc / (pmRrcConnEstabAtt -
pmRrcConnEstabAttReatt ) ) * ( pmS1SigConnEstabSucc / pmS1SigConnEstabAtt ) *
( ( pmErabEstabSuccInit + pmErabEstabSuccAdded ) / ( pmErabEstabAttInit +
pmErabEstabAttAdded ) )
Ret_ErabDropRateAct = 100 * ( 1 - ( ( pmErabRelAbnormalEnbAct + pmErabRelMmeAct ) /
( pmErabEstabSuccInit + pmErabEstabSuccAdded ) ) )
Ret_ErabDropRate = 100 * ( 1 - ( ( pmErabRelAbnormalEnb + pmErabRelMmeAct ) /
( pmErabEstabSuccInit + pmErabEstabSuccAdded ) ) )
Mob_IntraLTE_HoPrep = 100 * pmHoPrepSuccLteIntraF / pmHoPrepAttLteIntraF
Mob_IntraLTE_HoExec = 100 * pmHoExeSuccLteIntraF / pmHoExeAttLteIntraF
Mob_IRATRedirect = 100 * (pmUeCtxtRelSCGsm + pmUeCtxtRelSCWcdma ) /
pmUeCtxtEstabSucc
Mob_IntraLTE_SuccessRate = 100 * ( pmHoPrepSuccLteIntraF / pmHoPrepAttLteIntraF) *
(pmHoExeSuccLteIntraF / pmHoExeAttLteIntraF)
Ret_CSFBrate = 100 * (pmUeCtxtRelCsfbWcdma + pmUeCtxtRelCsfbWcdmaEm) /
pmUeCtxtEstabSucc
IFLB_SelectionRatio = 100 * pmHoPrepAttLteInterFLb / pmLbQualifiedUe
Qual_Meas_UE_Ratio_LB = 100 * pmLbQualifiedUe / pmLbMeasuredUe

#Other formulas, not in CONFIG


Traff_PDCP_DlVolume = (pmPdcpVolDlDrb + pmPdcpVolDlSrb)
Traff_PDCP_UlVolume = (pmPdcpVolUlDrb + pmPdcpVolUlSrb)
Traff_ERAB_AvgNum = (pmErabLevSum / pmErabLevSamp)
Traff_RRCCONNECTIONS_Peak = pmRrcConnMax / pm_count
Traff_RRCCONNECTIONS_Average = pmRrcConnLevSum / pmRrcConnLevSamp

#Standard formulas also used by AT&T


Int_DlThroughput_kbps = 1000 * (pmPdcpVolDlDrb - pmPdcpVolDlDrbLastTTI +
pmPdcpVolDlDrbTransUm) / pmUeThpTimeDl
Int_UlThroughput_kbps = 1000 * pmUeThpVolUl / pmUeThpTimeUl
Int_DlLatency = pmPdcpLatTimeDl / pmPdcpLatPktTransDl

#MSRBS V2 (TN_RCS)
IpInterfaceMbpsOut = 8 * ipIfStatsHCOutOctets / (1000000 * 900)
IpInterfaceMbpsIn = 8 * ipIfStatsHCInOctets / (1000000 * 900)

VlanPortMbpsOut = 8 * ifHCOutOctets / (1000000 * 900)


VlanPortMbpsIn = 8 * ifHCInOctets / (1000000 * 900)

EthernetPortMbpsOut = 8 * ifHCOutOctets / (1000000 * 900)


EthernetPortMbpsIn = 8 * ifHCInOctets / (1000000 * 900)

#Cross Feeders: pmRadioUeRepRankDistr

Rank1=pmRadioUeRepRankDistr[0]
Rank2=pmRadioUeRepRankDistr[1]
Rank3=pmRadioUeRepRankDistr[2]
Rank4=pmRadioUeRepRankDistr[3]

#Accessibility
SSSR_Total = 100*(pmRrcConnEstabSucc/pmRrcConnEstabAtt) *
(pmS1SigConnEstabSucc/pmS1SigConnEstabAtt) *
(pmErabEstabSuccInit/pmErabEstabAttInit)
SSSR_RRC = 100 * (pmRrcConnEstabSucc / pmRrcConnEstabAtt)
SSSR_S1_Signalling = 100 * (pmS1SigConnEstabSucc / pmS1SigConnEstabAtt)
SSSR_INITIAL_ERAB = 100 * (pmErabEstabSuccInit / pmErabEstabAttInit)
SSSR_ADDED_ERAB = 100 * (pmErabEstabSuccAdded / pmErabEstabAttAdded)

PAGING_discardrate = 100 * pmPagDiscarded/pmPagReceived


RACH_DecodingRate = 100 * pmRaSuccCbra/pmRaAttCbra

Ret_ERAB_DropRate = 100 * (pmErabRelAbnormalEnbAct +


pmErabRelMmeAct)/(pmErabEstabSuccInit+pmErabEstabSuccAdded)
Ret_ERAB_DropRateeNB = 100 * pmErabRelAbnormalEnbAct /
(pmErabEstabSuccInit+pmErabEstabSuccAdded)
Ret_ERAB_DropRateMME = 100 * pmErabRelMmeAct
/(pmErabEstabSuccInit+pmErabEstabSuccAdded)

Ret_ERAB_DropSec = (pmErabRelAbnormalEnbAct + pmErabRelMmeAct)/pmSessionTimeUe


Ret_ERAB_DropSeceNB = pmErabRelAbnormalEnbAct / pmSessionTimeUe
Ret_ERAB_DropSecMME = pmErabRelMmeAct / pmSessionTimeUe

Mob_IntraLTE_SuccessRate =100 * ( pmHoPrepSuccLteIntraF / pmHoPrepAttLteIntraF) *


(pmHoExeSuccLteIntraF / pmHoExeAttLteIntraF)
Mob_IntraLTE_Preparation =100 * ( pmHoPrepSuccLteIntraF / pmHoPrepAttLteIntraF)
Mob_IntraLTE_Execution =100 * (pmHoExeSuccLteIntraF / pmHoExeAttLteIntraF)

Integrity_PacketLossRate_DL = 100 * (pmPdcpPktDiscDlPelr + pmPdcpPktDiscDlHo +


pmPdcpPktDiscDlPelrUu) / (pmPdcpPktDiscDlPelr + pmPdcpPktDiscDlHo +
pmPdcpLatPktTransDl + pmPdcpPktDiscDlPelrUu)
Integrity_PacketLossRate_UL = 100 * pmPdcpPktLostUl / (pmPdcpPktLostUl +
pmPdcpPktReceivedUl)

PacketLoss = 100 * (SctpAssocRtxChunks / (sctpAssocOutDataChunks +


SctpAssocRtxChunks))

#TWAMP
TWAMP_Packet_Loss_Fwd = 100*(Average(lostPktsFwd)/Average(txPkts))
TWAMP_Packet_Loss_Rev = 100*Average(lostPktsRev)/(Average(rxPkts)
+Average(lostPktsRev)-Average(duplicPktRev))
TWAMP_PL_Max = Max([TWAMP_Packet_Loss_Fwd,TWAMP_Packet_Loss_Rev])
TWAMP_PL_Avg = Average([TWAMP_Packet_Loss_Fwd,TWAMP_Packet_Loss_Rev])
TWAMP_PL_Min = Min([TWAMP_Packet_Loss_Fwd,TWAMP_Packet_Loss_Rev])
TWAMP_Latency_Avg = Average(delayRtAvg) / 1000

You might also like