Introduction
Sixteen million steps is about thirteen thousand kilometres. Easily enough foot power to get you all the way around the moon, if you can hitch a lift up there. It's the distance from Lahore to Rio, from Lagos to Tokyo, or from LA to Delhi, if you're so inclined.
It's also the total number of steps rewarded by Actifit over the first month since launch. Actifit is the new fitness tracker application that integrates with the Steem blockchain. Capture the step count of your fitness activity. Post the result to the blockchain. Get rewarded with with upvotes and ACTIFIT tokens. A simple "proof of activity" process that rewards you for getting fit!
Over 1,300 rewards for activity have already been handed out, with 200 early adopters directly benefitting. Almost 50k Steem Power has also been raised through delegations to support the project.
In the following analysis I look at all the first month numbers in depth.
Task Request and Scope
This analysis is in response to the following analysis task request:
@mcfarhat/actifit-analysis-task-create-1-month-analysis-of-actifit-posts-and-activities
Details of the requested scope can be found in the above post. Broadly it is a collection of analyses of Actifit data extracted from the Steem blockchain, relating to the first month since launch, the period 27 June to 26 July inclusive. Comparisons are made per day and per week over this period (it being the only data available to date).
Repository
The repository for this open source project can be found here:
https://github.com/mcfarhat/actifit
Results and Conclusions
1. Actifit post submissions
Each Actifit activity posting creates a new top level post within the user's account on the Steem blockchain. I've used three different approaches to try and capture these posts and separate them from the overall mass of posting:
- Posts with a StepCount in the json metadata.
- Posts listed with the Community "Actifit" in the json metadata.
- Posts listed with the App "actifit/x.x" in the json metadata.
As can be seen, post numbers have swiftly and steadily increased over the first month since launch, from a starting point of 10 posts per day to the current level of over 100.
For the three different approaches, using the .app information is the least accurate. Adding to a post from a different Steem platform (steemit, busy, esteem etc) overwrites the app information in the json metadata. Editing Actifit posts seems to be fairly popular as users seek to add more information about their fitness activity to the basic data of the automated Actifit posting.
The StepCount and Community approaches result in similar numbers of posts, with the StepCount numbers slightly higher. A reconciliation in the next section shows that the StepCount approach is sufficiently accurate for the purposes of this analysis.
2. Actifit posts with proof of activity (upvoted posts)
Not all Actifit activity posts receive an upvote. There is a minimum number of 5,000 steps required to receive either a Steem upvote or ACTIFIT token rewards. Duplicate posts from the same day are also excluded from rewards.
The following chart compares the number of upvoted Actifit posts to all Actifit posts. Both sets of posts have been selected only if StepCount is greater than zero to exclude general marketing and blog posts upvoted from the Actifit account which would muddy the comparison.
According to the data for the above chart 86% of Actifit posts received rewards (1,311 out of 1,520) due to completing more than 5,000 steps. Good effort people!
There are also now just under 100 upvoted activity posts per day. Given only one post is validated per user per day this also means almost 100 rewarded Actifit users per day.
The total number of upvotes made from the Actifit account over the first month was 1,323. The difference of 12 to the 1,311 above can be reconciled as follows:
- 6 marketing posts (actifit 4, tanbay 1, taskmaster4450 1) which received upvotes but have no StepCount.
- 6 posts edited through esteem or esteem-surfer for which the StepCount json metadata is overwritten and lost.
The same chart on a weekly basis is included below. There have only been four complete weeks since launch on 27 June, so data for the last three days (25-27 July) has been excluded.
The chart shows a steady increase of over 100 validated activities week on week.
3. Upvoted posts with separation by activity range
Actifit has six different activity ranges with increasing reward levels, starting with 20 tokens for 5,000 steps and moving up to 100 tokens for 10,000+ steps.
The upvoted posts from section 2 can be broken down between these activity ranges, as follows:
The vast majority of users activity reports are at the maximum 10,000+ steps level (76%). The next most popular is the minimum rewarded 5,000+ steps level (10%).
The weekly results confirm this dominance of the 10,000+ reward level but also provide a better overview of the breakdown between the other reward levels:
The majority of users are motivated to aim for the maximum reward whilst a significant number push themselves to reach the minimum reward level for posting.
4. Actifit tokens rewards by reward level
Applying the activity reward amounts per level to the daily breakdown of posts by reward level suggests that over 110,000 ACTIFIT tokens have already been collected by early adopters through posting activity reports.
The ACTIFIT token activity rewards are larger for the higher reward levels, meaning that the 10,000+ steps level obtains an even higher percentage of the activity reward distribution over the first month than their percentage based on number of activity reports (90% of token issues through activity reports were at the 10,000+ level compared to 76% of activity reports).
The daily chart illustrates this dominance:
Lots of rewards already being earned and clearly it pays to go to the max!
5. Post payout rewards for upvoted posts
In addition to the ACTIFIT token rewards discussed above, Actifit reports also benefit from upvotes from the actifit account and from the Steem blockchain in general.
Overall post rewards can be separated between Author rewards, Curator rewards, and Beneficiary rewards (5% for delegators and 5% for development team) with pending payouts an aggregate of all three (and yet to be separated). The daily and weekly post payout rewards for upvoted posts are presented below:
The overall post payout amounts vary with the Steem price as well as the level of upvotes, making the daily growth path more volatile than under other measures. However the weekly growth (which benefits from greater averaging of the Steem price) again shows a clear pattern of growth week on week.
6. Delegation to actifit account
ACTIFIT tokens can be earned in a number of ways. In addition to earning through the "Proof of Activity" reports described above, tokens can also be earned through delegation to the actifit account, with one token earned per SP delegated per day (up to the level of 100K SP of delegation across all users after which returns are lower).
There are already over 100 delegators with close to 50,000 Steem Power raised in the first month to support the project!
The rate of delegation suggests that the 100K SP limit will be reached quickly, potentially within the next week or two if the trend of delegation continues.
7. Earning tokens through upvotes
The third main way to earn Actifit tokens (after activity reports and delegation described above) is through upvoting Actifit posts. This simple system gives 1 Actifit token for each upvote. There is a curation trail already set up which makes the system easy to join. More support for your workout!
The number of upvotes shows a general increase over time, in line with the overall trend of growth seen for the Actifit community. Average vote power floats around the 50% level.
8. Actifit token distribution to date
Whilst there are (or have been) other smaller methods to earn Actifit tokens (reblogging, moderator rewards) the three distribution methods studied so far in this analysis (activity reports, delegation, and upvotes) should form the vast bulk of the distribution.
Based on the data obtained over the study period, it is possible to estimate the overall token distribution to date.
Note that this result is very much an estimate based on my understanding of the system. The official distribution of ACTI to date is quoted on the website as 379,079, around 5% different to the 361,537 cumulative total I have derived. However it should be sufficient to give an overall picture of the token distribution.
Note also that the delegation distribution is carried out on a weekly basis rather than daily (even though the distribution is calculated on a daily basis). I have used a simplified approach of simply cutting off the delegation distribution figures as at the last weekly delegation distribution date rather than showing weekly figures.
Of the three main methods it is clear that the delegation reward has provided the bulk of the token distribution to date, followed by the activity reports. I would expect this pattern to change as the community grows, with activity report numbers increasing, and delegation rewards slowing as the 100K SP level is reached.
The cumulative ACTI token distribution showing the broad path towards 400,000 tokens. Note that there are also delegation token rewards which have been earned in the last few days since the last weekly distribution, but not yet distributed or included in the totals.
9. Top Actifit steppers!
Finally, a quick view of the top twenty accounts by activity reports from the first month. Kilometres covered added just for fun!
Congratulations to those in the top 20 and to all those that took part so far, gaining rewards and getting fit!
Tools and Scripts
Data was extracted from SteemSQL, an SQL resource run by @arcange.
I used the following scripts to obtain the data:
Full month posts with actifit upvotes
SELECT
Convert(date, Comments.created) AS [Date],
Comments.author AS [Author],
CONVERT(REAL,Comments.total_payout_value) AS [AuthorPayout],
CONVERT(REAL,Comments.curator_payout_value) AS [CuratorPayout],
CONVERT(REAL,Comments.pending_payout_value) AS [PendingPayout],
IIF(isjson(json_metadata) = 1,json_value(json_metadata, '$.community[0]'),NULL) AS [Community],
CONVERT(REAL,IIF(isjson(json_metadata) = 1,json_value(json_metadata, '$.step_count[0]'),NULL)) AS [StepCount],
IIF(isjson(json_metadata) = 1,json_value(json_metadata, '$.app'),NULL) AS [App],
TxVotes.voter as [ActifitVoter],
TxVotes.weight as [ActifitWeight]
FROM
Comments (NOLOCK)
Inner join TxVotes (NOLOCK)
on TxVotes.permlink = Comments.permlink and
TxVotes.author = Comments.author
WHERE
(Convert(date, Comments.created) >= '2018-06-27' AND Convert(date, Comments.created) <= '2018-07-26') AND
depth = 0 and
IIF(isjson(json_metadata) = 1,json_value(json_metadata, '$.step_count[0]'),NULL) > 0 AND
TxVotes.voter = 'actifit'
Delegation data
SELECT
TxDelegateVestingShares.*,
Convert(date, TxDelegateVestingShares.timestamp) as [Date],
Convert(time, TxDelegateVestingShares.timestamp) as [Time]
FROM
TxDelegateVestingShares (NOLOCK)
WHERE
TxDelegateVestingShares.delegatee = 'actifit'
Relevant Links and Resources
Useful background reading can be found here:
@actifit/announcing-actifit-innovative-smt-for-rewarding-fitness-activity
@taskmaster4450/actifit-getting-paid-in-multiple-ways
Thanks for reading!