Difference between revisions of "Pivnice (Vensim)"

From Simulace.info
Jump to: navigation, search
(Created page with "==Zadání== '''Název simulace:''' Pivnice '''Předmět:''' 4IT495 Simulace systémů '''Semestr:''' LS 2016/2017 '''Autor:''' Jan Mottl, xmotj10 '''Typ modelu:''' Systé...")
 
 
(2 intermediate revisions by the same user not shown)
Line 13: Line 13:
  
 
==Definice problému==
 
==Definice problému==
Moje rodina vlastní pivnici na kraji Prahy. Na rozdíl od podniků v centru je potřeba se zde o něco více zajímat o to, co přiláká zákazníky a zvýší tak návštěvnost, jelikož se zde denně pohybuje podstatně méně lidí a zároveň konkurenčních podniků je v okolí poměrně dost. Z tohoto důvodu je cílem simulace nalézt entity a jejich vztahy, které ovlivňují návštěvnost pivnice a vhodným nastavením parametrů pomoci zvýšit návštěvnost a tím i tržby.
+
Moje rodina vlastní pivnici na kraji Prahy. Na rozdíl od podniků v centru je potřeba se zde o něco více zajímat o to, co přiláká zákazníky a zvýší tak návštěvnost, jelikož se zde denně pohybuje podstatně méně lidí a zároveň konkurenčních podniků je v okolí poměrně dost. Z tohoto důvodu je cílem simulace nalézt entity a jejich vztahy, které ovlivňují návštěvnost pivnice, což může následně pomoci se zvýšením návštěvnosti a tím i tržeb.
  
 
==Metoda==
 
==Metoda==
Line 19: Line 19:
  
 
==Model==
 
==Model==
 +
V rámci modelování byly vytvořeny dva diagramy – diagram kauzálních smyček a diagram toků.
 +
 +
===Diagram kauzálních smyček===
 +
 +
[[File:Pivnice CLD.PNG|center|thumb|800px|Diagram kauzálních smyček]]
 +
 +
===Diagram toků===
 +
 +
[[File:Pivnice SFD.PNG|center|thumb|800px|Diagram toků]]
 +
 +
===Entity modelu===
 +
Následuje popis jednotlivých entit modelu a jejich vztahů, které jsou vyjádřeny pomocí vzorců. Konkrétní hodnoty proměnných pak byly dosazeny na základě reálných dat z naší rodinné pivnice a výsledky modelu pak byly porovnány s realitou.
 +
----
 +
'''Cena piva'''
 +
 +
V modelu uvažuji cenu za konkrétní druh piva (Kozel 11° – převážná většina tržeb se týká tohoto piva), ale mohlo by se jednat i o průměrnou cenu všech druhů piv v podniku.
 +
 +
'''Hodnota:''' Cena piva v korunách
 +
----
 +
'''Kvalita piva'''
 +
 +
Kvalita piva je dána především vzdáleností zdroje piva od pípy, výtočí, četností čištění trubek za měsíc atd. Povoleny jsou následující hodnoty,
 +
jejichž přiřazení pro konkrétní piva je samozřejmě do jisté míry subjektivní.
 +
 +
'''Hodnota:'''
 +
*4 – velmi dobrá
 +
*3 – dobrá
 +
*2 – přijatelná
 +
*1 – špatná
 +
----
 +
'''Atraktivita piva'''
 +
 +
Atraktivita piva závisí na kvalitě a ceně. Čím vyšší je kvalita a nižší cena, tím je pivo atraktivnější. Proto lze atraktivitu počítat jako podíl kvality a ceny.
 +
 +
'''Vzorec:''' Kvalita piva / Cena piva
 +
----
 +
'''Kapacita podniku'''
 +
 +
Maximální počet lidí, kteří se najednou vejdou do pivnice.
 +
 +
'''Hodnota:''' Maximální počet osob
 +
----
 +
'''Počet hodin otevírací doby'''
 +
 +
Počet hodin od otevření do zavření pivnice v jeden den. Otevírací doba je každý den stejná.
 +
 +
'''Hodnota:''' Počet hodin otevírací doby
 +
----
 +
'''Průměrná doba strávená v podniku'''
 +
 +
