;(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

Black Friday: 66% das empresas estão otimistas para vendas, diz Boa Vista

Apesar do otimismo, houve queda no percentual de empresas que espera vender mais comparado a 2019  - Foto: iStock/ MicroStockHub
Apesar do otimismo, houve queda no percentual de empresas que espera vender mais comparado a 2019 Imagem: Foto: iStock/ MicroStockHub

Matheus de Souza

São Paulo

23/11/2020 14h01

A maioria das empresas tem perspectivas positivas com relação a vendas na Black Friday deste ano, de acordo com levantamento da Boa Vista Central de Proteção ao Crédito (SC). Segundo levantamento, feito com 600 representantes dos setores do comércio, serviços e indústria, 66% das empresas acreditam que as vendas da Black Friday em 2020 serão iguais ou superiores às de 2019. No entanto, apesar da maioria otimista, houve uma queda de 20 pontos percentuais na comparação com 2019, quando estes eram 86% do total.

Pesquisa aponta também que o maior otimismo parte do setor da Indústria, com 37% das empresas confiantes no aumento das vendas em relação à última Black Friday. Já o setor de Serviços é o menos otimista, com 38% esperando queda nas vendas.

Aproximadamente dois terços das empresas (69%) estão preparados para conceder crédito nesta Black Friday, número que chega a 81% nas empresas do Comércio. Destas empresas, um terço afirma que precisará de apoio na concessão de crédito.

De acordo com a pesquisa, as vendas da Black Friday têm uma representatividade de, em média, 5,7% no faturamento anual das empresas. No ano ado, essa média era de 3,7%, indicando uma maior importância da data este ano para as empresas, muito por conta do desempenho fraco nas vendas em datas comemorativas anteriores, afetadas pelas medidas contra a pandemia do novo coronavírus.

Entre as empresas, apenas 29% pretendem fazer estoque extra e só 18% pretendem fazer contratações adicionais. Questionados sobre o porquê da decisão, 54% dizem que não têm capital de giro para estoque extra e 46% não irão contratar pois já tiveram que reduzir o quadro de funcionários em função da crise ocasionada pela Covid-19.

Entre as estratégias que estão no radar das empresas para a Black Friday, seguindo a tradição da data, está a aposta maior na criação de novas promoções para atrair os clientes (21%).

Já a segunda estratégia mais citada, por 20% das empresas, será a estimulação das vendas nas redes sociais. Foi levantado que 64% das empresas possuem perfis ativos, e 40% delas indicam o Facebook como a rede social mais utilizada. Apenas 37% das empresas possuem site próprio.

Entrevistados apontam que a principal dificuldade apontada pelas empresas para realizar negócios online é em não saber como criar uma comunicação adequada para atingir o seu público-alvo. Em seguida, vêm as fraudes online.