Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -5,31 +5,78 @@ import pandas as pd
|
|
5 |
import math
|
6 |
import numpy_financial as npf
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
st.title("Калькулятор Toyota📄")
|
9 |
|
10 |
-
st.
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
|
34 |
Rate_CPI = 1.1
|
35 |
|
@@ -52,7 +99,7 @@ def get_revenue(idx):
|
|
52 |
|
53 |
def get_costs(idx):
|
54 |
indexation = math.floor(idx / 12)
|
55 |
-
wage_fund_with_indexation = (Social_benefits_for_one_employee + Monthly_salary_rate)
|
56 |
|
57 |
Expected_repair_costs_per_month = Number_machines * Equipment_breakdown_rate * The_cost_of_repairing_one_car
|
58 |
Wage_Fund = Number_employees * wage_fund_with_indexation
|
@@ -119,10 +166,10 @@ def get_array_NPV():
|
|
119 |
|
120 |
if st.button('Сюда кликнуть чтобы посчитать'):
|
121 |
Number_pallets, Number_machines, Number_employees = get_number_pallets_and_machines_employees()
|
122 |
-
array_CF, array_PV =
|
123 |
array_NPV = get_array_NPV()
|
124 |
|
125 |
-
IRR =
|
126 |
|
127 |
st.write(f'NPV за {Number_of_months} месяцев:', array_NPV[-1])
|
128 |
st.write(f'IRR на {Number_of_months} месяцев:', IRR)
|
@@ -131,4 +178,4 @@ if st.button('Сюда кликнуть чтобы посчитать'):
|
|
131 |
chart_data['PV'] = array_PV
|
132 |
chart_data['NPV'] = array_NPV
|
133 |
|
134 |
-
st.line_chart(chart_data)
|
|
|
5 |
import math
|
6 |
import numpy_financial as npf
|
7 |
|
8 |
+
import streamlit as st
|
9 |
+
import matplotlib.pyplot as plt
|
10 |
+
import numpy as np
|
11 |
+
import pandas as pd
|
12 |
+
import math
|
13 |
+
|
14 |
st.title("Калькулятор Toyota📄")
|
15 |
|
16 |
+
genre = st.radio("Какой из вариантов", ("Покупка автоматизированного ричтрака", "Аренда автоматизированного ричтрака", "Покупка механизированного ричтрака"))
|
17 |
+
|
18 |
+
if genre == 'Покупка автоматизированного ричтрака':
|
19 |
+
Buying_an_autopilot = st.number_input('Покупка автопилота, руб.', value=0)
|
20 |
+
Purchase_of_peripheral_equipment = st.number_input('Покупка перефирийного оборудования, руб.')
|
21 |
+
Purchase_by = st.number_input('Покупка ПО, руб.')
|
22 |
+
Introduction_of_autopilot = st.number_input('Внедрение автопилота, руб.')
|
23 |
+
Maintenance = st.number_input('Обслуживание (месяц), руб.')
|
24 |
+
The_cost_of_repairing_one_car = st.number_input('Стоимость ремонта одной машины, руб.')
|
25 |
+
Inflation_rate = st.number_input('Уровень инфляции')
|
26 |
+
Monthly_salary_rate = st.number_input('Заработная ставка, руб. в месяц')
|
27 |
+
Number_of_months = st.number_input('Количество месяцев')
|
28 |
+
Equipment_breakdown_rate = st.number_input('Коэфициент поломки оборудования ')
|
29 |
+
Price_for_processing_ont_pallet = st.number_input('Цена за обработку 1 паллета, руб.')
|
30 |
+
Cargo_flow = st.number_input('Грузопоток, шт/месяц ')
|
31 |
+
Efficiency = st.number_input('Производительность, шт в час')
|
32 |
+
Number_of_working_hours = st.number_input('Количество рабочих часов')
|
33 |
+
Shift_of_one_employee = st.number_input('Смена 1 работника, ч.')
|
34 |
+
Number_of_working_days_month = st.number_input('Количество рабочих дней в месяц, дн.')
|
35 |
+
Social_benefits_for_one_employee = st.number_input('Социальные выплаты 1 сотруднику, руб.')
|
36 |
+
Insurance_rate = st.number_input('Ставка страхования')
|
37 |
+
Income_tax_rate = st.number_input('Ставка налога на прибыль')
|
38 |
+
Number_of_autopilots_serviced_by_one_employee = st.number_input('Количество автопилотов, обслуживаемых 1 работником')
|
39 |
+
discounting = st.number_input('Ставка дисконтирования в месяц')
|
40 |
+
elif genre == 'Аренда автоматизированного ричтрака':
|
41 |
+
Rent_an_autopilot = st.number_input('Аренда автопилота, руб.', value = 20000)
|
42 |
+
Rent_of_peripheral_equipment = st.number_input('Аренда перефирийного оборудования, руб.', value = 4000)
|
43 |
+
Purchase_by = st.number_input('Покупка ПО, руб. ', value = 10000)
|
44 |
+
Introduction_of_autopilot = st.number_input('Внедрение автопилота, руб.', value = 20000)
|
45 |
+
Maintenance = st.number_input('Обслуживание (месяц), руб.', value = 100000)
|
46 |
+
The_cost_of_repairing_one_car = st.number_input('Стоимость ремонта одной машины, руб.', value = 10000)
|
47 |
+
Monthly_salary_rate = st.number_input('Заработная ставка в месяц, руб.', value = 40000)
|
48 |
+
Rental_period = st.number_input('Срок аренды, месяц', value = 12)
|
49 |
+
Equipment_breakdown_rate = st.number_input('Коэфициент поломки оборудования', value = 0.1)
|
50 |
+
Price_for_processing_ont_pallet = st.number_input('Цена за обработку 1 паллета, руб.', value = 300)
|
51 |
+
Cargo_flow = st.number_input('Грузопоток, шт в месяц ', value = 10000)
|
52 |
+
Efficiency = st.number_input('Производительность,шт в час', value = 5)
|
53 |
+
Number_of_working_hours = st.number_input('Количество рабочих часов', value = 8)
|
54 |
+
Shift_of_one_employee = st.number_input('Смена одного работника, часы', value = 8)
|
55 |
+
Number_of_working_days_month = st.number_input('Количество рабочих дней в месяц, дн.', value = 20)
|
56 |
+
Social_benefits_for_one_employee = st.number_input('Социальные выплаты одному сотруднику, руб.', value = 10000)
|
57 |
+
Income_tax_rate = st.number_input('Ставка налога на прибыль', value = 0.2)
|
58 |
+
Number_of_autopilots_serviced_by_one_employee = st.number_input('Количество автопилотов, обслуживаемых одним работником, шт.', value = 10)
|
59 |
+
discounting = st.number_input('Ставка дисконтирования в месяц', value = 0.028)
|
60 |
+
else:
|
61 |
+
Buying_a_richtruck = st.number_input('Покупка ричтрака, руб.', value=2000000)
|
62 |
+
Maintenance = st.number_input('Обслуживание (месяц), руб.', value=10000)
|
63 |
+
The_cost_of_repairing_one_car = st.number_input('Стоимость ремонта одной машины, руб.', value=1000)
|
64 |
+
Monthly_salary_rate = st.number_input('Заработная ставка, руб. в месяц', value=40000)
|
65 |
+
Number_of_months = st.number_input('Количество месяцев', value=12)
|
66 |
+
Equipment_breakdown_rate = st.number_input('Коэфициент поломки оборудования', value=0.3)
|
67 |
+
Price_for_processing_ont_pallet = st.number_input('Цена за обработку 1 паллета, руб.', value=300)
|
68 |
+
Cargo_flow = st.number_input('Грузопоток, шт/месяц всего', value=10000)
|
69 |
+
Efficiency = st.number_input('Производительность, шт в час', value=3)
|
70 |
+
Number_of_working_hours = st.number_input('Количество рабочих часов', value=8)
|
71 |
+
Shift_of_one_employee = st.number_input('Смена 1 работника, ч.', value=8)
|
72 |
+
Number_of_working_days_month = st.number_input('Количество рабочих дней в месяц, дн.', value=20)
|
73 |
+
Social_benefits_for_one_employee = st.number_input('Социальные выплаты 1 сотруднику, руб.', value=10000)
|
74 |
+
Insurance_rate = st.number_input('Ставка страхования', value=0.005)
|
75 |
+
The_cost_of_demaged_goods = ('Стоимость поврежденного товара', value=1000)
|
76 |
+
Product_damage_rate= ('Коэфициент повреждения товара', value=0.005)
|
77 |
+
discounting = st.number_input('Ставка дисконтирования в месяц', value=0.028)
|
78 |
+
|
79 |
+
|
80 |
|
81 |
Rate_CPI = 1.1
|
82 |
|
|
|
99 |
|
100 |
def get_costs(idx):
|
101 |
indexation = math.floor(idx / 12)
|
102 |
+
wage_fund_with_indexation = math.pow((Social_benefits_for_one_employee + Monthly_salary_rate), indexation)
|
103 |
|
104 |
Expected_repair_costs_per_month = Number_machines * Equipment_breakdown_rate * The_cost_of_repairing_one_car
|
105 |
Wage_Fund = Number_employees * wage_fund_with_indexation
|
|
|
166 |
|
167 |
if st.button('Сюда кликнуть чтобы посчитать'):
|
168 |
Number_pallets, Number_machines, Number_employees = get_number_pallets_and_machines_employees()
|
169 |
+
array_CF, array_PV = get_array_PV()
|
170 |
array_NPV = get_array_NPV()
|
171 |
|
172 |
+
IRR = np.irr(array_CF)
|
173 |
|
174 |
st.write(f'NPV за {Number_of_months} месяцев:', array_NPV[-1])
|
175 |
st.write(f'IRR на {Number_of_months} месяцев:', IRR)
|
|
|
178 |
chart_data['PV'] = array_PV
|
179 |
chart_data['NPV'] = array_NPV
|
180 |
|
181 |
+
st.line_chart(chart_data)
|