愛記システム概念設計:個人の評価項目・愛の行動量 | 続・ティール組織 研究会のブログ

続・ティール組織 研究会のブログ

ティール組織が話題になっているが、具現化するにはどうしたらよいか?
その研究を続けるにあたり、さらに次の形態である、続・ティール組織なるものまで視野に入れ、具体的な施策・行動内容を研究・支援する会。

先までは、"愛記"についての記載で、どのようにブロックチェーンSNSに組み込んで実装していけばよいのか、概念的なところからアプローチ方法を記載していった。大まかな概念としてはひとまず終えた。次は、ブロックチェーンの概念設計といえるところまで、基本設計書に着手できるようなところまで、概念を具体化していきたい。

個人の評価項目について

愛の行動の評価は何を規準に、どのようになされていくのであろうか。そこを記載したい。まず、”個人の評価”を設計するに際し、コンピテンシーなる標準行動を考えていくべきなのであろう。この標準行動をとるような人が設計のモデルとなり、そこからどれほどバラつくかを設計していくことで良いのだろう。

 

まず、標準行動の月々の目安は次のようにしたい。なお、これは初期であって、時間の経過とともに目安も変わってくるだろう。それゆえ、時間の経過とともに評価基準も変更していく必要はあるだろう。まずは、初期は下記のようにしたい。

・”ゆらぎ”件数:3件/月以上

・対象相手:偏りすぎないこと

・次元:偏りすぎないこと

・波動レベル:偏りすぎないこと

・愛の行動量:30回/月以上

 

これを目標に、愛の行動をしていくのである。そうすると、やはり、日により、月により、出来る時と出来ない時が出てくる。それは、体調面であったり、モチベーションであったり、環境面やトラブル発生など、様々な要因で、愛の行動ができなくなるのだ。しかし、波動レベルを高いレベルで安定させることが出来る人は、一度落ちたとしても、またすぐに元に戻せる方法を知っているのだ。それゆえ、翌日になれば、普段のように愛ある行動をしだすのだ。一方、安定させることが出来ない人は、翌日も、ひどい時は1か月ずっと低い波動レベルのままで、怒り、攻撃し、イライラを人にぶつけていくのである。

 

これらの状態を見える化する、つまりはフィードバックすることがなによりも、落ちていることを自分に気づかせる手段なのであり、”愛記”により、一目瞭然となるのである!とても分かりやすいフィードバックであるので、自己理解ツールにもなり得るだろう。

◆愛の行動量について

日々の愛の行動量を仕訳したものを、愛貨額で集計していく。その額が、愛の行動の量として、見える化できるということだ。そのため、行動件数が評価指標となりえるか?また、愛の行動レベルとの兼ね合いはどうか? 例えば、1000愛貨を申請して保有しているとしよう。

・愛の行動レベル1の行動→ AIR×100回

・愛の行動レベル2の行動→ AIS×25回

・愛の行動レベル3の行動→ AIP×14回

・愛の行動レベル4の行動→ AIH×10回

・愛の行動レベル5の行動→ AIT×7回

・愛の行動レベル6の行動→ AII×6回

・愛の行動レベル7の行動→ AIC×5回

・愛の行動レベル8の行動→ AIU×4回

・愛の行動レベル9の行動→ AIE×4回

・愛の行動レベル10の行動→ AIM×3回

 

このように、レベルがあがるほど行動件数は減る。それゆえ、件数で評価してしまうとおかしくなるので、やはり、『やりとりした愛貨額』で評価していけば良いのだろう。その場合は、下記のような時価相場の価格を入れての愛貨総額の評価になる。仮に時価相場を下記ようであるとしよう。

・愛の行動レベル1の行動→ 10愛貨×100回→ 1000愛貨

・愛の行動レベル2の行動→ 40愛貨×25回→ 1000愛貨

・愛の行動レベル3の行動→ 70愛貨×14回→ 980愛貨

