KPI Intro

terça-feira, 15 de junho de 2010 20:00:00 Categories: Access Base de Dados Hunter KPI
Rate this Content 1 Votes

Olá! Se você está acompanhando todos os tutoriais, já viu que podemos representar a nossa rede através ferramentas de geo-referenciamento, como Mapinfo e Google Earth, e também que com esse tipo de ferramentas podemos realizar tarefas como análises de drive tests. Mas existem outras formas importantes de verificação de uma rede: uma delas, provavelmente a principal, é a análise através de estatísticas, e é isso que vamos começar a ver hoje.

 

 

Começar? Sim, começar, porque a análise de estatísticas é uma atividade muito ampla, com inúmeras formas de ser realizada. As possibilidades são muito diversas mesmo: diferentes fontes dos dados, tratamento, armazenamento, algoritmos de análise, relatórios e gráficos de saída e aí vai.

E também é muito importante dizer que o profissional que domina a análise de estatísticas tem seu sucesso garantido, diferenciando-se e muito daqueles que não tem essa capacidade. Então o que estamos esperando? Vamos começar logo e aprender.

 

Objetivo

O objetivo do tutorial de hoje é apresentar uma introdução às Análises da Rede através da utilização de Indicadores e Estatísticas.

Essas análises, como já mencionamos brevemente, são muito amplas, e podem ser o tão diversas e complexas quanto desejarmos. Por esse motivo, não vamos conseguir passar tudo a você de uma só vez. E mesmo que tentássemos, com certeza não teria o resultado desejado. Queremos que você acima de tudo aprenda, por isso faremos uma introdução, um pouco mais teórica, abordando os principais conceitos envolvidos em análises de estatísticas. Nem por isso vamos deixar de praticar, mesmo que com a criação de um aplicativo simples. Por isso, entenda este tutorial essencial como uma preparação geral para os demais módulos do Hunter que vão tratar especificamente de análises de indicadores.

Como os conceitos envolvidos são muitos, falaremos brevemente sobre eles, tentando dar uma visão geral. Como falamos, esse pode ser um dos seus diferenciais como profissional, portanto aproveite cada tópico apresentado hoje. E porque não, aproveite para ir liberando sua criatividade: a medida que lendo, pense nas formas de como você faria os mesmos procedimentos. Lembre-se que o Hunter está sempre em melhorias, e sua contribuição poderá fazer um sistema ainda mais inteligente e eficiente.

Nota: Na grande maioria dos tutoriais temos os arquivos relacionados, e que são enviados para os Assinantes.

  • Se você é um Assinante, por favor verifique em seu e-mail o arquivo recebido para este tutorial, e utilize o suporte para qualquer dúvida ou problema que encontrar.
    • Blog_014_Network_Statistics_(KPI_Intro).zip.
  • Se você é um Membro comum e tem acesso apenas ao tutorial escrito, aprenderá sempre conceitos muito importantes que com certeza vão lhe ajudar em seus próprios desenvolvimentos. Leia e comprove em cada novo tutorial.
    • Se você deseja contribuir de alguma forma, a maneira mais simples é tornar-se um Assinante.

A nossa audiência vai de estudantes a profissionais experientes. Por isso pedimos um pouco de compreensão e tolerância se alguns dos conceitos hoje apresentados forem básicos para você. Além disso, todos os tutoriais, códigos e programas estão num processo contínuo de edição. Isso significa que se encontrarmos algum erro, por exemplo, de gramática ou ortografia, tentaremos corrigi-lo o mais rápido possível. Também gostaríamos de receber o seu feedback, nos informando de erros encontrados ou passagens que ficaram confusas e merecem ser reescritas.

 

Estrutura de Arquivos

Novo módulo – novos diretórios e arquivos. Crie a nova estrutura conforme mostrado a seguir. O diretório principal que contém todos os demais diretórios desse módulo é o diretório KPI (1).

 