Vyjadřuje průměrnou dobu, kterou zákazník stráví v podniku.
 +
 +
'''Hodnota:''' Průměrná doba strávená v podniku v hodinách
 +
----
 +
'''Potenciální maximální návštěvnost'''
 +
 +
Představuje potenciální maximální návštěvnost za jeden den, která je dána kapacitou podniku, počtem hodin otevírací doby a průměrnou dobou,
 +
kterou zákazník stráví v podniku.
 +
 +
'''Vzorec:''' Kapacita podniku * Počet hodin otevírací doby / Průměrná doba strávená v podniku
 +
----
 +
'''Příjemnost obsluhy'''
 +
 +
Příjemnost obsluhy je vyjádřena hodnotou z předem daného výčtu.
 +
 +
'''Hodnota:'''
 +
*3 – velmi příjemná, ochotná a rychlá obsluha
 +
*2 – normální obsluha
 +
*1 – nepříjemná, neochotná a pomalá obsluha
 +
----
 +
'''Lokalita'''
 +
 +
Lokalita, ve které se podnik nachází. Může nabývat hodnot z předem daného výčtu, při čemž každá hodnota odpovídá určitému typu lokality, které se navzájem liší tím, jak jsou pro podnik výhodné z hlediska návštěvnosti.
 +
 +
'''Hodnota:'''
 +
*3 – podnik umístěný v centru města (Prahy), kde se denně pohybuje velké množství lidí
 +
*2 – podnik umístěný na kraji města (Prahy), kde se denně pohybuje méně lidí, ale stále je zde určité množství podniků v okolí a bydlí zde
 +
::poměrně mnoho lidí
 +
*1 – podnik umístěný na vesnici či v lokalitě, kde se pohybuje málo lidí a málo lidí zde žije
 +
----
 +
'''Konkurence'''
 +
 +
Vyjadřuje míru konkurence pivnice. Může nabývat hodnot z předem daného výčtu. Jelikož konkurence působí na návštěvnost opačně než dříve zmíněné
 +
entity (čím větší je konkurence, tím menší je návštěvnost), jsou hodnoty uspořádány v opačném pořadí (čím menší je hodnota, tím menší je
 +
konkurence a větší návštěvnost).
 +
 +
'''Hodnota:'''
 +
*1 – žádná nebo velmi malá konkurence
 +
*2 – o něco větší konkurence, pár konkurenčních podniků v blízkém okolí
 +
*3 – velmi velká konkurence
 +
----
 +
'''Návštěvnost – konstantní'''
 +
 +
Udává denní návštěvnost, která je konstantní pro všechny dny simulace a slouží jen jako pomocná proměnná, která je použita v toku ''Návštěvnost'', kde je upravena o náhodu. Návštěvnost závisí především na atraktivitě piva, příjemnosti obsluhy, lokalitě, konkurenci a potenciální maximální návštěvnosti. Zde je důležité zmínit několik věcí.
 +
 +
Při výpočtu se vychází z potenciální maximální návštěvnosti, která může být jen snižována, pokud některé entity, které ji ovlivňují, nejsou na
 +
maximální úrovni. To znamená, že pokud by teoreticky existoval podnik s příjemnou obsluhou, který by nabízel pivo maximální kvality a byl by
 +
umístěn v centru Prahy, kde by se nenacházela konkurence, tak by této potenciální maximální návštěvnosti dosáhl. Jinak entita (například
 +
lokalita), která nedosahuje nejlepší hodnoty, sníží potenciální maximální návštěvnost o určitý počet procent podle toho, o kolik je horší.
 +
Například při nejlepší hodnotě lokality (tedy 3) je potenciální maximální návštěvnost násobena jedničkou, tedy se nezmění. Pokud by lokalita
 +
dosahovala hodnoty 2, tak bude potenciální maximální návštěvnost násobena číslem 0,5 a sníží se tedy na polovinu a při hodnotě lokality 1 by se
 +
násobila číslem 0,3. Postup je stejný u všech entit kromě konkurence, jelikož u té mají hodnoty obrácený význam (čim nižší hodnota, tím lepší).
 +
