Jak sestavit dobrý byznys plán? Přinášíme pár základních tipů, jak na to

10. 6. 2024
Doba čtení: 6 minut

Sdílet

Ilustrační obrázek
Autor: Podnikatel.cz s využitím DALL-E, podle licence: Rights Managed
Ilustrační obrázek
Podnikatelský plán bychom mohli považovat za vodítko, jak se dostat k určitému cíli. Tím cílem může být rozjezd nového byznysu, rozvoj obchodu nebo přilákání nového investora.

Podnikatelský plán určuje budoucnost podnikání. Definuje aktuální pozici, kde jste nyní, kde chcete být k určitému datu a jak se tam chcete dostat. Jak ale správně sestavit takový plán?

Co se dozvíte v článku
  1. Kdy je business plán potřeba?
  2. Je dnes business plán stále důležitý?
  3. Systém psaní může být různý
  4. Základní oblasti byznys plánu
  5. Aspekty chytrého byznys plánu

Kdy je business plán potřeba?

Sestavení podnikatelského plánu není z právního hlediska podmínkou pro založení firmy. Není totiž upraven ani zmiňován v živnostenském zákoně ani v obchodním zákoníku. Přesto může být často vyžadován, nejčastěji ze strany banky, u které si podnikatel sjednává úvěr. Vypracování podnikatelského plánu je důležité, protože slouží začínajícímu podnikateli k orientaci v podmínkách pro zahájení podnikatelské činnosti a pro prezentaci podnikatelského záměru při jednání s bankami a dalšími institucemi v souvislosti s případnou žádostí o úvěr nebo veřejnou podporu, uvedlo již dříve pro server Podnikatel.cz ministerstvo průmyslu a obchodu. 

Jenže žádost o úvěr není jediná situace, která si byznys plán žádá. Měl by podnikání pomoci nejenom v rozjezdu, ale obchod by měl po aktuální revizi dále rozvíjet. Hodí se proto také pro stávající firmy i podnikatele.

Je dnes business plán stále důležitý?

Podle Lukáše Konečného, finančního ředitele v Y Soft Ventures a experta Jihomoravského inovačního centra klasická, podoba byznys plánu nemůže v mnoha ohledech vyhovovat potřebám dnešních podnikatelů, manažerů nebo investorů, reagovat na podmínky současných trhů a stíhat dynamiku vývoje jednotlivých podniků, a to nejen těch začínajících. Důvodem je, že vychází z předpokladu, že okolí firmy je relativně stabilní, že každá společnost se vyvíjí podle určitých více či méně standardizovaných předpokladů, a hlavně že autor plánu může poměrně spolehlivě s dostatečnou jistotou předvídat dění v budoucnosti. 

WT100 25_SE

To však už neplatí, protože se dnešní podnikatelské prostředí vyvíjí rychlým tempem a všichni musí reagovat na pokrok. V takovém prostředí se tak tradiční podnikatelský plán stává do jisté míry reliktem minulosti. Ve své podstatě je totiž jeho tvorba spíše teoretickým myšlenkovým cvičením, které vede k tomu, abychom řešili všechny otázky najednou. Nemotivuje k průběžnému získávání zpětné vazby z trhu, takže plán často staví na neověřených hypotézách, a je tím pádem celý velmi křehký, dodává v článku s tím, že je zároveň jeho příprava časově velmi náročná.

Klasický byznys plán se tak potýká s jednoduchým problémem: rychlost byznysu je vyšší než rychlost psaní. Jak však dále zdůrazňuje Lukáš Konečný, neznamená to, že bychom se měli vzdát procesu plánování jako takového – kritické uvažování spojené s přípravou podnikatelského plánu je totiž pro úspěch v podnikání zcela nutné, stejně jako jasná představa o tom, kde jsme, kam jdeme, jak se tam dostaneme a co nás může cestou potkat. Jen musíme hledat nástroje, které nás v tom budou podporovat, nikoli brzdit, podotýká.

Zajímá vás toto téma? Chcete se o něm dozvědět víc?

Objednejte si upozornění na nově vydané články do vašeho mailu. Žádný článek vám tak neuteče.


'; 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'; } }
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).