Created
October 31, 2019 09:21
-
-
Save angeloped/41079a03bf420112f7520b456a28fbf9 to your computer and use it in GitHub Desktop.
Anarcho-Syndicalism/Anarcho-Collectivist salary distribution system. 100% legit no scam. Accurate calaculation.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python | |
from __future__ import division | |
""" | |
name: AnSyn_salary_microeconomics.py | |
description: Anarcho-Syndicalism/Anarcho-Collectivist salary distribution system. 100% legit no scam. Accurate calaculation. | |
author: Bryan Angelo Pedrosa | |
min_salary - the standard minimum pay. no matter what happen. | |
peak_salary - highest pay if average income per worker reached peak. | |
(both of these two are changeable depending on the decision of union syndicalists) | |
P.S. anyone can change the terminology. | |
""" | |
class Anarcho_Syndicalism: | |
def __init__(self, collective_networth, min_salary, peak_salary): | |
self.collective_networth = collective_networth # net worth of a collective business | |
self.min_salary = min_salary # minimum salary for all | |
self.peak_salary = peak_salary # maximum salary for all | |
def calc_distribute(self, total_income, investment, unsold_products, workers): | |
actual_workers = workers - 1 | |
standard_salary = self.min_salary * workers | |
income_profit = total_income - investment | |
profit = 0 | |
losses = unsold_products | |
# profit is higher than workers salary | |
if income_profit > standard_salary: | |
# fair salary labour (stable) | |
pseudosalary_labour = int(income_profit / workers) | |
# preventing salary labour overflow | |
if pseudosalary_labour > self.peak_salary: | |
salary_labour = self.peak_salary * actual_workers # maximum salary | |
else: | |
salary_labour = pseudosalary_labour * actual_workers # actual salary | |
# extra income/profit will go to business | |
profit = income_profit - salary_labour | |
elif income_profit < standard_salary: # losses due to many unsold products | |
# fair salary labour (unstable) | |
salary_labour = self.min_salary * actual_workers | |
if self.collective_networth > salary_labour: | |
# borrow from networth | |
if income_profit > 0: # has profit | |
salary_borrow = salary_labour - income_profit | |
else: # has no profit | |
salary_borrow = salary_labour | |
# borrow from collective networth | |
self.collective_networth = self.collective_networth - salary_borrow | |
# re-determine losses; salary + losses | |
losses += salary_borrow | |
elif self.collective_networth < salary_labour: | |
print("Collective Business Bankrupt!") | |
return | |
# no extra income; minimum salary | |
salary_labour = self.min_salary | |
return (self.collective_networth, salary_labour, profit, losses, actual_workers) | |
if __name__ == "__main__": | |
# investment is total value of for example: ingredients and consumed energy. | |
workers = 3 + 1 # workers (+1; business acts as a worker) | |
a_collective = Anarcho_Syndicalism(collective_networth=10000, min_salary=250, peak_salary=750) | |
print(a_collective.calc_distribute(total_income=1000, investment=1000, unsold_products=0, workers=workers)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment