見出し画像

Axie Infinityのマネジメント作業を自動化してみた【中規模以上のScholarshipを運営するマネージャー向け】

・Scholarが増えてきて管理が大変
・たまにScholar Trackerで表示される数字がバグってて、結局報酬としていくら払えば良いか分からない
・毎月、30人分の受領証を数時間かけて手作業で作成してるんだけど、もっと早くならないかな

そんな悩みを解決するための記事です。

【前置き】

こんにちは、Keiです。(Twitter:@Kei_Axie
2021年12月現在7名のScholarを雇っています。

最近、Scholarの人数が少しずつ増えるとともに、毎月の報酬を計算したり、受領証を作成したり、支払いをしたりと、マネジメントに掛かる作業時間も増えてきました。
(既に10人、100人単位で雇っておられる方々は、本当に時間と労力を掛けておられると思います。素直に尊敬してます。)

これからScholarshipを徐々に拡大したい一方で、本業もある中で作業時間を捻出することが難しいと感じたため、楽できる部分はないかなーと思い、試行錯誤した結果を記事という形で執筆します。

自動化のコンセプトは、無料で読めます。
具体的なアウトプット(僕が利用しているテンプレート資料)は、有料にしようと思いましたが、これも含めて全て無料にします。

役に立ったよって方がいらっしゃいましたら、以下のRonin addressに募金いただけると大変報われます!
ronin:720a16a9ec5209c6365f106a0b89370f05a4269d

本業は日頃からExcelで分析回したりする仕事なので、アウトプットもそれなりの品質と自負してます。

本記事の内容
・受領証作成周りの作業を自動化するためのコンセプト
  - 何を自動化したの?
  - どうやって自動化したの?
  - 自動化してどれだけの効果が得られたの?
・実際に運用している成果物へのアクセス権
・上記成果物を用いた運用手順等の詳細説明
本記事の想定読者
・Axie Infinityをプレイした経験がある方
・5名以上のScholarを雇っている、もしくは今後雇う予定のある方
・Scholarのマネジメントを少しでも自動化したい方
・ある程度、ExcelかGoogleスプレッドシートの知識がある方
※ 全く分からない方だと、せっかく本記事をお読みいただいても、自分用にカスタマイズして利用いただけない可能性があります
本記事を読むメリット
・1 Scholarあたりの受領証作成を15秒で終わらせる方法が分かる
・実際に僕が使っているGoogleスプレッドシートにアクセスして、仕組みを丸パクリ出来る

なお、本記事では、次の内容については記載していないため、別の記事や情報媒体を参照ください。
参考になりそうなリンクも勝手に紹介します。

■ Scholarshipの始め方(契約書や受領書の雛形含む)
→アルちゃんのYoutube、神宮寺さんのYoutube、zoneさんのnote

■ アリーナでの勝ち方
→de-hiさんのYoutube、ざんざきさんのnote

■ ブリードの仕方
→RYUINTMさんのnote


それでは、早速本題に入ります。

1. どういう仕組みを自動化したの?

まず、人によって、Scholarshipの仕組みは異なると思います。
報酬の割合や支払いサイクル、支払い方法など、様々なオプションがあります。

ほぼ同じ仕組みでしたら、基本的には本記事の内容がそのまま適用可能かと思います。

1-1. Scholarshipの制度

今回紹介する自動化を適用したScholarshipの仕組みは、こんな感じです。

報酬の割合:月毎に獲得したSLPの量に応じて変動
4,000未満の場合、Scholar:Manager = 30%:70%
4,000以上かつ6,000未満の場合、Scholar:Manager = 35%:65%
6,000以上の場合、Scholar:Manager = 40%:60%

報酬の割合が固定の場合、さらにシンプルになるので、何も問題なく自動化出来ます。
期間毎の最高MMRに応じて報酬割合を変更している場合や、Scholar毎に個別で報酬割合を設定している場合、自動化するためにはちょっとした工夫が必要になります。

支払いサイクル:月1回
毎月獲得したSLP総量を元に、前述の割合に応じて、月次で支払っています
Scholarに依って、報酬の計算期間も変えてませんし、支払日もほぼ変えていません

作業負荷を減らすために、Scholarに依って報酬の計算期間を分散させている場合は、結構工夫しないと今回の自動化は適用できないかと思います。

支払い方法:Ronin wallet経由でSLP支払い
各Scholarが獲得したSLPをClaimして、前述の割合分をScholarのRonin walletへ、残りを自分のRonin walletへ送金しています

Managerの皆さんは、ほぼSLPで報酬を支払ってると思います。

1-2. 自動化した作業の範囲

2021年12月時点で自動化できている作業は、次の太字の範囲です。

------- 自動化↓ -------
① SLP獲得履歴の記録(Scholarの協力必須)
② 受領証の作成(一部)

------- 手作業↓ -------
③ 受領証の送付
④ 報酬の支払い

① SLP獲得履歴の記録に関して、単純に日次のSLP獲得履歴をチェックしたいだけなら、次のサイトを利用すれば良いかと思います。
控えめに言って、めっちゃ便利です。
https://tracker.axie.management/
https://axie.ezhub.app/

ただ、Claimした日や、各サイトのメンテナンスが行われた日は、SLPの獲得履歴が正常に表示されない事象も確認しています。
僕は月毎のSLP獲得量に応じて報酬の割合を決めており、正確な記録を残す必要があるため、手元でも記録を取ることにしました。

自動化と言っても、Scholar毎に記録表をGoogleスプレッドシートで作成・共有して、毎日各自で埋めてもらっています。
Managerとしては、上で紹介したサイトや現時点のSLP総量を見ながら、日々の記録との整合性を確認することになります。

② 受領証の作成に関して、ScholarのIDおよび支払日だけ入力してしまえば、受領証が作成されるような状態です。全自動じゃないので、(一部)と表記しました。
ただし、①のSLP獲得履歴と連携して、毎月の報酬額は勝手に表示されるようになっています。

③ 受領証の送付に関して、自動化は未実現ですが、将来的にはGmailを使ってScholarさんのGmailアドレスへ送るところまでは自動化したいと考えています。
Google Apps Scriptでコード書けば、すぐ出来そうな気もしますが、まだ着手できていません。

④ 報酬の支払いに関して、同じく自動化は未実現です。ただ、支払いの自動化に関しては、かずぅさんが紹介してくださっているnoteがありますので、興味がある方はご覧ください。

大きな注意点として、次の3つがあります。
・現時点でWindowsのみ(MacはNG)
・支払い毎に1%が製作者へ寄付
・秘密鍵を利用するので、高いリテラシーが必要かつあくまで自己責任

決して安易に勧められるものではないので、試すならご自身で十分に調べた上でお願いします。

なお、僕はMacを利用してるので、実現は大分先になりそうです、、

2. どうやって自動化したの?

自動化の対象となるScholarship制度と作業範囲が分かったところで、そのコンセプトをお伝えします。

2-1. 利用しているアウトプット

まず、今回利用しているファイルは2種類で、それぞれ次の内容を含んでいます。

① Scholarとの共有ファイル ※Scholarの人数分のファイルが必要
└ SLP獲得記録 + 受領証に必要な情報の入力シート

② 自分だけで閲覧・編集するファイル ※1ファイルだけ必要

└ 受領証シート
└ 受領証作成に必要な情報の設定シート
└ Scholarとの共有ファイルからデータ連携するための設定シート
└ SLP獲得記録の整理シート
└ SLP Claim記録の整理シート
└ 月毎のScholar別報酬額の計算シート

なお、2種類のファイルともにGoogleスプレッドシートを使っています。

順番に見ていきましょう。

① Scholarとの共有ファイルに関して、まず各Scholarとの共有になるため、人数分のファイルが必要です。

SLP獲得履歴を手元に残しておく理由は前に述べましたが、合わせてRonin addressや住所の入力欄も用意しておきます。
これは、ScholarのRonin addressが変わったり、引っ越ししたりした場合に、こちらから逐一聞かなくても済むようにしたいからです。

以前、Twitterで次のような事例をお見かけしました。

「Scholarの送金先Ronin addressが変わったことを自己申告してもらえておらず、二重支払いになるかどうかで揉めた!」

僕の場合はこのようなケースにまだ出会ったことはなく、応募時に入力してもらった情報をそのまま使えていますが、念には念を入れて対応したいと思います。

なお、Scholar別にファイルを分割して個別に共有している理由は、氏名や住所という個人情報を取り扱うため、プライバシー保護を重んじているからです。

② 自分だけで閲覧・編集するファイルに関して、Scholarと共有するものではないので、自分1人が扱うマスターファイルと思ってください。

Scholarが日々入力してくれたSLPの獲得履歴の整合性を確認したり、ClaimしたSLP量を記録したり、月毎の報酬額を確認したり、受領証を作成したりする時に用います。

2-2. 運用方法

紹介したアウトプットを使って、結局Managerは何をして、Scholarは何をするのか、という話を整理していきます。

文字だけだと分かりづらいので、スライドで見てみましょう。

スクリーンショット 2021-12-06 0.39.31

契約書の取り交わしや、チームDiscordへの案内など、人によっては色々なフローがあるかと思いますが、ここでは作業の自動化が関わる部分だけ抽出しています。

復習ですが、現時点で自動化できている作業は次の2つです。
SLP獲得履歴の記録(Scholarの協力必須)
受領証の作成(一部)

---------------

まず、PrepareおよびApplyを見てみましょう。
Googleスプレッドシートの共有機能を使うため、予め雇うScholarのGmailアドレスを把握できていると、その後が楽です。

僕はGoogleフォームを使って、Scholarを募集しており、必須入力項目の1つにGmailアドレス入力欄を設けています。

---------------

次に、Contractを見てみましょう。
契約するScholarのID(番号)と名前を用いて、SLP獲得履歴を入力するためのファイルを作成します。

そして、作成したファイルを応募時にフォームで入力してもらったGmailアドレスと共有します。
共有する際、「毎日このフォーマットで、このファイルにSLPを記録してね。送金先のRoninアドレスや住所は、常にここを最新化しておいてね」とルールを説明しておきます。

フォーマット自体は非常にシンプルなので、今のところScholarから「これってどうすれば良いの?」等の質問は来てません。

契約書の内容を見てから、やっぱり条件が悪いからこのScholarshipは辞退したいだとか、音信不通になったりするケースもあるみたいですね。
契約書のサイン等するかと思いますので、諸々全てが終わって、Axieを渡す直前にファイルの作成や共有をしています。

Scholarと共有用のファイル作成・共有が完了したら、自分だけで閲覧・編集するファイルにも、設定を追加していきます。
具体的には、次の4シートで新しく契約したScholar分の行 or 列を追加します。

1. SLP獲得履歴の整理シート
2. SLP Claim記録の整理シート
3. 月毎のScholar別報酬額の計算シート
4. Scholarとの共有ファイルからデータ連携するための設定シート

1~3.は、基本的に別Scholarの列をコピーして、Scholarの名前を変えるだけです。
4.は、Scholarとの共有ファイルにあるURLの一部を、このシートへコピーする必要があります。

---------------

次に、Playを見てみましょう。
まず、ScholarはContract時に共有したファイル上に、毎日獲得したSLPを記録してもらうことになります。

Managerとしても、Scholar Trackerの数字と、記録してもらった数字が整合しているか数日に1回チェック出来ると良いですね。
たまに間違えた数値を記録してしまうScholarも居ます。

ezhubであれば、4日前までの記録が見れますし、Scholar Tracker Managerであれば、1ヶ月前までの記録が見れます。
Claimやメンテナンスがなければ、SLP獲得履歴は正しく表示されていると思います。

Scholarに入力してもらった記録が間違っている場合、今までの数値を合算したTotalのSLP数と、AxieのアカウントのInventoryに入っているSLP数が合わなくなりますので、Scholar自身でチェックしてもらうことも可能です。

そして、支払い先の情報となる住所やRonin addressなども、変更があればファイル上で随時アップデートしてもらうようにしましょう。

この仕組みがあれば、支払いの度に、Managerから全Scholarへ「変更ないよね?」と聞いて回らなくて済みます。
親切なManagerであれば、支払い3日前辺りに「更新しといてね」とリマインドしても良いかもしれません。

---------------

最後に、Payを見てみましょう。
まずは、報酬を支払う前に、報酬額に対する認識に相違がないかをManager / Scholar双方で確認します。

具体的には、受領証を作成・共有して、報酬額や送り先のRonin addressの最終確認をします。

受領証の作成については、「Scholarの名前(僕の場合はID)」と「支払日(受領証の作成日)」の2つを入力すれば完成するフォーマットになっています。

ScholarからOKの返事が来たら、いよいよ各Ronin addressでmarketplaceにログインし、Claim可能なSLPを全額Claimします。
この際、Claimした金額はメモしておきましょう。

何故なら、Claim当日で既に翌月分のSLPを稼いでしまっている可能性があるからです。

具体例を挙げます。
11/1 ~ 11/30で5,000SLPを獲得したアカウントがあるとしましょう。
12/1のClaim時点では5,200SLPと表示されており、これは12/1にAxieをプレイして200SLPを獲得しているわけです。

今回紹介したScholarship制度では、月次の獲得SLP量に応じて報酬割合を決めているため、Claimした SLP量を記録しておかないと、この200SLPの扱いに困ります。

上記の例で言えば、5,200SLPをClaimし、11月の報酬として5,000SLP × 35% = 1,750SLPを送金します。
残りの5,200 - 1,750 = 3,450SLPは自分のRonin addressへ送金し、Ronを掘るために利用してます。
(12/1に獲得した200SLPだけを当該Scholarのアカウントに残しておいても良いですが、勿体ないので使ってます。)

そして、月次のSLP獲得量は記録してあるため、12月分の報酬は12/1に獲得した200SLPも含めて計算可能です。

送金が終われば、Scholarに受領した旨を確認してもらい、受領証にサインをもらって支払い完了です。

3. どれだけの効果が得られたの?

自動化のコンセプトや運用方法についてはある程度ご理解いただけたと思いますので、いよいよ定量的な効果の紹介です。

くどいようですが、今回の自動化した作業は次の2つでした。
① SLP獲得履歴の記録(Scholarの協力必須)
② 受領証の作成(一部)

それぞれの作業時間は次の通りです。

① SLP獲得履歴の記録 ⇒ Scholar 1人あたり10秒程度 / 日
※ 基本的にManagerは記録と実体の整合性を確認するのみです。整合していない場合に限り、Scholarへチャット打つため、1人あたり1分 / 日が追加で掛かります。
② 受領証の作成 ⇒ Scholar 1人あたり15秒程度 / 月
※ 支払日がScholarに依らないため、最初の1人分入力してしまえば、日付は固定なので、あとはIDを変えてpdfとしてダウンロードするだけです。

なお、事前準備はScholar1人あたり1~2分程度です。
・Scholarとの共有ファイルの作成・共有(コピーでOK)
・Scholarへのルール説明(コピーでOK)
・自分だけで閲覧・編集するファイル上で設定追加(コピーでOK)

お分かりの通り、本当に時間が掛からなくなりました。

僕は7名のScholarを抱えていますが、正直この人数なら受領証の作成くらい手作業でも構わないと思っています。

ですが、受領証における計算ミスなどがあると、受領証を作成し直して、再共有して、Scholarからの確認を再度待って・・・といった無駄な待ち時間が発生してしまいますよね。

個人的には、この待ち時間が嫌だったので、早めの段階で手を打ちたかった次第です。

この仕組みにたどり着くまでは一定の工数を掛けましたし、今後この仕組みを新しいScholarにも適用する際も事前準備が必要になりますが、絶対にやって良かったと思っています。

-----------------------------------------------------------------------------

ここまでがコンセプトです。

次の章から、僕が実際に利用しているテンプレートを用いて、事細かに内容を説明するパートです。
実際のテンプレート資料へのアクセス権限も付与いたします。

これまでの内容を読んで、
「Scholarshipの制度が違いすぎるし、既に何人も契約済みだから、今から体系を変えるのはちょっと・・・」
「便利そうだけど、面倒だな」
と思われた方は、残りの長文を読む必要はございません。

逆に、
「自分のScholarshipにも適用出来そうだから、導入したい」
「Axie Infinityに限らず、他のBCGでも役立ちそうだから、実際の成果物を見てみたい」
と思われた方は、ぜひもう少しお付き合いください。

----------------------------------------------------------------------------

4. 各ファイルへのアクセス権限

Google Driveをフォルダごと共有いたします。
紹介する資料は、こちらのリンクからアクセス可能です。
https://drive.google.com/drive/folders/1sj3b8GLznrk8t9TcgV8uDu9JSLgLNzYp?usp=sharing

アクセス不可能な場合は、TwitterもしくはDiscordにてGmailアドレスをご教示ください。
Twitter:@Kei_Axie
Discord:Kei#7637

実際に利用する場合、各ファイル左上の「ファイル」→「コピーを作成」で、ご自身のドライブへ各ファイルをコピーしてご利用ください。

5. フォルダ構成

01_Management:自分だけで閲覧・編集するファイルの格納先
└ 01_Payment (Example).gsheet

02_Scholar:Scholarとの共有ファイルの格納先(僕は、契約書や身分証明書などもScholar別のフォルダ配下で管理しているため、この構成にしました)
└ 001_Alex
 └ 01_SLP Record_001_Alex (Example).gsheet
└ 002_Bobby
 └ 01_SLP Record_002_Bobby (Example).gsheet
└ 003_Chris
 └ 01_SLP Record_003_Chris (Example).gsheet
└ 004_David
 └ 01_SLP Record_004_David (Example).gsheet
└ 005_Edward
 └ 01_SLP Record_005_Edward (Example).gsheet
└ 006_Frankie
 └ 01_SLP Record_006_Alex (Example).gsheet
└ 007_George
 └ 01_SLP Record_007_George (Example).gsheet

なお、氏名の前の"000"はScholarとして雇った順番を示しています。

6. 前提

Scholarの氏名・住所・Ronin address・獲得SLP量は、全て架空の設定です。
各Scholarの雇用期間は次の通りです。

Alex:2021/10/01 ~ 2021/10/31
Bobby / Chris:2021/11/01 ~ (2021/12/15 現在まで)
David / Edward / Frankie / George:2021/12/01 ~ (2021/12/15 現在まで)

Alexは10月のみで辞めてしまったというリアリティある(?)設定です。
Googleスプレッドシート上における辞めてしまったScholar分の扱い方も、ちょっとしたTipsとして紹介します。

7. 詳細_Scholarとの共有ファイル

まずは復習ですが、Scholarとの共有ファイルの中身は次の通りです。

Scholarとの共有ファイル ※Scholarの人数分のファイルが必要
└ SLP獲得履歴 + 受領証に必要な情報の入力シート

Scholar 2名分のファイルを使って、どんな項目を設定しているか見ていきましょう。
なお、1ファイルに1シートのみ含まれています。

今回は、10月だけで辞めてしまったAlexと、11月から現在まで継続してプレイしてくれているBobbyを例に扱います。

以降紹介するファイルについて、基本的に入力欄の文字色は、次の意味合いで使い分けてます。

青字:値を直接入力
黒字:関数入力

------------

まずはAlexからです。

スクリーンショット 2021-12-08 14.18.21

B列2~5行は、契約時に収集した情報をもとに予めManager側で予め埋めておきましょう。

住所やRonin addressは、常にこの入力欄を最新化するように伝えておけば、支払いの度にこちらから毎回聞きに行かずに済むため、コミュニケーションコストを下げられます。

そして、B列の9行以降に、SLP獲得履歴を毎日入力してもらっています。
基本的にManager側ではこの入力欄をいじらず、入力忘れがあったり間違えがあれば、Scholarが自分で修正するように促しています。

Bobbyは、10月のみの雇用でしたので、10/1 ~ 10/31のみSLP獲得履歴が入力された状態です。
11/1以降は空欄になってますね。

------------

次にBobbyです。

画像3

Alexのファイルとの違いを中心に説明していきます。

まず、Alexは11/1 ~ 12/15現在まで雇用しているため、10月分のSLP獲得履歴は空白で、11/1以降は入力された状態です。

次に、赤い四角の枠に着目します。
前月以前のデータは、特に確認することもないため、行をグループ化して"折りたたみ"して、普段は12月以降の入力欄のみ見えるようにしています。

また、現時点では2021/12/31までしか入力欄を用意していません。
そのため、Scholarに対して「2022/1/1以降は自分でコピペして入力欄を作ってから、SLPの獲得履歴を入力してね」と伝えてあげればOKです。

------------

Scholarと共有するファイルの内容は、これだけです。

Scholarに説明する場合、僕は以下の文章と写真を送っていますので、参考になれば幸いです。

■ How to report your daily SLP record
- I will share a file as Google Spreadsheet with each member, using gmail address that I already have when you applied.
- Input the amount of SLP you earn with BLUE text everyday in the file so that both of I and you double check.
- If there is no field to input, please copy&paste the format as same as the former date.
- Keep your Address and Ronin address always updated.
- Basically, the format is like this.

画像4


また、実際にScholarとファイルを共有する手順は次の通りです。
まずは共有の対象となるGoogleスプレッドシートを開きましょう。

画像5

そして、右上の赤い四角で囲った「共有」をクリックします。

画像6

次に、真ん中の「ユーザーやグループを追加」という入力欄に、ScholarのGmailアドレスを入力します。

画像7

そして、右側の「完了」をクリックします。

画像8

最後に、ロールは初期設定の「編集者」を指定したまま、送信ボタンをクリックします。
「閲覧者」もしくは「閲覧者(コメント可)」を選択してしまうと、Scholar側でSLP獲得履歴を入力出来なくなってしまいます。

これでGoogleスプレッドシートの共有は完了です。

8. 詳細_自分だけで閲覧・編集するファイル

Managerが日々閲覧・編集するファイルを紹介していきます。

まずは復習ですが、自分だけで閲覧・編集するファイルの中身は次の通りです。

自分だけで閲覧・編集するファイル ※1ファイルだけ必要
└ 受領証シート
└ 受領証作成に必要な情報の設定シート
└ Scholarとの共有ファイルからデータ連携するための設定シート
└ SLP獲得履歴の整理シート
└ SLP Claim記録の整理シート
└ 月毎のScholar別報酬額の計算シート

各シート名は次のように対応しています。

・受領証シート ⇒ Receipt
・受領証作成に必要な情報の設定シート ⇒ Key_Receipt
・Scholarとの共有ファイルからデータ連携するための設定シート ⇒ Key_Spreadsheet
・SLP獲得履歴の整理シート ⇒ SLP_Earned
・SLP Claim記録の整理シート ⇒ SLP_Claimed
・月毎のScholar別報酬額の計算シート ⇒ Monthly_YYYY_MM(Monthly_2021_12, Monthly_2021_11, Monthly_2021_10)

また、各シートは次の3種類に分類しています。

① Template:受領証作成に必要な情報
  ・受領証シート ⇒ Receipt
  ・受領証作成に必要な情報の設定シート ⇒ Key_Receipt
② Master Data:報酬額の計算に必要な情報
  ・Scholarとの共有ファイルからデータ連携するための設定シート ⇒ Key_Spreadsheet
  ・SLP獲得履歴の整理シート ⇒ SLP_Earned
  ・SLP Claim記録の整理シート ⇒ SLP_Claimed
③ Monthly Data:Scholar別の月次報酬額
  ・月毎のScholar別報酬額の計算シート ⇒ Monthly_YYYY_MM

では、各シートを確認していきましょう。
説明の都合上、② Master Data → ③ Monthly Data → ① Templateの順番で紹介します。

------------

② Master Dataに分類されるシートから紹介していきます。

まずは、Key_Spreadsheetシートです。

画像21

このシートは、Scholarが入力してくれたSLP獲得履歴の別ファイルとデータ連携するために存在します。

B列の4行目以降に、英数字が並んでいますね。
これは「シートキー」と呼ばれるもので、別のGoogleスプレッドシートのデータを呼び出す時に必要になります。
※ シートキーは、別のGoogleスプレッドシートのURLそのものでも代替可能です。

「シートキー」は、GoogleスプレッドシートのURLに記載されており、次の部分を指しています。

https://docs.google.com/spreadsheets/d/シートID/edit

具体的に見ていきましょう。
Alexと共有していたGoogleスプレッドシートのURLは、次の通りです。

https://docs.google.com/spreadsheets/d/1miSLlf3MeUqls851ztjwIB3m404WxyJvn6F90-YI6js/edit#gid=1517248460

この内、「1miSLlf3MeUqls851ztjwIB3m404WxyJvn6F90-YI6js」が「シートキー」になります。

新しいScholarと契約した際は、10行目を11行目にコピーして、IDおよびKey_Spreadsheetを書き換えることになります。

------------

次に、SLP_Earnedシートです。

画像21

このシートは、日次の獲得SLP量と現在ClaimableなSLP量を確認するために存在します。

C列以降は、各Scholarと共有したファイルから、毎日のSLP獲得記録を自動で引っ張ってくる関数を入れています。
なお、自分のアカウントでプレイした分のSLP獲得履歴は、B列に手入力しています。(自分に対する受領証作成は不要なので、任意です)

4行目は、各アカウントで現在のClaimableなSLPを示しています。
次に紹介するSLP_Claimedシートに手入力でデータを記録した上で、以下計算式を適用しています。
現在のClaimable SLP = 今まで獲得した総SLP - 今までClaimした総SLP

*****************************************************************************
(参考)
細部まで把握しておきたい方向けに、C列以降の5行目以降にどんな関数が入力されているかを記載しておきます。
以下は、C5セルに入力している関数です。

=VLOOKUP($A5,IMPORTRANGE(VLOOKUP(C$3,Key_Spreadsheet!$A:$B,2,false),"SLP_Record!$A:$B"),2,false)

単純化すると、
・ID(= C3 = 001_Alex)をキーとして、VlookupでKey_Spreadシートを参照し、データ連携元のスプレッドシートキーを見つけてきます。
・上記キーを用いて、日付が一致するSLPの獲得記録を引っ張ってきます。

*****************************************************************************

Managerとしては、毎日このシート上で、SLP獲得履歴が正常に反映されているかを確認することになります。
4行目のClaimableと記載されている行を確認しても良いですし、5行目以降の毎日のSLP獲得履歴を確認しても良いです。

Tipsですが、11月以降は辞めたAlexの獲得SLPを確認する必要がないため、C列は折りたたみ機能を用いて、普段は隠しています。
同様に12/15現在、10~11月分の獲得SLPを確認する必要がないため、5~65行目は折りたたみ機能を用いて、普段は隠しています。
また、以降に紹介するファイル全てに、同様の仕掛けを反映しています。

新しいScholarと契約した場合、I列をJ列へコピーして、3行目のIDだけ書き換えましょう。
関数は全て同じなので、他の行はそのままでOKです。

スクリーンショット 2021-12-09 11.38.18

なお、新しいScholarとの共有ファイルとデータ連携する場合、「シートをリンクする必要があります」という表示が出ます
その際は、「アクセスを許可」を選択してください。

------------

次に、SLP_Claimedシートです。

画像21

このシートは、アカウント×日付毎にClaimしたSLP量を手入力で記録するために存在します。

このシートを作成した理由は、前のシートで紹介した現在ClaimableなSLP量を正しく計算するためです。

具体例を見ていきましょう。
12/1にBobbyとChrisのアカウントで、それぞれSLPをClaimしています。

12/1にClaimしたSLP量
Bobby:3904
Chris:4689

しかし、11月中に獲得した2人のSLP量は微妙に異なります。

11/1~11/30に獲得したSLP量
Bobby:3904
Chris:4565

ChrisのSLP量だけ乖離が生まれてしまいました。
これは、Chrisが12/1に獲得したSLPも含めて、12/1にClaimしてしまったからです。

上記のケースは良くある事かと思いますが、そんな状況でも正しく月次の報酬額を計算して、正しく現在のClaimableなSLP量を表示するために、このシートが必要となります。

② Master Dataに分類されるシートは、以上になります。

------------

次に、③ Monthly Dataに分類されるMonthly_YYYY_MMシートです。
このシートは月毎でフォーマットは同じなので、2021年11月分のみを取り上げて説明します。

画像13

このシートは、月次でScholarの報酬SLP量やManagerとしての取り分を確認するために存在します。

まず、各列の説明です。

B列:自分のアカウントおよびScholar全員分の獲得SLP量を日付毎に示しています。
C列:Scholar全員分の報酬として渡すべきSLP量を日付毎に示しています。
D列:Manager分の取り分であるSLP量を日付毎に示しています。

以降は、アカウント毎に3列1セットです。
「SLP」:獲得SLP量を日付毎に示しています。
「S split」:月次の獲得SLP量に応じたScholarへの報酬割合を示しています。
「S share」:Scholarへの報酬として渡すべきSLP量を示しています。

復習ですが、僕のScholarship制度では次の報酬割合を設定しています。

報酬の割合:月毎に獲得したSLPの量に応じて変動
4,000未満の場合、Scholar:Manager = 30%:70%
4,000以上かつ6,000未満の場合、Scholar:Manager = 35%:65%
6,000以上の場合、Scholar:Manager = 40%:60%

Bobbyの獲得SLP量は4,000を下回ったために30%で設定されてますし、Chrisは上回ったために35%で設定されています。(関数なので、個別に割合をて入力する必要はありません。)

新しいScholarと契約した際は、一番右側の3列1セット(N~P列)をコピーして、もう1セットを右側(Q~S列)に作成しましょう。
そして、3行目のIDだけ書き換えればOKです。

新しい月に入るときは、次の手順で新しいシートを作成していきます。

画像14

シート名を右クリックして「コピーを作成」を選択してください。
コピー元のシート名 + 「 のコピー」というシートが作成されます。
今回で言えば、「Monthly_2021_11 のコピー」というシートが作成されました。

画像15

次にシート名を右クリックして、「名前を変更」を選択し、シート名を変更します。

シート名は、年月の数字を使って表記しますので、2022年1月のシートであれば、どちらかで表記してください。(どちらでもOKです)
・Monthly_2022_1
・Monthly_2022_01

11月分をコピーして作成したシートは、A列の日付がまだ11月のままで、Q列以降に12月から参加したScholarの列も足されていないので、その2つを修正します。
まずは日付からです。

画像16

A列5行目に2022年1月の日付を手入力し、そのセルを選択しましょう。
そうすると、選択範囲の右下に赤い丸で囲った青ボタンが出てきます。
これを下までドラッグすると、1月の日付まで簡単に入力することが出来ます。

また、11月は30日までで、1月は31日まであります。
5~33行目のいずれかを選択した上で、行を追加して、31日分の枠を作成しましょう。(手作業でごめんなさい)

次に12月に参加したメンバー分の列を追加します。

スクリーンショット 2021-12-09 10.57.20

新規メンバーがいない場合は、12月分の列(写真の選択範囲)をそのままコピーすればOKです。
※ 本来は、2ヶ月前のシートではなく、前月のシートをコピーして、当月のシートを作成するため、新規メンバーが増えていなければ、この作業は発生しません

また現時点では、2022年1月のシート上で「N/A」が並んでると思います。
これは、次の3シート上で2022年1月の日付が存在しないことに起因します。
・SLP_Earned
・SLP_Claimed
・SLP_Record(スカラーとの共有ファイル)

時間ある際に、上記シートで未来の日付を入力しておけば、現時点で「N/A」のセルにも値が入るようになります。

今回のシートで用いた関数はシンプルなので、説明は省略しますが、気になった方はご質問ください!

------------

いよいよ、① Templateに分類されるシートの説明です。

まずは、Key_Receiptシートからです。

画像18

このシートは、受領証の作成に必要な情報を入力するために存在します。

入力項目は、青字になっている#とPaydayの2つだけです。
003_Chrisの11月分の受領証が必要であれば、#を003に変えるだけですね。

黒字の部分は、#からVlookupでScholarとの共有ファイルから引っ張ってきてくれます。

------------

最後に、Receiptシートです。

画像9

受領証のフォーマット自体は、アルちゃんのYoutube(動画はこちら)から引用させていただきました。

このシートは、受領証を出力するために存在します。

既に完成された受領証が出力されるため、5行目のFrom欄(Managerの名前)を除いて、どのセルも編集する必要はありません
今表示している項目以外が必要な場合は、個別に設定してださい。

ポイントとしては、報酬の計算期間がScholarに依らず固定されている点になります。
そのため、Key_Receiptで指定したPaydayの日付をベースとして、前月の1日から月末までを、報酬の計算期間として算出するようになっています。

*****************************************************************************
(参考)
細部まで把握しておきたい方向けに、F12にどんな関数が入力されているかを記載しておきます。
以下は、F12セルに入力している関数です。

=INDEX(INDIRECT("Monthly_"&YEAR($H$10)&"_"&MONTH($H$10)&"!$5:$36"),DAY($H$10)+1,Match(Key_Receipt!$B$4,INDIRECT("Monthly_"&YEAR($H$10)&"_"&MONTH($H$10)&"!$3:$3"),0))

単純化すると、
・支払日の前月のMonthly_YYYY_MMシートを見つけてきます。
・支払日の前月の日数(30日 or 31日)に応じて、上記シートでアカウント別に獲得SLPのTotal行を見つけてきます。
・上記シートの3行目で、ID(=002_Bobby)がある列を見つけてきます。
・上記シートから、ID(=002_Bobby)とTotal行が交わるセルの値を参照します。

*****************************************************************************

最後に、受領証をpdfファイルとして出力する方法を説明します。

スクリーンショット 2021-12-09 11.22.18

「ファイル」タブから、PDF(.pdf)を選択すれば、ご自身のローカル環境にpdfファイルとして出力することが可能です。


以上が、各シートの詳細説明でした。


最後に、運用的な観点でちょっと復習しましょう。

新規Scholarを雇った場合は、事前準備として、次のファイル/シートを用いてそれぞれ対応します。

・Scholarとの共有ファイル:ファイル作成 + 共有
・Key_Spreadsheetシート:新規Scholarの行追加
・SLP_Earnedシート:新規Scholarの列追加
・SLP_Claimedシート:新規Scholarの列追加
・Monthly_YYYY_MMシート:新規Scholarの列追加(前月までのシートに追加する必要はなく、当月以降のシートのみでOKです)

月が変わった場合は、次のシートを用いて対応します。

・Monthly_YYYY_MMシート:前月分のシートをコピー → シート名変更 → 日付の行調整 + (新規Scholarが居れば)列追加


9. 最後に

お時間を割いていただき、ありがとうございます。

以上が、Scholarshipにおける受領証周りの作業を少しでも楽しようと試行錯誤した結果になります。

質問への回答は任意対応とさせていただきますが、不明点などあればTwitterまたはdiscordにてご連絡ください。

※ 今回紹介した内容をカスタマイズして、ご自身のScholarshipに自動化の仕組みを適用したい場合の相談については、現在受け付けておりません。
需要の度合いによって、今後の対応方針を決めさせていただきます。

よいAxieライフを!!!!


(再掲)役に立ったよって方がいらっしゃいましたら、以下のRonin addressに募金いただけると大変報われます!
ronin:720a16a9ec5209c6365f106a0b89370f05a4269d


この記事が気に入ったらサポートをしてみませんか?