článek

Lineární regrese funguje!

„My informatici umíme opravdu ocenit, když máte poznámky zapsané na papíře", říká s oblibou kamarád ajťák. My matematici zase oceníme, když nám uvěříte, aniž bychom museli něco počítat. Je-li někdo skeptický k aplikačním možnostem matematiky, jsou to právě matematici. Jestli se po třiceti letech mimo obor mohu stále ještě za matematika považovat, opravdu nevím. Soudě podle míry výše popsané skepse, nejspíš však ano. Svým výpočtům prostě nevěřím. Viděno z lepší stránky: dokážu se radovat jako malé dítě, kdykoli něco spočítám správně.

Pro normálně fungující podnik moc matematiky opravdu nepotřebujete. Většina vztahů je přímočarých. Tentokrát to myslím doslovně. Vzájemná závislost vypadá v grafu jako přímá čára, z matematického hlediska jde o lineární funkci. Jsou-li dvě veličiny mezi sebou svázány takovou závislostí, lze vypočítat hodnotu jedné z nich (závisle proměnné, označme ji y) pomocí druhé (nezávisle proměnné, kterou označíme x) podle vzorce y = A*x + B. Konstanty A, B bezezbytku popisují vztah obou proměnných: Čím větší A, tím větší je dopad změny proměnné x na proměnnou y a tím rychleji roste y, pokud roste x. Čím větší B, tím vyšší hodnotu nabývá proměnná y při x = 0; toto číslo pak představuje stálou část hodnoty y, uplatňující se vedle části druhé, která je výše popsaným způsobem svázaná s hodnotou x.

Příklady:

  • Měsíční náklad spotřebované elektrické energie je reprezentován stálou částkou B (za elektřinu na svícení, klimatizaci, vytápění, která se – pomineme-li možné rozdíly v délce dne a venkovní teplotě – v měsíčních fakturách nijak podstatně nemění) a dále určitou hodnotou A, utracenou ve zhruba stejném rozsahu na každou hodinu, kdy běží výrobní linka. Výsledek? Běží-li linka v měsíci x hodin, pak y = A*x + B.
  • Pomineme-li, že reálný podnik se nechová úplně tak, jak popisuje diagram bodu zvratu, pak lze celkové provozní náklady firmy rozložit na část B, tvořenou náklady fixními, a také stálou částí nákladů smíšených (tyto náklady jsou částečně fixní a částečně variabilní, příkladem je výše zmíněná spotřeba elektřiny), a část A*x, tvořenou výkonově závislými zbytky smíšených nákladů (Ai *x) společně s náklady variabilními.
  • Hodnota podnikových zásob má svoji stálou část B, reprezentovanou položkami, které se spotřebovávají nezávisle na objemu produkce (sem patří i „ležáky", které se nespotřebovávají vůbec) a zároveň s výkonem svázanou část A*x, která je víceméně přímo úměrná produkci x (aktuálního nebo následujícího období, podle toho, s jakým předstihem se nakupuje a jak dlouho trvá produkce) – jde o produktové vstupy, rozpracovanou produkci i zásobu hotových produktů.
  • Obdobně se chová má hodnota pohledávek provozního charakteru: část B pochází z pravidelných výnosů, pokud vůbec existují, a samozřejmě i z nedobytných pohledávek, část A*x přísluší běžné fakturaci za prodanou produkci.
  • V případě provozních závazků je situace obdobná: část B vzniká z nákupu, který odpovídá fixně spotřebovaným vstupům, tedy fixním nákladům, (nejspíš včetně velké části osobních nákladů), a také z pravidelných platebních povinností typu záloh na daň z příjmu (platí jen v rámci příslušného období, na které je záloha vyměřena). Část A*x pochází z nákupu produktových vstupů – i zde platí poznámka ohledně časového posunu, uvedená u zásob.

Všechny výše zmíněné vztahy platit mohou, ale taky nemusí – záleží na tom, jak moc „normálně" podnik právě funguje. Jediná realizovaná investice, vymykající se obvyklému rozsahu obnovy, může prakticky všechny zmíněné hodnoty y podstatně „rozhodit". Právě odtud ostatně pramenila až donedávna moje skepse ohledně aplikace matematiky pro tento případ – a vida, ono to přesto někdy jde!

Dále uvedené příklady jsou autentické – v tom je jejich hlavní důkazní síla. S výjimkou analýzy spotřeby elektrické energie dokonce pocházejí z jednoho podniku, prvního, který jsem takto komplexně testoval. Čísla jsou pochopitelně anonymizovaná. K potvrzení hypotézy o jednoduché lineární závislosti byla použita excelovská funkce LINREGRESE, která sice vypadá na první pohled komplikovaně (způsob jejího použití najdete v helpu MS Excel), ale nakonec vás docela příjemně překvapí. Doporučuji požít nejjednodušší formát, jak je popsán ve vzorových příkladech nápovědy. Tahle funkce provádí matematický postup, zvaný „lineární regrese" – vyhledá taková čísla A, B, která nejlépe (pochopitelně ne úplně přesně, ale s nejmenšími odchylkami) vystihují lineární závislost dvou veličin, jejichž dvojice hodnot uvedete do vstupní tabulky (půjde vlastně o dvě řady skutečně změřených hodnot pro pokud možno co největší počet období „normálního fungování" podniku).

