TovaHasi commited on
Commit
7c11ab5
1 Parent(s): a2140fc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -37
app.py CHANGED
@@ -8,28 +8,29 @@ st.title("Калькулятор Toyota📄")
8
 
9
  st.markdown("Тут данные ввести")
10
 
11
- Buying_an_autopilot = st.number_input('Покупка автопилота, руб.', value=2000000)
12
- Purchase_of_peripheral_equipment = st.number_input('Покупка перефирийного оборудования, руб.', value=40000)
13
- Purchase_by = st.number_input('Покупка ПО, руб.', value=10000)
14
- Introduction_of_autopilot = st.number_input('Внедрение автопилота, руб.', value=20000)
15
- Maintenance = st.number_input('Обслуживание (месяц), руб.', value=100000)
16
- The_cost_of_repairing_one_car = st.number_input('Стоимость ремонта одной машины, руб.', value=10000)
17
- Inflation_rate = st.number_input('Уровень инфляции', value=0.04)
18
- Monthly_salary_rate = st.number_input('Заработная ставка, руб. в месяц', value=40000)
19
- Number_of_months = st.number_input('Количество месяцев', value=12)
20
- Equipment_breakdown_rate = st.number_input('Коэффициент поломки оборудования', value=0.1)
21
- Price_for_processing_ont_pallet = st.number_input('Цена за обработку 1 паллета, руб.', value=300)
22
- Cargo_flow = st.number_input('Грузопоток, шт/месяц', value=10000)
23
- Efficiency = st.number_input('Производительность, шт в час', value=5)
24
- Number_of_working_hours = st.number_input('Количество рабочих часов', value=8)
25
- Shift_of_one_employee = st.number_input('Смена 1 работника, ч.', value=8)
26
- Number_of_working_days_month = st.number_input('Количество рабочих дней в месяц, дн.', value=20)
27
- Social_benefits_for_one_employee = st.number_input('Социальные выплаты 1 сотруднику, руб.', value=10000)
28
- Insurance_rate = st.number_input('Ставка страхования', value=0.005)
29
- Income_tax_rate = st.number_input('Ставка налога на прибыль', value=0.2)
30
- Number_of_autopilots_serviced_by_one_employee = st.number_input('Количество автопилотов, обслуживаемых 1 работником', value=10)
31
- discounting = st.number_input('Ставка дисконтирования в месяц', value=0.028)
32
-
 
33
 
34
 
35
  def get_number_pallets_and_machines_employees():
@@ -40,22 +41,27 @@ def get_number_pallets_and_machines_employees():
40
  return Number_pallets, Number_machines, Number_employees
41
 
42
 
43
- def get_revenue():
44
- revenue = Number_machines * Number_pallets * Price_for_processing_ont_pallet
 
 
45
 
46
  return revenue
47
 
48
 
49
- def get_costs():
 
 
 
50
  Expected_repair_costs_per_month = Number_machines * Equipment_breakdown_rate * The_cost_of_repairing_one_car
51
- Wage_Fund = Number_employees * (Social_benefits_for_one_employee + Monthly_salary_rate)
52
  The_cost_of_insurance = Number_machines * Insurance_rate * (Buying_an_autopilot + Purchase_of_peripheral_equipment)
53
 
54
  return Purchase_by + Number_machines * Maintenance + Expected_repair_costs_per_month + Wage_Fund + The_cost_of_insurance
55
 
56
 
57
- def get_profit(amortization):
58
- profit = get_revenue() - get_costs() - amortization
59
  if profit > 0:
60
  return profit
61
  else:
@@ -91,7 +97,7 @@ def get_array_PV():
91
 
92
  for idx in range(1, Number_of_months + 1, 1):
93
 
94
- profit = get_profit(array_amortization[idx])
95
 
96
  cur_PV = get_PV(profit, array_discounting[idx])
97
 
@@ -108,14 +114,14 @@ def get_array_NPV():
108
 
109
 
110
  if st.button('Сюда кликнуть чтобы посчитать'):
111
- Number_pallets, Number_machines, Number_employees = get_number_pallets_and_machines_employees()
112
- array_PV = get_array_PV()
113
- array_NPV = get_array_NPV()
114
- st.write('Тут всё показываем')
115
 
116
 
117
- chart_data = pd.DataFrame(columns=['PV', 'NPV'])
118
- chart_data['PV'] = array_PV
119
- chart_data['NPV'] = array_NPV
120
 
