Skip to content

Instantly share code, notes, and snippets.

@angeloped
Created October 31, 2019 09:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save angeloped/41079a03bf420112f7520b456a28fbf9 to your computer and use it in GitHub Desktop.
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.
#!/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