・愛の行動レベル4の行動→ 100愛貨×10回→ 1000愛貨

・愛の行動レベル5の行動→ 130愛貨×7回→ 910愛貨

・愛の行動レベル6の行動→ 160愛貨×6回→ 960愛貨

・愛の行動レベル7の行動→ 190愛貨×5回→ 950愛貨

・愛の行動レベル8の行動→ 220愛貨×4回→ 880愛貨

・愛の行動レベル9の行動→ 250愛貨×4回→ 1000愛貨

・愛の行動レベル10の行動→ 280愛貨×3回→ 840愛貨

このようにP/Lを見れば、行動量は一目瞭然になる。ここがまずは評価項目の1つとなる。行動量が多いほど、評価が高くなるのは当然であろう。仮に行動して与えた愛貨額の総額がそのまま評価点となるとしよう。すると下記のような評価になる。

850愛貨/月→ 850点

15000愛貨/月→ 15000点

3550000愛貨/月→ 3550000点

 

なお、費用(実行してない行動・目標値)に関しては、貰った愛貨分は含まれない。やりとりで貰った愛貨分はB/Sの資産の方に計上される。B/S側を見てみると、資産にもらった愛貨額が記載されるので、もらった分はこちらを見れば一目瞭然となる。あと、参入時の申請分はもちろんだが、家族から相続された、知人から譲り受けた等の、普段の愛貨のやりとりではないルートからの場合は”純資産”に入る。

愛貨をもらうことは悪いことではない。たくさん貰えば、相手も喜んで愛の行動ができるわけだから受け取ってもらえるということは嬉しいことなのだ。自分もさらに追加で愛の行動ができるのだから自分も嬉しいのだ。ただ、貰いっぱなしというのが良くない。貰ったら、他の人に愛の行動をして与える、というバランスが大切なのだ。

 

よって、評価としては、もらった愛貨額と与えた愛貨額のバランスを見ていく。

このバランスが悪く、月次で締めた時に残ってしまったとしよう。残った分がマイナスの評価となる。例えば下記のようになる。

250愛貨/月が残った→ マイナス250点

10000愛貨/月が残った→ マイナス10000点

3500000愛貨/月が残った→ マイナス3500000点

 

先の行動量のプラス点と、残ってしまった分のマイナス点を相殺して、月次の評価点数が算出されるという具合だ。ただ、与えるのと貰うのが等価というのはおかしい。与える方が重いので、係数を1/4としたい、つまり、0.25倍したい。この係数は、シミュレーションしてみないと妥当性がつかめないので、当初はこの数字にしておくが、後に変更はありえる。

プラス550点 ー マイナス250点✕0.25 = 487点

プラス5000点 ー マイナス100000点✕0.25 = 0点(評価点なし)

 

これが月次の評価点数となる。このような評価点数を毎月月末で締めて、年次で締めて、所得税減税や法人税減税のサービスとリンクさせることにする。そして、年始の4月1日から新たにリセットされて新年度ということになる。以下のDApps側であるPythonプログラムを記載する。

 

from collections import defaultdict
from datetime import datetime
import random

class User:
    def __init__(self, name, initial_love_tokens):
        self.name = name
        self.volunteer_hours = 0
        self.event_contribution = 0
        self.love_tokens_received = 0
        self.love_tokens_given = initial_love_tokens
        self.yearly_score = defaultdict(int)

    def participate_in_volunteer_activity(self, hours):
        self.volunteer_hours += hours

    def contribute_to_event(self, level):
        self.event_contribution += level

    def receive_love_tokens(self, amount):
        self.love_tokens_received += amount

    def give_love_tokens(self, amount):
        self.love_tokens_given += amount

    def update_yearly_score(self, year):
        # Assuming fiscal year is from April 1 to March 31
        if datetime.now().month >= 4:
            fiscal_year = datetime.now().year
        else:
            fiscal_year = datetime.now().year - 1
        self.yearly_score[fiscal_year] = self.volunteer_hours + self.event_contribution

    def get_yearly_score(self, year):
        return self.yearly_score[year]

    def calculate_evaluation_score(self, year, initial_love_tokens):
        received_difference = self.love_tokens_received - initial_love_tokens
        given_difference = self.love_tokens_given - received_difference
        evaluation_score = (given_difference - received_difference* 0.25)
        return evaluation_score