Zde se proto přímo dělí hodnotou konkurence. Například při žádné konkurenci bude její hodnota 1 a potenciální maximální návštěvnost to tedy
 +
neovlivní.
 +
 +
'''Vzorec:'''
 +
Potenciální maximální návštěvnost * IF THEN ELSE(Atraktivita piva >= 0.12, 1 , IF THEN ELSE( Atraktivita piva >= 0.1 , 0.95 ,
 +
IF THEN ELSE(Atraktivita piva >= 0.8, 0.9 , IF THEN ELSE(Atraktivita piva >= 0.6, 0.8 , 0.7) ) ) ) * IF THEN ELSE(Příjemnost obsluhy = 3, 1 ,
 +
IF THEN ELSE(Příjemnost obsluhy = 2, 0.9 , 0.8 ) ) * IF THEN ELSE(Lokalita = 3, 1 , IF THEN ELSE(Lokalita = 2, 0.5 , 0.3 ) ) / (Konkurence)
 +
----
 +
'''Návštěvnost'''
 +
 +
Tento tok již jen upravuje pomocnou proměnou ''Návštěvnost – konstantní'' o náhodu a výsledek zaokrouhlí na celé číslo. Je použito rovnoměrné
 +
rozdělení s minimální hodnotou o 10 % menší než vypočtená konstantní návštěvnost a s maximální hodnotou o 10 % vyšší. Návštěvnost je upravena o
 +
náhodu z toho důvodu, že i když do podniku chodí většinou každý den podobný počet zákazníků, tak nikdy tento počet není konstantní, nedá se
 +
dopředu přesně určit a je tedy náhodný.
 +
 +
'''Vzorec:''' INTEGER(RANDOM UNIFORM(Návštěvnost – konstantní * 0.9, Návštěvnost – konstantní * 1.1, 0 ))
 +
----
 +
'''Celkový počet zákazníků'''
 +
 +
Vyjadřuje celkový počet zákazníků za simulované období.
 +
 +
'''Vzorec:''' INTEG(Návštěvnost, 0)
 +
----
 +
'''Průměrný počet prodaných piv na osobu'''
 +
 +
Udává průměrný počet prodaných piv na osobu, který je potřeba určit pro výpočet prodaných piv za jeden den na základě návštěvnosti.
 +
 +
'''Hodnota:''' Průměrný počet prodaných piv na osobu
 +
----
 +
'''Zvýšení počtu prodaných piv'''
 +
 +
Vyjadřuje, o kolik prodaných piv se denně zvýší celkové množství prodaných piv.
 +
 +
'''Vzorec:''' Návštěvnost * Průměrný počet prodaných piv na osobu
 +
----
 +
'''Počet prodaných piv'''
 +
 +
Počet prodaných piv za simulované období.
 +
 +
'''Vzorec:''' INTEG(Zvýšení počtu prodaných piv, 0)
 +
----
 +
'''Zvýšení tržeb'''
 +
 +
Vyjadřuje denní zvýšení tržeb.
 +
 +
'''Vzorec:''' Zvýšení počtu prodaných piv * Cena piva
 +
----
 +
'''Tržby'''
 +
 +
Celkové tržby za simulované období.
 +
 +
'''Vzorec:''' INTEG (Zvýšení tržeb, 0)
 +
----
 +
===Dosazení konkrétních hodnot===
 +
Do proměnných modelu byly následně dosazeny konkrétní hodnoty převzaté z reálných dat naší rodinné pivnice, které lze vidět na následujícím obrázku.
 +
 +
[[File:Pivnice SFD konrétní hodnoty.PNG|center|thumb|800px|Dosazení konkrétních hodnot do proměnných]]
 +
 +
Krok simulace byl nastaven na 1 den a doba na 30 dní.
  
 
==Výsledky==
 
==Výsledky==
 +
Na následujícím grafu je vidět průběh denní návštěvnosti, která se pohybuje okolo hodnoty 180, což zhruba odpovídá reálné denní návštěvnosti.
 +
 +
[[File:Navstevnost graf.PNG|center|thumb|700px|Vývoj denní návštěvnosti]]
 +
<br />
 +