Você já deve estar familiarizado, mas lembramos que os dados de entrada são armazenados no diretório Data (2), até serem processados pelos códigos que ficam no diretório Scripts (4), e por fim são inseridos nas tabelas do banco de dados, no diretório Database do módulo (3).

Criada a estrutura de diretórios, podemos prosseguir.

 

O que são Indicadores?

Antes de qualquer coisa, você sabe o que é um Indicador? Como o próprio nome sugere, um indicador serve para sinalizar ou indicar como está alguma coisa. Os indicadores baseiam-se em uma referência, e a partir dela, sabemos se a medida está boa ou ruim.

Num exemplo prático, imagine uma pessoa com febre. Um indicador que utilizamos para saber isso é a temperatura. Ou seja, utilizando um termômetro, medimos qual a temperatura da pessoa. Se estiver muito maior que cerca de 37 graus, ela está com febre – ruim. Em outras palavras, os indicadores permitem qualificar através de comparações.

 

No caso de nossa rede não é tão diferente, os indicadores são usados para sabermos se a mesma está ruim, boa ou aceitável por exemplo. Após cada atividade realizada, utilizamos indicadores para avaliar o resultado das ações tomadas.

 

E quais são os Indicadores de uma Rede Celular?

Já vimos que os indicadores de uma rede celular são muitos e podem vir de inúmeras fontes. E como hoje ainda estamos numa visão geral, vamos falar apenas de alguns – mais básicos porém mais importantes, e posteriormente falamos dos demais, tudo a seu tempo.

Continuando a analogia com o caso da febre, além da temperatura existem outros indicadores, como por exemplo se a pessoa está com dor de cabeça ou não, se a garganta está inflamada, etc. Mas observe: apenas com a temperatura – muito alta – já podemos saber que a pessoa está mal, com febre. Os demais indicadores neste caso nos ajudarão a ver qual o melhor remédio deve ser tomado, ou seja, qual a solução a ser adotada. Mas o problema já foi verificado! Ou seja, apenas com o indicador chave temperatura já temos como saber que existe o problema.

Voltando para o nosso mundo de uma rede celular, veja a figura abaixo. Nota: novamente estamos usando os nossos recursos gráficos limitados, por favor dê mais importância ao conteúdo que a apresentação neste caso, tudo bem? E se você tiver habilidades com desenho, e quiser nos ajudar, entre em contato, temos inúmeras ilustrações para converter.

 

Suponha que alguém fez uma ligação, com duração de 30 minutos. Suponha também que essa ligação tenha sido feita sem problemas, ou seja, não teve nenhum tipo de bloqueio, e ela foi terminada normalmente – não caiu.

Acredite ou não, a suposição acima já define os principais indicadores de uma rede! Considerando o nosso universo de amostragem apenas essa pessoa, podemos dizer que a nossa rede teve naquele horário um Tráfego de 0.5 Erlangs, uma Taxa de Queda de Chamadas de 0%, e uma Taxa de Bloqueio igualmente de 0%. (O que é Erlang? E Taxa de Quedas? Calma, vamos falar depois.)

É claro que não dá para considerar uma amostragem tão pequena, não tem sentido. Mas serve para exemplificar.

Finalizando a analogia com o caso da febre, você se lembra que a temperatura pode ser entendida como um indicador chave não? Pois é, no caso da nossa rede, os três indicadores acima também podem entendidos como chave para se avaliar a rede. Por isso, esses três indicadores – tráfego, quedas e bloqueio, junto com alguns outros poucos como handover, formam o que chamamos de Indicadores de Performance Chave, mais popularmente conhecidos como KPI. O nome é intuitivo, e são os indicadores mínimos para qualquer análise ficar completa.

Indicadores também podem ser de vários tipos, sempre baseados numa contagem ou medida. Podem ser analisados os valores absolutos, percentuais, ou outros. É comum o uso de fórmulas de estatística, e outros recursos como gráficos e mapas temáticos, geo-referenciados ou não.