class TaxSystem:
    def __init__(self, tax_rate):
        self.tax_rate = tax_rate

    def apply_tax_reduction(self, user):
        total_reduction = 0
        for year, score in user.yearly_score.items():
            tax_reduction = min(score, user.event_contribution) * self.tax_rate
            total_reduction += tax_reduction
        return total_reduction

class Blockchain:
    def __init__(self, tax_rate):
        self.chain = []
        self.transactions = []
        self.users = {}
        self.tax_system = TaxSystem(tax_rate)

    def create_genesis_block(self):
        genesis_block = {
            'index': 1,
            'timestamp': str(datetime.now()),
            'transactions': [],
            'proof': 100,
            'previous_hash': '0'
        }
        self.chain.append(genesis_block)

    def get_last_block(self):
        return self.chain[-1]

    def add_transaction(self, sender, receiver, amount):
        transaction = {
            'sender': sender,
            'receiver': receiver,
            'amount': amount
        }
        self.transactions.append(transaction)

        if sender not in self.users:
            self.users[sender] = User(sender, amount)
        if receiver not in self.users:
            self.users[receiver] = User(receiver, 0)

        self.users[sender].give_love_tokens(amount)
        self.users[receiver].receive_love_tokens(amount)

    def mine_block(self):
        last_block = self.get_last_block()
        new_block = {
            'index': last_block['index'] + 1,
            'timestamp': str(datetime.now()),
            'transactions': self.transactions,
            'proof': 0,
            'previous_hash': last_block['previous_hash']
        }
        self.chain.append(new_block)
        self.transactions = []

        for user in self.users.values():
            user.update_yearly_score(datetime.now().year)

    def evaluate_and_apply_tax_reduction(self):
        for user in self.users.values():
            tax_reduction = self.tax_system.apply_tax_reduction(user)
            if tax_reduction > 0:
                print(f"{user.name} earned {user.volunteer_hours} hours of volunteer activity and contributed at level {user.event_contribution}.")
                print(f"{user.name} is eligible for tax reduction of {tax_reduction}.")

            evaluation_score = user.calculate_evaluation_score(datetime.now().year, 0)
            print(f"{user.name}'s evaluation score for the year is {evaluation_score}.")

# Sample data
blockchain = Blockchain(0.1)  # 10% tax rate
blockchain.create_genesis_block()

for _ in range(5):
    sender = 'Alice'
    receiver = 'Bob'
    amount = random.randint(1, 10)
    blockchain.add_transaction(sender, receiver, amount)

blockchain.mine_block()
blockchain.evaluate_and_apply_tax_reduction()
 

上記のプログラムでは、Userクラスにcalculate_evaluation_scoreメソッドを追加し、評価点数を計算している。また、Blockchainクラスの初期化時に係数を追加し、evaluate_and_apply_tax_reductionメソッドで評価点数を計算して利用している。なお、計算方法として、ユーザーが行った愛の行動により移動した愛貨の額を集計し、さらに(相手から愛の行動をされてもらった愛貨の額を含めて3月31日で締めた額ー自己申告により年初に申告した愛貨額)×1/4を集計し、それらの差額を計算することで評価点とした。

 

 

いかがであろうか、これが愛の行動量の評価についてであった。再度見直してみても、このような評価をしていけば、与えるのと貰うのバランスを意識して愛の行動ができると考えられたので、このままで概念設計はいきたい。偏りも減るので、良い評価項目となりえると思う。