TovaHasi commited on
Commit
c73a3e0
1 Parent(s): bfd46a6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +74 -27
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.markdown("Тут данные ввести")
11
-
12
- Buying_an_autopilot = st.number_input('Покупка автопилота, руб.', value=2000000)
13
- Purchase_of_peripheral_equipment = st.number_input('Покупка перефирийного оборудования, руб.', value=40000)
14
- Purchase_by = st.number_input('Покупка ПО, руб.', value=10000)
15
- Introduction_of_autopilot = st.number_input('Внедрение автопилота, руб.', value=20000)
16
- Maintenance = st.number_input('Обслуживание (месяц), руб.', value=100000)
17
- The_cost_of_repairing_one_car = st.number_input('Стоимость ремонта одной машины, руб.', value=10000)
18
- Inflation_rate = st.number_input('Уровень инфляции', value=0.04)
19
- Monthly_salary_rate = st.number_input('Заработная ставка, руб. в месяц', value=40000)
20
- Number_of_months = st.number_input('Количество месяцев', value=12)
21
- Equipment_breakdown_rate = st.number_input('Коэффициент поломки оборудования', value=0.1)
22
- Price_for_processing_ont_pallet = st.number_input('Цена за обработку 1 паллета, руб.', value=300)
23
- Cargo_flow = st.number_input('Грузопоток, шт/месяц', value=10000)
24
- Efficiency = st.number_input('Производительность, шт в час', value=5)
25
- Number_of_working_hours = st.number_input('Количество рабочих часов', value=8)
26
- Shift_of_one_employee = st.number_input('Смена 1 работника, ч.', value=8)
27
- Number_of_working_days_month = st.number_input('Количество рабочих дней в месяц, дн.', value=20)
28
- Social_benefits_for_one_employee = st.number_input('Социальные выплаты 1 сотруднику, руб.', value=10000)
29
- Insurance_rate = st.number_input('Ставка страхования', value=0.005)
30
- Income_tax_rate = st.number_input('Ставка налога на прибыль', value=0.2)
31
- Number_of_autopilots_serviced_by_one_employee = st.number_input('Количество автопилотов, обслуживаемых 1 работником', value=10)
32
- discounting = st.number_input('Ставка дисконтирования в месяц', value=0.028)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) * math.pow(Rate_CPI, indexation)
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 = get_array_CF_PV()
123
  array_NPV = get_array_NPV()
124
 
125
- IRR = npf.irr(array_CF)
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)