;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Quer mudar de operadora? Anatel usa AI para te mostrar qual é a melhor

Getty Images/iStockphoto
Imagem: Getty Images/iStockphoto

Rosália Vasconcelos

Colaboração para Tilt

11/05/2021 04h00

Quer uma ajudinha na hora de escolher qual operadora banda larga fixa ou de celular contratar? A Anatel (Agência Nacional de Telecomunicações) conta com uma ferramenta simples, objetiva e intuitiva que reúne praticamente todo tipo de dado referente ao setor.

O "Painéis de Dados da Anatel", como foi batizado pela agência, traz informações desde os tipos de reclamações junto às operadoras, qualidade da prestação dos serviços, orientações sobre portabilidade, até o uso de ferramentas de alertas de desastres, entre outros temas.

Ele foi desenvolvido na plataforma Qlik Sense, que usa inteligência artificial para fazer o cruzamento de dados, dando a quem a a possibilidade de descobrir novos insights por si só. Segundo a Anatel, a iniciativa foi pensada para facilitar a visualização das informações por diferentes públicos: consumidores, empreendedores, universidades, imprensa, empresas, consultorias, órgãos públicos, entre outros.

"O objetivo do é dar transparência aos dados de telecomunicações de forma moderna e intuitiva, apresentando diversas informações reunidas em único lugar para o monitoramento ágil pela população brasileira", explica Humberto Pontes, chefe da Assessoria Técnica da Anatel.

Juntas, essas informações podem ajudar o cidadão e as empresas a tomarem decisões, como a escolha ou a troca de operadora de telefonia celular, por exemplo, ou investir em regiões que carecem de serviços.

Como a ferramenta funciona

Para chegar ao "Painéis de Dados da Anatel", é preciso ar o link. Ao chegar na plataforma, a pessoa vai se deparar com 12 abas.

Página inicial do "Painéis de Dados da Anatel" - Reprodução - Reprodução
Imagem: Reprodução

A pessoa pode navegar por cada aba pelas informações através de filtros específicos por assunto, a partir de critérios já estabelecidos. Por exemplo, na aba "os", a pessoa pode filtrar por região, estado, município, porte da prestadora, empresa, etc., tornando o resultado da busca bem refinado, caso seja o objetivo do consumidor.

Também é possível exportar os dados para planilhas. Em cada aba, um vídeo curto com um tutorial simples auxilia quem tiver dúvidas sobre a navegação.

Por meio dos filtros, a pessoa pode ainda comparar estatísticas das operadoras em seu município, como a cobertura, a qualidade do serviço, a quantidade de reclamações, etc. Para o consumidor final, é possível saber quais os tipos de reclamações mais frequentes ou qual a operadora com o maior número de reclamações, em Nova Iguaçu (RJ) ou em Petrolina (PE), por exemplo.

Painéis de Dados da Anatel - gráficos gerados por IA   - Reprodução - Reprodução
Imagem: Reprodução

"Essa possibilidade de análise traz um grande ganho para o cliente, que pode analisar não apenas pacotes e preços, mas a qualidade do serviço de determinada operadora em sua localidade. Ele fica com um grande poder de decisão", defende Guilherme Tavares, o executivo-chefe do Centro de Serviços Compartilhados (CSC) do Grupo Toccato. A empresa é responsável pela implementação da inteligência de negócios que possibilitou a criação dos Painéis de Dados.

A partir dos mapas de densidade dos serviços e o, as operadoras podem utilizar as informações para ampliar seus serviços de cobertura. Além disso, o Painéis de Dados também controla os indicadores de qualidade e permite verificar se as prestadoras cumprem com o estabelecido nas resoluções.

É importante frisar, contudo, que o Painéis de Dados é a ferramenta para divulgação de dados e não para registro de reclamações. Para fazer uma reclamação da operadora, o consumidor deve usar o sistema e aplicativo Anatel Consumidor.

Como era antes?

Muitos dos dados distribuídos na plataforma já eram disponibilizados pela Anatel. Mas antes era necessário fazer o pedido via email ou através da Lei de o à Informação. Como os dados não estavam estruturados nem mesmo entre os servidores do órgão, as respostas poderiam demorar dias ou semanas até chegar ao interessado.

As informações também eram entregues sem interatividade, com imagens estáticas e planilhas, diferente do que é entregue hoje pelo Painéis de Dados. Na prática, o consumidor, seja ele o cidadão ou a empresa, ganha tempo e análises mais consistentes a respeito de suas demandas.

"A gente entrega a informação na mão do cliente. O consumidor conhece melhor o perfil de cada empresa que atua no setor e a empresa tem o em tempo real da sua linha de negócios. Através do cruzamento de informações, é possível descobrir, por exemplo, indicadores de desempenho das prestadoras, índices de interrupção dos serviços, pesquisa de satisfação e outras informações", ressalta Guilherme Tavares.

As informações fornecidas no Painéis de Dados são alimentadas mensalmente pelos servidores da Anatel. Muitas delas são enviadas pelas próprias operadoras de telecomunicações que atuam no país.