Agora você compreendeu porque falamos antes que as análises podem ser o quanto mais complexas e completas quisermos não? Mas não se preocupe, hoje estamos apenas passando pelos conceitos principais. Existem diversos módulos Hunter responsáveis por tornar a análise de estatísticas da rede o mais eficiente e simplificado possível. Veremos com detalhes cada um deles em breve, e quase todos os conceitos serão mais detalhados a seu tempo, sempre que necessário. O que queremos de você hoje é que você tenha uma noção geral. Apenas isso, podemos continuar?

 

Na prática, como são analisados os Indicadores?

Na prática, os indicadores são armazenados – geralmente em banco de dados e/ou tabelas – a fim de permitir posteriores consultas e análises históricas, mas podem estar disponíveis quase em tempo real, dependendo da sua aplicação.

Não importa qual seja a fonte, o ideal é consolidar os dados em um só local, facilitando assim o acesso a todos as informações que possam ser úteis na análise. As consultas a esses dados podem ser feitas de diversas formas, via SQL, diretamente nas tabelas, ou através de interfaces proprietárias e/ou desenvolvidas para essa finalidade.

A forma mais comum e fácil de entender os indicadores é através da OSS que fornece os dados estatísticos da rede. É aquele programa que nos permite baixar os dados de um determinado período, para determinados elementos de rede.

Ok, a conversa está ficando muito técnica, vamos mudar o foco...

Os indicadores geralmente são reunidos em grupos de contadores, e uma rede celular tem milhares de contadores. Isso mesmo, milhares. Dependendo da tecnologia e do fornecedor, o nível de detalhamento dos contadores é bem profundo, motivo de se terem tantos. Mais uma razão de sabermos o que estamos fazendo.

Novamente, ficará mais fácil entender quando fizermos análises na prática.

 

Automatização

Quando se trabalha com uma quantidade de dados muito grande, e há necessidade de tratamento repetitivo dos mesmos, a automatização torna-se praticamente obrigatória.

Ferramentas profissionais utilizam programação e banco de dados avançados. Por exemplo utilizam C#, php ou Java acessando dados em bancos Oracle, SQL, entre outros. Os processos são periódicos, e geralmente buscam dados de algum servidor através de ftp. Complicado? Sim, mas não vamos nos preocupar com essa complexidade. Utilizaremos artifícios bem interessantes no Hunter, onde quase sempre atingimos os mesmos resultados que essas ferramentas, você vai ver.

Sem medo de parecer nada modestos, temos uma resposta pronta quando alguém nos pergunta se dá pra fazer algo, usando uma macro ou coisa parecida. A resposta imediata é SIM! É claro que estamos falando em termos de análises & informática, mas com vontade e criatividade, você vai ver que realmente conseguimos fazer quase tudo o que imaginarmos de forma mais eficiente. É esse o conceito mais implícito na ferramenta Hunter, e queremos que você também tenha essa habilidade e conseqüente confiança. (E lembre-se, se aparece algum desafio que você não conseguir resolver, peça a ajuda do nosso suporte! Ficaremos felizes em tentar ajudar).

 

E como vamos trabalhar com o Hunter?

Vamos tentar, na medida do possível, reproduzir os processos de um ambiente com processos automatizado e também não-automatizados.

 

Dizemos na medida do possível porque existem passos que provavelmente você (ainda) não deve ter contato. Por exemplo, quando tem que baixar dados de contadores, como você faz? Provavelmente, através da interface de uma OSS não? Ou talvez através de ftp? Mesmo assim, utilizando algum programa de ftp ou algo parecido, e manualmente!

Em alguns casos vamos simular que os dados já tenham sido baixados – exportados da OSS – para alguns horários e dias específicos. Provavelmente você irá trabalhar com o Hunter de forma periódica, ou seja, periodicamente (diariamente?) acessará a OSS, e buscará o grupo de contadores desejados em suas consultas criadas ou pré-definidas, salvando os arquivos na pasta padrão de importação.

