UPVOTE STATEGY

in #steemit6 years ago

power

We all know that each 100% vote costs your 2% voting power, and every 24 hours, your voting power restores 20%. This means that you can vote 10 times at 100% one day and the voting power will remain the same the next day.

The question comes: Given a 30 days period, and approximately 60% voting power at the day 1, is there a much bigger gain to restore your voting power to 100% (wait 2 days) ?

I always thought there is not much difference in terms of total curation earnings until today.. I wrote a VBScript that reveals the truth.

The first strategy, just vote 10 times 100% per day every day in the 30 days’ period. Assume 10K SP 100% gives 1 SBD. And suppose the 10 votes are done in a row (the VP restored during upvotes can be ignored)

1
2
3
4
5
6
7
8
9
10
11
12
Function Strategy1(ByVal sp, ByVal vp, ByVal days)
income = 0
While days > 0
For i = 1 To 10
income = income + sp * vp / 10000
vp = vp - 0.02
Next
vp = vp + 0.2
days = days - 1
Wend
Strategy1 = income
End Function
The second strategy, let’s wait a few days before the VP is restored, adding a parameter rest in the unit of days.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Function Strategy2(ByVal sp, ByVal vp, ByVal days, ByVal rest)
days = days - rest
vp = vp + 0.2 * rest ' 1 day restores 20%
If vp > 1 Then
vp = 1 ' voting power can only be maximum 100%
End If
income = 0

While days > 0
    For i = 1 To 10
        income = income + sp * vp / 10000
        vp = vp - 0.02
    Next    
    vp = vp + 0.2
    days = days - 1
Wend 
Strategy2 = income

End Function
In my case, I have 10K SP so let’s assume these values:

1
2
3
4
steempower = 10000
votingpower = 0.6
daysofcuration = 30
restoredays = 2
So the simulation gives:

1
2
WScript.Echo ("Strategy 1 Max Income = " & Strategy1(steempower, votingpower, daysofcuration))
WScript.Echo ("Strategy 2 Max Income = " & Strategy2(steempower, votingpower, daysofcuration, restoredays))
1
2
Strategy 1 Max Income = 152.999999999999
Strategy 2 Max Income = 254.799999999999
This is a BIGGGGGGGGG difference! The lower voting power, longer periods, the bigger difference! So…. you might consider letting your upvoting robot take a few days’ rest…

Correction @tumutanzi told me my understanding was not exactly right. The 2% loss is to the current voting power, so instead of vp = vp – 0.02 the correct version is vp = vp * 0.98.

So the correct version to emulate the SteemIt curator is (you can vote 11 times per day)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Function Strategy1(ByVal sp, ByVal vp, ByVal days)
income = 0
While days > 0
For i = 1 To 11
income = income + sp * vp / 10000
vp = vp * 0.98
Next
vp = vp + 0.2
If (vp > 1) Then
vp = 1
End If
days = days - 1
Wend
Strategy1 = income
End Function
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Function Strategy2(ByVal sp, ByVal vp, ByVal days, ByVal rest)
days = days - rest
vp = vp + 0.2 * rest
If vp > 1 Then
vp = 1
End If
income = 0

While days > 0
    For i = 1 To 11
        income = income + sp * vp / 10000
        vp = vp * 0.98
    Next    
    vp = vp + 0.2
    If (vp > 1) Then
        vp = 1
    End If      
    days = days - 1
Wend 
Strategy2 = income

End Function
And this gives totally different results,

1
2
3
4
5
6
7
steempower = 10000
votingpower = 0.6
daysofcuration = 30
restoredays = 2

WScript.Echo ("Strategy 1 Max Income = " & Strategy1(steempower, votingpower, daysofcuration))
WScript.Echo ("Strategy 2 Max Income = " & Strategy2(steempower, votingpower, daysofcuration, restoredays))
It indicates there is NOT much difference at all!

1
2
Strategy 1 Max Income = 279.67590316366
Strategy 2 Max Income = 278.9761089502maxresdefault.jpg

Sort:  

Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://helloacm.com/best-upvoting-strategy-steemit-voting-power-matters/