Celkové tržby se vyvíjejí poměrně lineárně a na konci měsíce dosáhnou hodnoty 239 625 Kč, což odpovídá tržbám naší pivnice na pivu, které se většinou pohybují mezi 230–240 tisíci korunami.
 +
 +
[[File:Trzby graf.PNG|center|thumb|700px|Vývoj celkových tržeb]]
  
 
==Závěr==
 
==Závěr==
 +
Ačkoliv po dosazení hodnot vycházejí reálná čísla naší pivnice, je zřejmé, že model není dokonalý. Snažil jsem se kvantifikovat vztahy co nejlépe, ale nebylo to snadné a řekl bych, že u něčeho tak náhodného, jako je návštěvnost, to není ani úplně možné provést na 100 % přesně. Model by bylo možno rozšířit a zpřesnit použitím širších výčtů přípustných hodnot u proměnných (například pro lokalitu více detailnějších možností než 3), zařazením dalších entit, které mohou návštěvnost ovlivňovat, a také vymyslet lepší a přesnější dopad těchto entit na návštěvnost. Na druhou stranu si myslím, že pro hrubý odhad je model postačující a také by mohl sloužit jako případný základ pro výše zmíněná rozšíření a vylepšení.
  
 
==Kód==
 
==Kód==
 +
[[File:Pivnice CLD source.mdl]]
 +
 +
[[File:Pivnice SFD source.mdl]]
 +
 +
 +
[[User:Xmotj10|Xmotj10]] ([[User talk:Xmotj10|talk]]) 15:02, 11 June 2017 (CEST)

Latest revision as of 14:02, 11 June 2017

Zadání

Název simulace: Pivnice

Předmět: 4IT495 Simulace systémů

Semestr: LS 2016/2017

Autor: Jan Mottl, xmotj10

Typ modelu: Systémová dynamika

Modelovací nástroj: Vensim

Definice problému

Moje rodina vlastní pivnici na kraji Prahy. Na rozdíl od podniků v centru je potřeba se zde o něco více zajímat o to, co přiláká zákazníky a zvýší tak návštěvnost, jelikož se zde denně pohybuje podstatně méně lidí a zároveň konkurenčních podniků je v okolí poměrně dost. Z tohoto důvodu je cílem simulace nalézt entity a jejich vztahy, které ovlivňují návštěvnost pivnice, což může následně pomoci se zvýšením návštěvnosti a tím i tržeb.

Metoda

Pro zpracování simulace byl vybrán nástroj Vensim pro simulaci systémové dynamiky. Tento nástroj je pro zpracování vhodný, jelikož chceme především zachytit vztahy mezi jednotlivými entitami, které návštěvnost pivnice ovlivňují.

Model

V rámci modelování byly vytvořeny dva diagramy – diagram kauzálních smyček a diagram toků.

Diagram kauzálních smyček

Diagram kauzálních smyček

Diagram toků

Diagram toků

Entity modelu

Následuje popis jednotlivých entit modelu a jejich vztahů, které jsou vyjádřeny pomocí vzorců. Konkrétní hodnoty proměnných pak byly dosazeny na základě reálných dat z naší rodinné pivnice a výsledky modelu pak byly porovnány s realitou.


Cena piva

V modelu uvažuji cenu za konkrétní druh piva (Kozel 11° – převážná většina tržeb se týká tohoto piva), ale mohlo by se jednat i o průměrnou cenu všech druhů piv v podniku.

Hodnota: Cena piva v korunách


Kvalita piva

Kvalita piva je dána především vzdáleností zdroje piva od pípy, výtočí, četností čištění trubek za měsíc atd. Povoleny jsou následující hodnoty, jejichž přiřazení pro konkrétní piva je samozřejmě do jisté míry subjektivní.

Hodnota:

  • 4 – velmi dobrá
  • 3 – dobrá
  • 2 – přijatelná
  • 1 – špatná

Atraktivita piva

Atraktivita piva závisí na kvalitě a ceně. Čím vyšší je kvalita a nižší cena, tím je pivo atraktivnější. Proto lze atraktivitu počítat jako podíl kvality a ceny.

Vzorec: Kvalita piva / Cena piva


Kapacita podniku

Maximální počet lidí, kteří se najednou vejdou do pivnice.