Com o tempo vamos encontrar a melhor forma. Agora vamos continuar.

 

Dados

Como sempre, nossos dados são fictícios. Reproduzindo a forma mais comum de dados de saída de uma OSS qualquer, temos pelo menos um campo identificando o período (1), um ou mais campos que identificam o elemento em sua granularidade (2) e os campos dos contadores propriamente ditos (3).

Assim, temos um exemplo de dados de contadores brutos exportados da nossa OSS padrão. Representaremos pelo arquivo counter_kpi.xls, localizado na pasta Data do módulo KPI.

 

Observação: no nosso exemplo, apenas para demonstração, os nomes dos contadores são bem intuitivos. Por exemplo, o nome do nosso contador que tem a quantidade de chamadas que caíram é counter_call_drop. Na prática, esse contador pode ter um nome qualquer, como por exemplo xy123a, e a sua correlação e significado ser obtido através de tabelas auxiliares. Além disso, os contadores não necessariamente representam o indicador propriamente dito. Os indicadores são definidos por métricas.

 

E o que são Métricas?

Métricas são a representação matemática dos Indicadores, ou seja, quais os cálculos deve ser realizados, e quais os contadores devem ser utilizados para chegar ao valor desejado.

Um exemplo de métrica: taxa de quedas de chamadas. A taxa de queda de chamadas, como o intuitivo nome sugere, nos informa como as chamadas estão caindo – quanto maior a taxa, mais chamadas estão caindo, pior está a nossa rede.

Seguindo os contadores definidos em nosso arquivo de exemplo, definimos algumas métricas para exemplificar. São os campos da consulta qry_KPI.

  • TRAFFIC: counter_traffic
  • TOTAL_CALL_DROPS: counter_call_drops
  • CALL_DROPS_%: 100*[counter_call_drops]/[counter_call_success]
  • TOTAL_CALL_BLOCKS: counter_call_blocks
  • CALL_BLOCKS_%: 100*[counter_call_blocks]/[counter_call_attempts]

Pronto, temos um primeiro relatório, consideravelmente simples, mas com informações bem importantes.

 

Uma forma rápida de se trabalhar com os dados é utilizando os recursos do próprio Access. Por exemplo, para ver qual o setor com pior taxa de quedas de chamadas nesse horário, clique num registro qualquer do campo CALL_DROPS_% (1) e em seguida clique em Ordenar por Descendente (2). (Como falamos porém é apenas uma forma rápida, e não a forma como vamos trabalhar).

 

Se começou a ficar confuso para você, tudo bem. Fique tranqüilo porque vai ficar mais fácil quando você praticar.

 

Processo

Ok, logamos na nossa OSS, e exportamos os arquivos com os dados de nossos contadores. E agora?

Bom, o próximo passo é armazenar esses dados em uma tabela. Assim, no próximo horário, quando tivermos um novo arquivo gerado, voltamos a importar, e com o tempo teremos uma tabela com os dados acumulados adequadamente.

Isso é feito através do VBA. No nosso exemplo de hoje, temos um pequeno aplicativo de exemplo, que realiza as operações de importação (1), armazenamento (2) e apresentação dos indicadores da rede (3).

 

A tabela cumulativa tbl_kpi_counters fica no banco de dados Hunter_KPI_DB.mdb, localizado no diretório Database do módulo KPI.

 

O banco de dados Hunter_KPI_RUN.mdb, localizado no diretório Scripts do módulo KPI, tem essa tabela tbl_kpi_counters vinculada. Já vimos nos primeiros tutoriais o motivo de se utilizar tabelas vinculadas, se estiver com dúvidas, por favor, releia os mesmos.

 

Quando executamos a macro KPI_Main_RUN a mesma executa o código VBA que apaga os dados da tabela tbl_kpi_counters, e em seguida importa os dados do arquivo kpi_counters.xls localizado no diretório Data do módulo KPI.

Os dados acumulados na tabela tbl_kpi_counters podem ser acessados através de consultas. Podemos criar consultas predefinidas para cada finalidade, e chamá-las quando necessário.

