Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement network self-sufficiency metric #123

Open
4 tasks
orthecreedence opened this issue Sep 20, 2020 · 0 comments
Open
4 tasks

Implement network self-sufficiency metric #123

orthecreedence opened this issue Sep 20, 2020 · 0 comments
Labels
layer:interface Regarding interfacing with the outside world. project:core tag:cybernetics For issues relating to systemic automation tag:governance Having to do with governance in general (global,companies, resources, etc) type:feature Well-thought out features with implementation details

Comments

@orthecreedence
Copy link
Member

The implementation of the discussion #122 in the core.

Given the long-term nature of the metric, it might make sense to collect and process stats into monthly buckets and calculate on a yearly basis.

Sufficiency stats

struct SufficiencyStats {
  period: DateTime<Utc>,
  consumer_credits_printed: Decimal,
  consumer_credits_withdrawn: Decimal,
  producer_order_credits: Decimal,
  producer_currency_credits: Decimal,
}

Equations are fairly straightforward once we have this info (see https://basisproject.net/paper#definition-of-self-sufficiency)

Consumer sufficiency

  • When credits are printed (ie, payroll is run), increment the total credits for the current monthly bucket
  • On withdraw increment the total withdrawl monthly bucket as a credit value based on the current credit -> currency conversion for that currency

Producer sufficiency

  • When an agreement is created, add the total credit value to the monthly sufficiency stats bucket
  • When an agreement involves currency, add the credit value of the currency to the monthly sufficiency stats bucket
@orthecreedence orthecreedence added project:core tag:cybernetics For issues relating to systemic automation tag:governance Having to do with governance in general (global,companies, resources, etc) type:feature Well-thought out features with implementation details labels Sep 20, 2020
@orthecreedence orthecreedence added the layer:interface Regarding interfacing with the outside world. label Apr 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
layer:interface Regarding interfacing with the outside world. project:core tag:cybernetics For issues relating to systemic automation tag:governance Having to do with governance in general (global,companies, resources, etc) type:feature Well-thought out features with implementation details
Projects
None yet
Development

No branches or pull requests

1 participant