Hodnota: Maximální počet osob


Počet hodin otevírací doby

Počet hodin od otevření do zavření pivnice v jeden den. Otevírací doba je každý den stejná.

Hodnota: Počet hodin otevírací doby


Průměrná doba strávená v podniku

Vyjadřuje průměrnou dobu, kterou zákazník stráví v podniku.

Hodnota: Průměrná doba strávená v podniku v hodinách


Potenciální maximální návštěvnost

Představuje potenciální maximální návštěvnost za jeden den, která je dána kapacitou podniku, počtem hodin otevírací doby a průměrnou dobou, kterou zákazník stráví v podniku.

Vzorec: Kapacita podniku * Počet hodin otevírací doby / Průměrná doba strávená v podniku


Příjemnost obsluhy

Příjemnost obsluhy je vyjádřena hodnotou z předem daného výčtu.

Hodnota:

  • 3 – velmi příjemná, ochotná a rychlá obsluha
  • 2 – normální obsluha
  • 1 – nepříjemná, neochotná a pomalá obsluha

Lokalita

Lokalita, ve které se podnik nachází. Může nabývat hodnot z předem daného výčtu, při čemž každá hodnota odpovídá určitému typu lokality, které se navzájem liší tím, jak jsou pro podnik výhodné z hlediska návštěvnosti.

Hodnota:

  • 3 – podnik umístěný v centru města (Prahy), kde se denně pohybuje velké množství lidí
  • 2 – podnik umístěný na kraji města (Prahy), kde se denně pohybuje méně lidí, ale stále je zde určité množství podniků v okolí a bydlí zde
poměrně mnoho lidí
  • 1 – podnik umístěný na vesnici či v lokalitě, kde se pohybuje málo lidí a málo lidí zde žije

Konkurence

Vyjadřuje míru konkurence pivnice. Může nabývat hodnot z předem daného výčtu. Jelikož konkurence působí na návštěvnost opačně než dříve zmíněné entity (čím větší je konkurence, tím menší je návštěvnost), jsou hodnoty uspořádány v opačném pořadí (čím menší je hodnota, tím menší je konkurence a větší návštěvnost).

Hodnota:

  • 1 – žádná nebo velmi malá konkurence
  • 2 – o něco větší konkurence, pár konkurenčních podniků v blízkém okolí
  • 3 – velmi velká konkurence

Návštěvnost – konstantní

Udává denní návštěvnost, která je konstantní pro všechny dny simulace a slouží jen jako pomocná proměnná, která je použita v toku Návštěvnost, kde je upravena o náhodu. Návštěvnost závisí především na atraktivitě piva, příjemnosti obsluhy, lokalitě, konkurenci a potenciální maximální návštěvnosti. Zde je důležité zmínit několik věcí.

Při výpočtu se vychází z potenciální maximální návštěvnosti, která může být jen snižována, pokud některé entity, které ji ovlivňují, nejsou na maximální úrovni. To znamená, že pokud by teoreticky existoval podnik s příjemnou obsluhou, který by nabízel pivo maximální kvality a byl by umístěn v centru Prahy, kde by se nenacházela konkurence, tak by této potenciální maximální návštěvnosti dosáhl. Jinak entita (například lokalita), která nedosahuje nejlepší hodnoty, sníží potenciální maximální návštěvnost o určitý počet procent podle toho, o kolik je horší. Například při nejlepší hodnotě lokality (tedy 3) je potenciální maximální návštěvnost násobena jedničkou, tedy se nezmění. Pokud by lokalita dosahovala hodnoty 2, tak bude potenciální maximální návštěvnost násobena číslem 0,5 a sníží se tedy na polovinu a při hodnotě lokality 1 by se násobila číslem 0,3. Postup je stejný u všech entit kromě konkurence, jelikož u té mají hodnoty obrácený význam (čim nižší hodnota, tím lepší). Zde se proto přímo dělí hodnotou konkurence. Například při žádné konkurenci bude její hodnota 1 a potenciální maximální návštěvnost to tedy neovlivní.