Existem diversas formas de mostrar os dados: executando a consulta qry_kpi diretamente através da interface do Access, abrindo a mesma através do código VBA, ou até mesmo usando uma macro. Para exemplificar este último caso, colocamos a opção de mostrar a consulta com os dados finais na macro, conforme mostrado abaixo.

 

Vamos ver só mais algumas dicas e conceitos importantes, para terminar por hoje, tudo bem?

 

Homogeneização

Um outro conceito que utilizamos no Hunter é o de homogeneização. Isto significa que buscamos sempre que possível, consolidar todas as estatísticas numa só tabela, não importando a tecnologia, o fornecedor, etc...

Para ficar mais fácil de entender, imagine uma rede com equipamentos GSM de um Fornecedor A, e equipamentos UMTS de um outro Fornecedor B. Ao invés de trabalharmos de forma distintas com ambos, preferimos agrupar os dados. Dessa forma, continuamos podendo obter relatórios de forma separada, mas fica mais simples, e vantajoso, obter também relatórios gerais.

Vamos a um exemplo. Podemos ter uma tabela com os KPI GSM, mostrado em verde. Vemos rapidamente que tivemos um tráfego de 21.66 Erlangs na BTS GCELL01, e 5 quedas.

 

De forma similar, para a BTS UMTS UCELL01, o tráfego cursado foi de 84.86 Erlangs, e tivemos 36 quedas.

 

Mas se homogeneizamos os nossos dados, temos uma tabela única, e todas as consultas podem ser feitas sobre a mesma.

 

Os mesmos dados anteriores são facilmente obtidos na tabela final. Só que aogra temos também, de forma simples, o resumo do sistema! Vemos por exemplo que o site CELL01 (GSM + UMTS) teve um tráfego total de 106.52 Erlangs!

 

Algoritmos Hunter

Finalizando por hoje, usamos atualmente quatro algoritmos para análise de dados com o Hunter, e são eles:

  • Top & Summary: a forma mais comum de se analisar. Para cada período analisado, é apresentado um resumo, com valores para o sistema todo, e relatórios auxiliares com os TOP N ofensores em cada item.
  • Delta: a melhor forma de se verificar anomalias na rede, verifica se alguma coisa está fora do padrão esperado. Será mostrado com mais detalhes em um tutorial futuro (Hunter KPI Delta), e é imprescindível para a área de O&M.
  • Rank: algoritmo mais completo, que envolve pesos e ponderações de todos os indicadores. Também por sua complexidade, será detalhado em um tutorial posterior (Hunter KPI Rank).

Poderíamos falar bem mais sobre cada um desses algoritmos que vamos usar, e também sobre alguns conceitos que não vimos ainda. Mas por hoje você já deve estar com a cabeça bem cheia, não?

Assim, vamos ficando por aqui, tente pelo menos entender o que é de forma geral a análise da rede através de indicadores e estatística. Os detalhes veremos em breve, em cada novo tutorial.

 

Conclusão

Tivemos hoje o nosso primeiro contato com os Indicadores de Rede, e pudemos perceber a importância de se analisar a rede através de estatísticas. Novos conceitos forma vistos, mas serão estudados com mais detalhes, e maior aplicação prática em módulos futuros do Hunter, específicos a cada processo e/ou algoritmo visto.

De forma bem simplificada, apenas para fins de demonstração, criamos um aplicativo que simula os procedimentos básicos de importação, armazenamento e apresentação de dados. Embora simples, nos permite imaginar os ganhos que estão por vir com ferramentas que nos auxiliem tanto em rapidez no processamento, precisão nas análises e facilidade de operação – a ferramenta Hunter.

Esperamos que você tenha gostado. Tire suas eventuais dúvidas postando seus comentários no Blog ou através do nosso Suporte via Chat ou E-mail.

Até nosso próximo encontro, e lembre-se: O seu sucesso é o nosso sucesso!