Dostanete-li výsledek – jedinou dvojici konstant A a B, můžete pro každé „x" v minulosti vašeho podniku spočítat „ideální dvojče" k jemu příslušnému, v původní tabulce uvedenému „y". Vynesete-li hodnoty obou typů dvojic (x a původní y, x a nové y) do grafu (vodorovná osa – proměnná x: podnikové tržby, hodiny práce linky apod., svislá osa – závisle proměnná y: hodnota spotřeby, zásob, pohledávek, závazků), budou dvojice s novými ypsilony ležet na „božsky vyhlazené" přímce. Pozor – nejde o běžný graf, ve kterém je na vodorovné ose čas, a nejde ani o žádnou čáru znázorňující časový průběh zleva doprava. Dva blízké body mohou klidně reprezentovat časově velmi vzdálená období! V excelovském výběru musíte zvolit variantu grafu „XY bodový". Vzdálenost bodů z původních dvojic, tedy dat „z reálného světa", které jsou na dále uvedených obrázcích vyznačeny hnědou barvou, od svých „božských ideálů" – na obrázcích modře – pak vyřkne definitivní soud, nakolik jsou získané hodnoty A, B vhodné mj. třeba k předpovědi y pro forecastovanou hodnotu x.

Nyní již k samotným výsledkům na obr. 1 - 6: Hodnota A – v grafech sklon přímky, spojující modré body – představuje jakýsi doporučený „koeficient variability" (čím vyšší, tím přímka stoupá s rostoucím x rychleji), použitelný třeba pro očištění nezaviněné (výkonem zdůvodnitelné) odchylky při vyhodnocování rozpočtů. Hodnota B, v grafech vyznačená na svislé ose, se pak snaží uhodnout „stálou porci" v reportovaných proměnných hodnotách. Ve shodě s předchozími příklady pokazuje třeba na množství fixních nákladů a po jistém očištění také na aktuální úroveň ležáků nebo nedobytných pohledávek.

Obr. 1: Provozní náklady v závislosti na tržbách za osm posledních kvartálů. Žluté číslo představuje odhad velikosti fixní složky.

Obr. 2: Úroveň zásob v závislosti na tržbách za roky 2014–2019.

Obr. 3: Úroveň pohledávek v závislosti na tržbách za roky 2014–2019.

Obr. 4: Úroveň závazků v závislosti na tržbách za roky 2011–2016. V letech 2017–2018 došlo ke změně v provádění úhrad, data nebyla využita.

Obr. 5 Problém: spotřeba elektřiny v závislosti na produkci za jednotlivé měsíce, zatím bez použití regrese. Vyhlídky na „božskou přímku" nebyly nejlepší.

Obr. 6 Zlepšení: lineární regrese byla provedena samostatně pro data 2017 a 2018 (jak se ukázalo, pro rok 2018 byla nasmlouvána výrazně jiná nákupní cena). Navíc došlo k vyřazení vždy dvou největších extrémů v jednotlivých letech (zakroužkováno) – podobně jako se škrtá v hodnocení krasobruslařů (faktury za tato období nebyly úplně „normální" – došlo mj. k posunům v intervalu zúčtování).

Další zprávy z této kategorie