Vzorec: Potenciální maximální návštěvnost * IF THEN ELSE(Atraktivita piva >= 0.12, 1 , IF THEN ELSE( Atraktivita piva >= 0.1 , 0.95 , IF THEN ELSE(Atraktivita piva >= 0.8, 0.9 , IF THEN ELSE(Atraktivita piva >= 0.6, 0.8 , 0.7) ) ) ) * IF THEN ELSE(Příjemnost obsluhy = 3, 1 , IF THEN ELSE(Příjemnost obsluhy = 2, 0.9 , 0.8 ) ) * IF THEN ELSE(Lokalita = 3, 1 , IF THEN ELSE(Lokalita = 2, 0.5 , 0.3 ) ) / (Konkurence)


Návštěvnost

Tento tok již jen upravuje pomocnou proměnou Návštěvnost – konstantní o náhodu a výsledek zaokrouhlí na celé číslo. Je použito rovnoměrné rozdělení s minimální hodnotou o 10 % menší než vypočtená konstantní návštěvnost a s maximální hodnotou o 10 % vyšší. Návštěvnost je upravena o náhodu z toho důvodu, že i když do podniku chodí většinou každý den podobný počet zákazníků, tak nikdy tento počet není konstantní, nedá se dopředu přesně určit a je tedy náhodný.

Vzorec: INTEGER(RANDOM UNIFORM(Návštěvnost – konstantní * 0.9, Návštěvnost – konstantní * 1.1, 0 ))


Celkový počet zákazníků

Vyjadřuje celkový počet zákazníků za simulované období.

Vzorec: INTEG(Návštěvnost, 0)


Průměrný počet prodaných piv na osobu

Udává průměrný počet prodaných piv na osobu, který je potřeba určit pro výpočet prodaných piv za jeden den na základě návštěvnosti.

Hodnota: Průměrný počet prodaných piv na osobu


Zvýšení počtu prodaných piv

Vyjadřuje, o kolik prodaných piv se denně zvýší celkové množství prodaných piv.

Vzorec: Návštěvnost * Průměrný počet prodaných piv na osobu


Počet prodaných piv

Počet prodaných piv za simulované období.

Vzorec: INTEG(Zvýšení počtu prodaných piv, 0)


Zvýšení tržeb

Vyjadřuje denní zvýšení tržeb.

Vzorec: Zvýšení počtu prodaných piv * Cena piva


Tržby

Celkové tržby za simulované období.

Vzorec: INTEG (Zvýšení tržeb, 0)


Dosazení konkrétních hodnot

Do proměnných modelu byly následně dosazeny konkrétní hodnoty převzaté z reálných dat naší rodinné pivnice, které lze vidět na následujícím obrázku.

Dosazení konkrétních hodnot do proměnných

Krok simulace byl nastaven na 1 den a doba na 30 dní.

Výsledky

Na následujícím grafu je vidět průběh denní návštěvnosti, která se pohybuje okolo hodnoty 180, což zhruba odpovídá reálné denní návštěvnosti.

Vývoj denní návštěvnosti


Celkové tržby se vyvíjejí poměrně lineárně a na konci měsíce dosáhnou hodnoty 239 625 Kč, což odpovídá tržbám naší pivnice na pivu, které se většinou pohybují mezi 230–240 tisíci korunami.

Vývoj celkových tržeb

Závěr

Ačkoliv po dosazení hodnot vycházejí reálná čísla naší pivnice, je zřejmé, že model není dokonalý. Snažil jsem se kvantifikovat vztahy co nejlépe, ale nebylo to snadné a řekl bych, že u něčeho tak náhodného, jako je návštěvnost, to není ani úplně možné provést na 100 % přesně. Model by bylo možno rozšířit a zpřesnit použitím širších výčtů přípustných hodnot u proměnných (například pro lokalitu více detailnějších možností než 3), zařazením dalších entit, které mohou návštěvnost ovlivňovat, a také vymyslet lepší a přesnější dopad těchto entit na návštěvnost. Na druhou stranu si myslím, že pro hrubý odhad je model postačující a také by mohl sloužit jako případný základ pro výše zmíněná rozšíření a vylepšení.

Kód

File:Pivnice CLD source.mdl

File:Pivnice SFD source.mdl


Xmotj10 (talk) 15:02, 11 June 2017 (CEST)