;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

Consumidor brasileiro não se identifica com marca de varejo, diz estudo

Levantamento aponta que 43% dos brasileiros acreditam estar distante das empresas - Marlon Costa/Futura Press/Estadão Conteúdo
Levantamento aponta que 43% dos brasileiros acreditam estar distante das empresas Imagem: Marlon Costa/Futura Press/Estadão Conteúdo

Renato Pezzotti

Colaboração para o UOL, em São Paulo

01/08/2019 16h05

Quase 68 milhões de consumidores brasileiros não se identificam com nenhuma marca de empresas varejista. São 43% dos brasileiros que acreditam estar distante das empresas. Este é um dos principais dados do levantamento "O varejo pelo olhar do consumidor", realizado pelo Instituto Locomotiva.

"Este dado mostra o distanciamento que o varejo tem tido dos consumidores. Em outros momentos de crise, as empresas estiveram ao lado da população. Agora, se afastou", afirmou Renato Meirelles, presidente do instituto. Segundo ele, isto tem acontecido por dois motivos: o excesso de racionalização da comunicação das empresas de varejo e a piora da qualidade de atendimento ao consumidor.

"O que vemos na publicidade hoje, o tempo todo, são ofertas. O investimento em campanhas institucionais diminuiu. Além disso, muitas empresas têm reduzido o número de funcionários. Com isso, há uma piora da queda do atendimento. O consumidor tem mostrado que quer algo mais", declarou o executivo.

Clube do trilhão

Segundo o levantamento, os perfis que menos se identificam com as empresas de varejo são as mulheres, os negros e as pessoas com mais de 50 anos. "Estes três perfis são os que mais crescem e, juntos, montam o 'clube do trilhão'. Cada segmento desses movimentará mais de R$ 1 trilhão nos próximos 12 meses", afirmou Meirelles.

As 108 milhões de mulheres brasileiras movimentarão R$ 1,9 trilhão na economia brasileira em 12 meses, o que significa 41% de todo dinheiro que circulará pelas mãos dos brasileiros. O valor (R$ 1,9 trilhão) é o mesmo que movimentará a parcela que se considera negra no país.

O mercado consumidor que mais cresce no Brasil, entretanto, é o chamado "grey power". Segundo dados do instituto, 28% da população brasileira tem 50 anos ou mais. Eles movimentarão, aproximadamente, R$ 2,1 trilhões nos próximos 12 meses.

"É aí, também, que percebemos este deslocamento da percepção do consumidor com as marcas. Mulheres, negros e idosos não são representados na publicidade. O resultado final é essa falta de identificação com o varejo", disse Meirelles.

O estudo "O varejo pelo olhar do consumidor" foi realizado entre os dias 15 e 28 de junho deste ano, com 1.500 pessoas de todo o Brasil. Segundo a empresa, a margem de erro é de 2,5 pontos percentuais.