121
- st.line_chart(chart_data)
 
8
 
9
  st.markdown("Тут данные ввести")
10
 
11
+ Buying_an_autopilot = st.number_input('Покупка автопилота, руб.', value=0)
12
+ Purchase_of_peripheral_equipment = st.number_input('Покупка перефирийного оборудования, руб.')
13
+ Purchase_by = st.number_input('Покупка ПО, руб.')
14
+ Introduction_of_autopilot = st.number_input('Внедрение автопилота, руб.')
15
+ Maintenance = st.number_input('Обслуживание (месяц), руб.')
16
+ The_cost_of_repairing_one_car = st.number_input('Стоимость ремонта одной машины, руб.')
17
+ Inflation_rate = st.number_input('Уровень инфляции')
18
+ Monthly_salary_rate = st.number_input('Заработная ставка, руб. в месяц')
19
+ Number_of_months = st.number_input('Количество месяцев')
20
+ Equipment_breakdown_rate = st.number_input('Коэфициент поломки оборудования ')
21
+ Price_for_processing_ont_pallet = st.number_input('Цена за обработку 1 паллета, руб.')
22
+ Cargo_flow = st.number_input('Грузопоток, шт/месяц ')
23
+ Efficiency = st.number_input('Производительность, шт в час')
24
+ Number_of_working_hours = st.number_input('Количество рабочих часов')
25
+ Shift_of_one_employee = st.number_input('Смена 1 работника, ч.')
26
+ Number_of_working_days_month = st.number_input('Количество рабочих дней в месяц, дн.')
27
+ Social_benefits_for_one_employee = st.number_input('Социальные выплаты 1 сотруднику, руб.')
28
+ Insurance_rate = st.number_input('Ставка страхования')
29
+ Income_tax_rate = st.number_input('Ставка налога на прибыль')
30
+ Number_of_autopilots_serviced_by_one_employee = st.number_input('Количество автопилотов, обслуживаемых 1 работником')
31
+ discounting = st.number_input('Ставка дисконтирования в месяц')
32
+
33
+ Rate_CPI = 1.1
34
 
35
 
36
  def get_number_pallets_and_machines_employees():
 
41
  return Number_pallets, Number_machines, Number_employees
42
 
43
 
44
+ def get_revenue(idx):
45
+ indexation = math.floor(idx / 12)
46
+ Price = Price_for_processing_ont_pallet * math.pow(Rate_CPI, indexation)
47
+ revenue = Number_machines * Number_pallets * Price
48
 
49
  return revenue
50
 
51
 
52
+ def get_costs(idx):
53
+ indexation = math.floor(idx / 12)
54
+ wage_fund_with_indexation = math.pow((Social_benefits_for_one_employee + Monthly_salary_rate), indexation)
55
+
56
  Expected_repair_costs_per_month = Number_machines * Equipment_breakdown_rate * The_cost_of_repairing_one_car
57
+ Wage_Fund = Number_employees * wage_fund_with_indexation
58
  The_cost_of_insurance = Number_machines * Insurance_rate * (Buying_an_autopilot + Purchase_of_peripheral_equipment)
59
 
60
  return Purchase_by + Number_machines * Maintenance + Expected_repair_costs_per_month + Wage_Fund + The_cost_of_insurance
61
 
62
 
63
+ def get_profit(amortization, idx):
64
+ profit = get_revenue(idx) - get_costs(idx) - amortization
65
  if profit > 0:
66
  return profit
67
  else:
 
97
 
98
  for idx in range(1, Number_of_months + 1, 1):
99
 
100
+ profit = get_profit(array_amortization[idx], idx)
101
 
102
  cur_PV = get_PV(profit, array_discounting[idx])
103
 
 
114
 
115
 
116
  if st.button('Сюда кликнуть чтобы посчитать'):
117
+ Number_pallets, Number_machines, Number_employees = get_number_pallets_and_machines_employees()
118
+ array_PV = get_array_PV()
119
+ array_NPV = get_array_NPV()
120
+ st.write('Тут всё показываем')
121
 
122
 
123
+ chart_data = pd.DataFrame(columns=['PV', 'NPV'])
124
+ chart_data['PV'] = array_PV
125
+ chart_data['NPV'] = array_NPV
126
 
127
+ st.area_chart(chart_data)