IDC: Hlad po PC neutuchá, globální prodeje na sklonku roku vzrostly o čtvrtinu

15. 1. 2021
Doba čtení: 2 minuty

Sdílet

Autor: © Saklakova - Fotolia.com
Prodej PC ve čtvrtém kvartálu 2020 vyrostl o 26,1 %, za celý rok pak o 13,1 %. Analytici naznačují, že díky spotřebitelské poptávce by trh mohl posilovat i letos.

Společnost IDC přináší radostné zprávy z celosvětového trhu PC (desktopů, notebooků a pracovních stanic). Ten se totiž nadále veze na vlně pandemické poptávky a ve čtvrtém kvartálu 2020 vyrostl o 26,1 % na 91,6 milionů kusů.

Za celý rok pak prodej PC posílil o 13,1 %, přičemž klíčová byla poptávka po výpočetních zařízeních vyvolaná potřebou zaměstnantců a studentů pracovat a vzdělávat se z domova.

Každý segment dodavatelského řetězce se v průběhu posledního čtvrtletí loňského roku dostal na hranici svých kapacit,“ vysvětluje Jitesh Ubrani z IDC s tím, že s dílčími problémy se potýkala výroba i logistika.

Ubrani upřesňuje, že výrobci byli například nuceni uchýlit se k letecké dopravě, což sice zkrátilo dodací lhůty, ale zároveň zvýšilo náklady.

Gaming povzbuzuje apetit

Otázkou podle analytiků zůstává, jak dlouho vysoký zájem o PC vydrží. Ryan Reith naznačuje, že trh by si tuto trajektorii mohl zachovat i v roce 2021. „Hnacím motorem byly pochopitelně práce a studium z domova, ale nesmíme zapomenout na sílu spotřebitelského trhu,“ říká.

IDC poukazuje zejména na to, že prodeje herních PC a monitorů trhají rekordy a popularita chromebooků se přelévá ze vzdělávacího segmentu i mezi spotřebitele.

Každý čtvrtý prodaný počítač je od Lenova

Lídrem mezi výrobci zůstalo Lenovo, které ve čtvrtém kvartálu 2020 vyrostlo o 29 % a drželo celou čtvrtinu trhu PC; za celý rok vykázalo 12% růst. Méně se dařilo druhému HP, jež na konci roku zvýšilo prodeje o 11,3 %, za celý rok pak o 7,5 %.

Na třetí příčce se umístil Dell; tento výrobce v posledním čtvrtletí minulého roku zaznamenal 26,8% růst prodejů, za celý rok si ale polepšil jen o 8,1 %. Apple a Acer mají podobnou trajektorii růstu – na konci roku výrobci posílili o 49,2 %, resp. 48,3 % a jejich roční růsty dosáhly 29,1 %, resp. 22,9 %.

Tabulka 1 – Výsledky globálního trhu PC v 4Q20 (miliony kusů)

Výrobce

Prodej 4Q20

Podíl 4Q20

Prodej 4Q19

Podíl 4Q19

Meziroč. změna

1. Lenovo

23,122

25,2 %

17,918

24,7 %

29,0 %

2. HP

19,130

20,9 %

17,185

23,7 %

11,3 %

3. Dell

15,797

17,2 %

12,463

17,2 %

26,8 %

4. Apple

7,349

8,0 %

4,927

6,8 %

49,2 %

5. Acer

6,551

7,2 %

4,418

6,1 %

48,3 %

ostatní

19,641

21,4 %

15,712

21,6 %

25,0 %

Celkem

91,590

100,0 %

72,622

100,0 %

26,1 %

Zdroj: IDC

Tabulka 2 – Výsledky globálního trhu PC v 2020 (miliony kusů)

Výrobce

Prodej 2020

Podíl 2020

Prodej 2019

Podíl 2019

Meziroč. změna

1. Lenovo

72,669

24,0 %

64,855

24,2 %

12,0 %

2. HP

67,646

22,4 %

62,935

23,5 %

7,5 %

3. Dell

50,298

16,6 %

46,546

17,4 %

8,1 %

4. Apple

23,102

7,6 %

17,894

6,7 %

29,1 %

5. Acer

20,989

6,9 %

17,080

6,4 %

22,9 %

ostatní

67,901

22,4 %

58,357

21,8 %

16,4 %

Celkem

302,605

100,0 %

267,667

100,0 %

13,1 %

Zdroj: IDC

Čtěte dále

AMD kupuje Nod.ai, posílí možnosti open source softwaru pro umělou inteligenci
AMD kupuje Nod.ai, posílí možnosti open source softwaru pro umělou inteligenci
Polovina českých podnikatelů neví, jak se bránit proti kybernetickým útokům
Polovina českých podnikatelů neví, jak se bránit proti kybernetickým útokům
Téměř dvě třetiny firem preferují uchovávat zálohu v cloudu
Téměř dvě třetiny firem preferují uchovávat zálohu v cloudu
IDC: Cla necla, globální dodávky počítačů by letos měly vyrůst o 4 %
IDC: Cla necla, globální dodávky počítačů by letos měly vyrůst o 4 %
Tři hlavní důvody, proč malé a středně velké firmy potřebují ke správě sítí umělou inteligenci
Tři hlavní důvody, proč malé a středně velké firmy potřebují ke správě sítí umělou inteligenci
3D tisk – jaké jsou náklady na 3D tisk?
3D tisk – jaké jsou náklady na 3D tisk?
'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }
OSZAR »