Predictive cash flow și volatilitatea venitului: modelare stocastică, Monte Carlo și VaR pentru antreprenori
La nivel de specialist, predictive cash flow și volatilitatea venitului nu se tratează cu o singură prognoză „medie”, ci cu o întreagă distribuție de scenarii generate stocastic. Diferența dintre antreprenorul avansat și cel expert este metodologică: avansatul lucrează cu trei coloane bas-mid-top; expertul rulează Monte Carlo simulation income pe 1000+ traiectorii, citește percentilele și transformă incertitudinea într-un parametru optimizabil. În această lecție construim cadrul complet de stochastic scenario modeling venit: calibrarea procesului generator, simularea fluxului de numerar, calculul de Value at Risk cash flow la 95% și al Expected Shortfall, apoi traducerea acestor mărimi în reguli de contingency planning volatil venit, de income smoothing și remunerare și de downside protection venit variabil.
Presupun că stăpânești deja burn rate-ul pe scenarii, prognoza rolling pe 18 luni și logica salariu vs dividend dintr-un SRL românesc — nu le reluăm. Aici mergem la probabilistic forecasting freelancer și firmă mică: cum modelezi venitul ca proces aleator cu drift, sezonalitate și salturi, cum propagi această distribuție prin contul de cash, și cum derivi pragul minim de buffer dintr-o constrângere explicită de probabilitate de ruină, nu din intuiție.
Toate cifrele sunt calibrate pe România 2026: cote de impozitare PFA/SRL, plafoane CASS/CAS, dobânzi de referință BNR și praguri reale în lei. Unde un parametru depinde de istoricul tău concret (volatilitatea încasărilor, autocorelația lunară), îl marchez ca ipoteză de calibrat, nu îl inventez.
De ce media venitului este o capcană și ce înlocuiește prognoza punctuală
Eroarea fundamentală a planificării non-stocastice este reducerea venitului la un singur număr așteptat. Dacă încasezi în medie 45.000 lei/lună dar cu o deviație standard de 18.000 lei și o asimetrie negativă (cozi de luni proaste mai lungi decât cele bune), atunci un plan construit pe medie eșuează exact în lunile care contează. Tu nu trăiești din E[V], ci din distribuția completă a cash flow-ului cumulat.
Mărimea corectă nu e media, ci funcția de repartiție a soldului de cash la fiecare orizont. Notăm:
- Vt — încasarea (cash-in) din luna t, variabilă aleatoare.
- Ft — cheltuielile fixe + variabile angajate în luna t (în mare parte deterministe pe orizont scurt).
- Ct = Ct−1 + Vt − Ft — soldul de cash la finalul lunii t, un proces cumulat (random walk cu drift și sezonalitate).
- τ = min{t : Ct < 0} — momentul de ruină de lichiditate (primul moment în care rămâi fără bani).
Obiectivul nu mai este „să prognozez venitul lunii viitoare”, ci „să mențin P(τ ≤ 12) sub un prag de toleranță” — de exemplu sub 2%. Aceasta este o constrângere de probabilitate de ruină, și ea dictează cât buffer ții, cât scoți acasă și când reinvestești.
Calibrarea procesului generator al venitului
Înainte de orice simulare, trebuie să descompui seria ta istorică de încasări lunare în componente. Modelul minimal recomandat pentru un venit antreprenorial volatil are patru blocuri.
1. Drift, sezonalitate, autocorelație
Pe logaritmul încasărilor (log pentru a captura multiplicativitatea și a evita valori negative), estimează:
- Drift μ — creșterea medie lunară. Dacă afacerea ta crește ~10%/an, μ ≈ ln(1,10)/12 ≈ 0,0079/lună.
- Sezonalitate sm — 12 coeficienți lunari (ex. august −25%, decembrie −15%, mai +20%) estimați ca medii lunare deviate de la trend.
- Autocorelație φ — un client bun azi tinde să producă o lună bună și mâine. Estimează un AR(1): ln Vt = c + φ·ln Vt−1 + εt. Tipic φ ∈ [0,3; 0,6] pentru servicii cu clienți recurenți; φ ≈ 0 pentru proiecte one-off.
- Volatilitate σ — deviația standard a reziduurilor εt. Aceasta este inima volatilității venitului; o subestimezi sistematic dacă ai doar 12-18 luni de istoric.
2. Salturi (jump component) — clientul mare care pleacă
Volatilitatea normală nu surprinde evenimentele rare: pierderea unui client de 40% din cifră, o factură mare neîncasată, un sezon ratat complet. Acestea sunt salturi (regime jumps) și se modelează cu un proces Poisson: cu probabilitate λ pe lună, venitul scade cu un factor de șoc J (ex. −35%). Pentru un freelancer cu top-3 clienți = 70% din cifră, λ ≈ 0,05-0,10/lună (un șoc serios la fiecare 10-20 luni) este o calibrare prudentă. Ignorarea jump-ului este cauza #1 pentru care simulările naive subestimează grosolan riscul de coadă.
3. Întârzieri de încasare (DSO stocastic)
Venitul facturat ≠ cash încasat. Modelează separat lag-ul de plată: fiecare factură se încasează după d zile, unde d e și el aleator (ex. lognormal cu mediană 30 și coadă până la 90+). Pe venit B2B în România, un DSO mediu de 45-60 zile cu cozi la 90 zile este realist. Acest lag transformă o lună bună pe hârtie într-o criză de lichiditate reală două luni mai târziu — și doar simularea cash-ului (nu a venitului) o prinde.
4. Componenta deterministă a cheltuielilor
Ft are o parte fixă (chirie, salarii nete + contribuții, leasing, contabilitate) și una variabilă-proporțională (comisioane, costuri direct legate de proiect). Modelează Ft = Ffix + β·Vt, unde β e fracția variabilă (ex. 0,15). Atenție: impozitarea e o cheltuială stocastică derivată — la SRL micro plătești 1% sau 3% pe venit, la SRL pe profit 16% pe profit, la PFA real 10% impozit + CAS/CASS pe baze plafonate. Tratamentul fiscal corect intră în Ft, altfel umfli cash-ul net.
Motorul Monte Carlo: de la proces la 1000+ traiectorii
Cu procesul calibrat, simularea este mecanică. Algoritmul, pas cu pas, pentru N = 5.000 traiectorii pe orizont H = 18 luni:
- Pas 1. Pentru fiecare traiectorie n și fiecare lună t, trage εt ~ N(0, σ²) și aplică recursiv ln Vt = c + φ·ln Vt−1 + sm + μ·t + εt.
- Pas 2. Trage indicatorul de salt Bt ~ Bernoulli(λ); dacă Bt = 1, multiplică Vt cu (1 + J), J negativ.
- Pas 3. Aplică lag-ul de încasare: distribuie Vt (facturat) pe lunile t, t+1, t+2 conform distribuției DSO.
- Pas 4. Calculează Ft și impozitul aferent regimului tău, apoi Ct = Ct−1 + cash-int − Ft.
- Pas 5. Înregistrează întreaga traiectorie {Ct} și marchează dacă a atins ruina (min Ct < 0).
După N rulări ai o matrice H × N de solduri. Din ea citești totul: percentilele soldului la fiecare lună, probabilitatea de ruină, distribuția surplusului anual distribuibil. Un laptop rulează 5.000 × 18 în sub o secundă într-o foaie de calcul vectorizată sau câteva linii de Python; nu e nevoie de infrastructură.
Cât de multe traiectorii? Eroarea Monte Carlo
Pentru a estima o probabilitate de coadă p (ex. P(ruină) ≈ 2%), eroarea standard a estimatorului este √(p(1−p)/N). La N = 1.000 și p = 0,02, SE ≈ 0,44% — adică estimezi 2% ± ~0,9% cu 95% încredere, prea imprecis pentru o decizie de buffer. La N = 5.000, SE ≈ 0,20%; la N = 10.000, SE ≈ 0,14%. Regula practică: pentru cuantile la 95% folosește minim 5.000 traiectorii, pentru cozi la 99% urcă la 20.000+. Aceasta este justificarea cantitativă a lui „1000+ scenarii”: pentru VaR 95% e pragul de jos, nu confortul.
VaR și Expected Shortfall pe cash flow
Adaptăm cele două mărimi clasice de risc la fluxul tău de numerar. Definește pierderea de lichiditate la orizont H ca deficitul față de soldul inițial: L = C0 − mint≤H Ct (cea mai adâncă scădere atinsă, un drawdown de cash).
- VaR 95% (Value at Risk cash flow) = percentila 95 a lui L. Citită din simulare: sortezi cele 5.000 de valori L crescător și iei valoarea de la poziția 4.750. Interpretare: „în 95% din lunile-scenariu nu pierd mai mult de VaR95 lei din cash; în 5% pierd cel puțin atât”.
- Expected Shortfall (ES / CVaR 95%) = media celor mai proaste 5% scenarii, adică media valorilor L de la poziția 4.751 la 5.000. ES răspunde la întrebarea pe care VaR o ocolește: „când lucrurile merg prost (coada de 5%), cât de prost în medie?”.
Exemplu numeric. SRL de servicii, C0 = 120.000 lei buffer, burn fix 40.000 lei/lună, încasare medie 45.000 lei cu σ ≈ 18.000 și λ = 0,07. Dintr-o rulare tipic calibrată poți obține: VaR95 al drawdown-ului de cash ≈ 88.000 lei, ES95 ≈ 121.000 lei. Citirea critică: ES depășește buffer-ul. Înseamnă că în coada de 5% a anului următor rămâi fără cash. VaR singur (88.000 < 120.000) te-ar fi liniștit fals — exact de aceea expertul raportează la ES, nu la VaR.
Pragul de buffer derivat din constrângere, nu din tradiție
Regula amatorului — „ține 3-6 luni de cheltuieli” — este o aproximare grosieră a unei mărimi pe care acum o poți calcula exact. Buffer-ul minim B* este cel mai mic C0 pentru care P(ruină pe H) ≤ toleranța ta. Procedural: rulezi simularea pentru valori crescătoare ale lui C0 și cauți pragul. Dacă la 120.000 lei P(ruină) = 6%, iar ținta ta e 2%, crești C0 până găsești, de pildă, B* ≈ 165.000 lei. Diferența de 45.000 lei nu e „prudență” vagă, e prețul cuantificat al unei reduceri de 4 puncte procentuale în probabilitatea de a rămâne fără bani. Echivalentul în luni de burn (165.000/40.000 ≈ 4,1 luni) iese ca rezultat, nu ca regulă impusă.
Income smoothing și remunerare risk-adjusted
Income smoothing și remunerare înseamnă să-ți plătești ție un venit personal stabil dintr-un cash flow instabil, fără să golești buffer-ul în lunile proaste. Modelul stocastic îți dă regula de extracție optimă.
Salariul personal-țintă ca rentă din buffer
Stabilește un salariu personal fix lunar W pe care îl scoți indiferent de lună (acesta e smoothing-ul). W se calibrează astfel încât, în simulare, P(Ct rămâne peste pragul de siguranță S pe tot orizontul | extragi W lunar) ≥ 98%. Cu cât W e mai mare, cu atât probabilitatea scade — există un W maxim sustenabil, exact ca o rată de retragere sigură la pensie. Tipic, W sustenabil ≈ percentila 25 a încasării nete lunare, nu media: te plătești din lunile proaste, nu din cele bune.
Surplusul condiționat: bonus doar din coada bună
Diferența pozitivă față de W o tratezi în două straturi:
- Stratul de reumplere buffer: orice surplus se duce prioritar în buffer până când Ct ≥ B*. Sub B* nu există dividend personal, oricât de bună e luna.
- Stratul de distribuție: peste B*, distribui un procent p al surplusului (ex. 50%) ca dividend/bonus personal, și reții restul. Regula „distribui doar din ce depășește percentila 60 a anului” evită extracția pro-ciclică (eroarea de a scoate bani exact înainte de sezonul slab).
Atenție fiscală RO 2026. Dividendul din SRL e impozitat cu 16% impozit pe dividend (cotă majorată de la 10% începând cu 2026), plus CASS de 10% dacă venitul anual din dividende depășește pragul raportat la salariul minim. Plafoanele CASS sunt structurate pe trepte — 6, 12 și 24 de salarii minime brute — iar la un salariu minim de 4.050 lei în 2026 înseamnă praguri de 24.300 lei, 48.600 lei și 97.200 lei venit anual, la care CASS datorat este 10% din baza-prag (2.430 / 4.860 / 9.720 lei). Mixul optim salariu/dividend nu se decide static, ci se re-optimizează la fiecare prag CASS: aproape de un prag, încasarea unui leu suplimentar de dividend poate declanșa saltul la o bază CASS superioară, adică sute de lei de contribuție pentru câțiva lei de venit brut. Modelează acest cost ca o funcție în trepte în Ft, altfel optimul tău de remunerare e fals.
Timing optim pentru reinvestiții și retrageri
Întrebarea „când reinvestesc și când scot bani” devine, în limbaj stocastic, o problemă de opțiune reală: cash-ul ținut în buffer are o valoare de asigurare (evită ruina), iar reinvestirea îl consumă. Decizia optimă nu e calendaristică, ci condiționată de stare.
- Regulă de reinvestire condiționată: reinvestești o cheltuială discreționară (angajare, echipament, marketing) doar dacă, după reinvestire, simularea arată P(ruină pe 12 luni) ≤ toleranță. Testezi angajamentul în scenariul de coadă (percentila 20 a venitului), nu în median. Dacă angajarea de 8.000 lei/lună mută P(ruină) de la 2% la 9%, e interzisă, oricât de profitabilă pare în mid.
- Timing de retragere personală: retragerile mari (dividend extraordinar) se programează în fereastra post-sezon-bun, când Ct e la percentila superioară și orizontul rămas până la următorul sezon slab e acoperit de buffer. Concret: retragi doar dacă Ct − (W × luni până la următorul vârf sezonier) ≥ B*.
- Asimetria opțiunii: costul de a reinvesti prea devreme (ruină) e mult mai mare decât costul de a aștepta o lună (oportunitate ratată). Această asimetrie justifică o regulă conservatoare: în dubiu, întârzie reinvestirea, nu retragerea de buffer.
Downside protection: instrumente concrete RO 2026
Downside protection venit variabil nu e doar buffer pasiv. Straturile de apărare, în ordinea costului:
- Linie de credit de lucru (overdraft / capital de lucru) — pre-aprobată, ne-trasă. E un buffer „virtual” care reduce B* necesar în cash propriu. Cost: dobândă doar pe sumele trase, indexată tipic la IRCC/ROBOR + marjă. Modeleaz-o ca buffer suplimentar disponibil în simulare, dar penalizat cu costul dobânzii în lunile de tragere.
- Diversificarea clienților — reducerea concentrării top-3 scade direct λ și mărimea șocului J. E cea mai ieftină reducere de volatilitate: nu costă dobândă, ci efort comercial. Cuantific-o: trecerea de la 70% la 50% concentrare top-3 poate halvea λ în calibrare.
- Contracte de retainer / abonament — transformă venit episodic în venit recurent, crescând φ (autocorelația) și scăzând σ. Fiecare retainer mută o parte din venit din coada stocastică în baza deterministă a lui F-acoperit.
- Buffer fiscal segregat — la PFA real și SRL pe profit, provizionează lunar impozitul estimat într-un cont separat. Eroarea clasică e să cheltui cash-ul brut și să te trezești cu obligația fiscală în coada anului. Tratează impozitul ca pe o cheltuială deja angajată în Ct.
Backtest și validare: nu te încrede în simulare oarbă
O simulare necalibrată e doar o părere îmbrăcată în cifre. Validează modelul înainte să-i asculți VaR-ul:
- Out-of-sample. Calibrează pe primele 70% din istoric, simulează, și verifică dacă realitatea ultimelor 30% cade în benzile prezise. Dacă 30% din lunile reale ies din banda de 95%, modelul subestimează σ — probabil ignori jump-ul.
- Backtest de acoperire VaR. Numără de câte ori pierderea reală a depășit VaR95 prezis. Ar trebui să fie ~5% din observații. Semnificativ peste = model prea optimist; semnificativ sub = prea conservator (ții buffer scump degeaba).
- Stress test determinist. Pe lângă Monte Carlo, rulează scenarii numite: „pierd clientul #1 + DSO se dublează + sezon slab simultan”. Dacă supraviețuiești corelației maxime, ești robust la cozile pe care simularea cu corelații moderate le subestimează.
Pași de implementare
- 1. Exportă seria de încasări lunare pe minim 24-36 luni; separă facturat de încasat (pentru DSO).
- 2. Estimează μ, sezonalitatea sm, autocorelația φ și σ pe log-venit; calibrează λ și J din evenimentele rare istorice.
- 3. Construiește Ft cu partea fixă, variabilă (β) și impozitul exact al regimului tău RO 2026 (micro 1%/3%, profit 16%, sau PFA 10% + CAS/CASS pe plafoane).
- 4. Rulează minim 5.000 traiectorii pe 18 luni; salvează matricea de solduri Ct.
- 5. Citește VaR95 și ES95 ale drawdown-ului de cash; verifică dacă ES < buffer.
- 6. Derivă B* din constrângerea P(ruină ≤ 12 luni) ≤ 2%; ajustează-l cu linia de credit pre-aprobată.
- 7. Fixează salariul personal W la nivelul sustenabil (≈ percentila 25 a venitului net), nu la medie.
- 8. Definește regula de surplus în două straturi: reumplere buffer până la B*, apoi distribuție condiționată de pragurile CASS.
- 9. Programează reinvestițiile și retragerile prin testul de coadă, nu prin calendar.
- 10. Re-calibrează lunar (rolling) și fă backtest de acoperire VaR trimestrial; dacă încălcările > 5%, urcă σ și λ.
Checklist de control lunar: seria actualizată ▸ parametri re-estimați ▸ 5.000+ traiectorii rulate ▸ VaR95 și ES95 citite ▸ Ct curent vs B* ▸ W confirmat sustenabil ▸ surplus alocat pe straturi ▸ orice angajament nou testat în coada de 20% ▸ buffer fiscal segregat la zi ▸ linia de credit rămasă ne-trasă.