HOW TO PREDICT THE FUTURE WITH DATE VALUE
#region end with a loss.
Name: circleshot, 11, Revolver Delta: %-2 In Between: End 02/16/2021 20:04:37 85 Days Plays: 11
Name: snipershot, 10, SR Delta: %-4.00 In Between: End 01/29/2021 06:48:07 66 Days Plays: 16
Name: strafetrack, 12, Pistol Delta: %-1 In Between: End 03/02/2021 21:35:31 274 Days Plays: 238
Name: microshot, 11, Pistol Delta: %-1 In Between: End 02/27/2021 20:37:15 238 Days Plays: 205
Name: decisionshot, 11, Pistol Delta: %-2.00 In Between: End 07/04/2020 12:47:52 0 Days Plays: 10
Name: motiontrack, 10, Pistol Delta: %-8 In Between: End 03/08/2021 07:34:28 197 Days Plays: 348
Name: detection, 10, Pistol Delta: %-2.00 In Between: End 03/02/2021 21:19:18 256 Days Plays: 30
Name: motionshot, 4, Pistol Delta: %-3 In Between: End 06/07/2020 11:44:27 0 Days Plays: 16
Name: capacity, 10, Pistol Delta: %-2 In Between: End 02/14/2021 04:48:42 174 Days Plays: 13
#region gain only
Name: reflexshot, 10, Pistol Delta: +%41 In Between: End 03/08/2021 06:28:34 276 Days Plays: 170
Name: reflexshot, 11, Pistol Delta: +%25 In Between: End 02/25/2021 02:59:59 207 Days Plays: 96
Name: rocketshot, 0, Pistol Delta: +%7 In Between: End 06/08/2020 09:42:08 0 Days Plays: 14
Name: anglehold, 10, Pistol Delta: +%10 In Between: End 01/25/2021 11:44:43 13 Days Plays: 26
Name: sixshot, 10, Pistol Delta: +%7 In Between: End 03/08/2021 07:24:40 106 Days Plays: 87
Name: snipershot, 11, SR Delta: +%9 In Between: End 03/07/2021 11:50:28 49 Days Plays: 56
Name: spheretrack, 10, Pistol Delta: +%9 In Between: End 03/06/2021 09:41:11 62 Days Plays: 428
Name: spidershot, 11, Pistol Delta: +%4 In Between: End 03/08/2021 02:23:45 195 Days Plays: 1173
Name: strafebot, 10, Revolver Delta: +%129 In Between: End 02/23/2021 01:01:43 86 Days Plays: 115
Name: strafeshot, 11, Revolver Delta: +%22 In Between: End 02/28/2021 00:46:55 183 Days Plays: 10
Name: strafetrack, 10, Pistol Delta: +%1 In Between: End 03/02/2021 21:20:32 241 Days Plays: 135
Name: timingshot, 10, Pistol Delta: +%62 In Between: End 02/18/2021 04:43:53 36 Days Plays: 68
Name: wallpeekbasic, 10, Pistol Delta: +%16 In Between: End 02/18/2021 04:53:08 79 Days Plays: 53
Name: rocketshot, 10, Revolver Delta: +%35.00 In Between: End 01/15/2021 03:48:37 16 Days Plays: 54
Name: pentakill, 10, Pistol Delta: +%19 In Between: End 03/02/2021 21:42:04 286 Days Plays: 33
Name: motionshot, 11, Pistol Delta: +%8 In Between: End 02/28/2021 00:45:08 182 Days Plays: 48
Name: multishot, 10, Pistol Delta: +%4 In Between: End 01/31/2021 12:32:47 153 Days Plays: 36
Name: angleholdhorde, 10, Pistol Delta: +%12 In Between: End 01/25/2021 13:03:26 53 Days Plays: 85
Name: audiodetection, 10, Pistol Delta: +%17.00 In Between: End 02/28/2021 03:32:00 253 Days Plays: 19
Name: audiospatial, 11, Pistol Delta: +%505 In Between: End 01/02/2021 12:11:52 131 Days Plays: 24
Name: blinkshot, 10, Revolver Delta: +%48 In Between: End 12/29/2020 12:07:23 2 Days Plays: 14
Name: circleshot, 10, Revolver Delta: +%14 In Between: End 01/18/2021 00:16:20 39 Days Plays: 27
Name: decisionshot, 12, Pistol Delta: +%8 In Between: End 08/28/2020 10:45:53 82 Days Plays: 12
Name: freeplaytc, 0, Pistol Delta: +%6 In Between: End 03/07/2021 19:26:34 51 Days Plays: 13
Name: gridshot, 10, Pistol Delta: +%6 In Between: End 03/08/2021 07:38:35 273 Days Plays: 593
Name: ninjashot, 10, Revolver Delta: +%32 In Between: End 02/18/2021 04:38:55 73 Days Plays: 32
Name: headshot, 10, Pistol Delta: +%6 In Between: End 02/27/2021 22:37:53 34 Days Plays: 163
Name: headshot, 10, Revolver Delta: +%3 In Between: End 12/09/2020 11:55:09 0 Days Plays: 71
Name: gridshot, 12, Pistol Delta: +%83 In Between: End 01/18/2021 00:40:36 223 Days Plays: 16
Name: wallpeekintermediate, 10, Pistol Delta: +%8 In Between: End 03/08/2021 03:16:03 54 Days Plays: 249
Name: hordeshot, 10, Pistol Delta: +%12 In Between: End 01/25/2021 05:05:03 53 Days Plays: 84
Name: multishot, 0, Pistol Delta: +%4 In Between: End 06/08/2020 09:59:50 0 Days Plays: 10
Name: multilinetrace, 10, Pistol Delta: +%14.00 In Between: End 01/11/2021 23:55:33 93 Days Plays: 28
Name: microflex, 10, Pistol Delta: +%24 In Between: End 03/08/2021 03:18:16 272 Days Plays: 182
Name: motionshot, 12, Pistol Delta: +%5 In Between: End 02/24/2021 03:20:46 260 Days Plays: 21
Name: microflex, 11, Pistol Delta: +%6 In Between: End 03/07/2021 06:06:07 181 Days Plays: 151
Name: headshotreflex, 10, Pistol Delta: +%6 In Between: End 02/05/2021 05:14:22 11 Days Plays: 68
Name: motionshot, 10, Pistol Delta: +%9 In Between: End 02/23/2021 01:08:01 256 Days Plays: 593
#region initial check gains, however end with a loss.
Name: switchtrack, 10, Pistol Delta Start: +%12 Delta End: -%-2 In Between: End 03/07/2021 12:01:03 51 Days Plays: 526
Name: audiospatial, 12, Pistol Delta Start: +%105 Delta End: -%-3 In Between: End 02/18/2021 04:14:35 195 Days Plays: 34
Name: wallpeekexpert, 10, Pistol Delta Start: +%21 Delta End: -%-2 In Between: End 01/19/2021 13:55:27 44 Days Plays: 38
Name: strafetrack, 11, Pistol Delta Start: +%3 Delta End: -%-5 In Between: End 02/28/2021 00:38:11 181 Days Plays: 23
Name: decisionshot, 10, Pistol Delta Start: +%3 Delta End: -%-2 In Between: End 03/02/2021 21:24:03 241 Days Plays: 21
Name: microshot, 12, Pistol Delta Start: +%0.00 Delta End: -%-2.00 In Between: End 06/07/2020 11:55:27 18 Days Plays: 14
Name: strafeshot, 10, Revolver Delta Start: +%21 Delta End: -%-5 In Between: End 02/27/2021 04:10:00 79 Days Plays: 125
Name: microshot, 10, Pistol Delta Start: +%1.00 Delta End: -%-2.00 In Between: End 01/21/2021 18:50:08 216 Days Plays: 127
Name: gridshot, 11, Pistol Delta Start: +%17 Delta End: -%0.00 In Between: End 01/29/2021 06:45:12 31 Days Plays: 37
Name: spidershot, 12, Pistol Delta Start: +%23 Delta End: -%-10 In Between: End 02/24/2021 02:13:59 174 Days Plays: 31
Name: spidershot, 10, Pistol Delta Start: +%3 Delta End: -%-2 In Between: End 03/07/2021 05:59:44 271 Days Plays: 374
Name: linetrace, 10, Pistol Delta Start: +%6 Delta End: -%-3 In Between: End 03/05/2021 07:43:09 243 Days Plays: 75
Name: strafetrack, 0, Pistol Delta Start: +%1 Delta End: -%-3 In Between: End 06/08/2020 00:15:50 0 Days Plays: 28
Name: headshot, 11, Pistol Delta Start: +%8 Delta End: -%-6 In Between: End 02/27/2021 04:14:06 43 Days Plays: 33
$data = @()
foreach ($i in (Get-ChildItem )) {
if ($i.FullName -like "*.json") {
$data += Get-Content $i.FullName | ConvertFrom-Json
}
}
$data.count
$data_unique = ($data | Sort-Object -Unique create_date)
$data_unique.count
$all = @()
$ErrorActionPreference = "inquire"
foreach ($i in $data_unique | Group-Object taskname, mode, weapontype | Sort-Object name) {
if ($i.group.count -ge 3) {
$half = [math]::floor(($i.group.count)/3)
$start = $i.group[0..$half]
$mid = $i.group[($half)..($half*2)]
$end = $i.group[($half*2)..($half*3)]
$start_date = [datetime]$i.group[$half].create_date
$mid_date = [datetime]$i.group[$half*2].create_date
$end_date = [datetime]$i.group[($half*3)-1].create_date
} elseif ($half.count -ge 2) {
$half = 1
$start = $i.group[0..0]
$mid = $i.group[(1)..(1)]
$end = $i.group[(2)..(2)]
$start_date = [datetime]$i.group[0].create_date
$mid_date = [datetime]$i.group[1].create_date
$end_date = [datetime]$i.group[2].create_date
} else {
$half = 0
$start = $i.group[0..0]
$mid = $i.group[0..($half)]
$end = $i.group[0..($half)]
$start_date = [datetime]$i.group[$half].create_date
$mid_date = [datetime]$i.group[$half].create_date
$end_date = [datetime]$i.group[$half].create_date
}
$start_avg = 0
$mid_avg = 0
$end_avg = 0
$high = $($i.group | Sort-Object score | Select-Object -Last 1).score
if ([int][array]::IndexOf($i.group.score,$high) -gt $half*2) {
$highscoretime = "end"
} elseif ([int]([array]::IndexOf($i.group.score,$high)) -gt ($half)) {
$highscoretime = "mid"
} else {
$highscoretime = "start"
}
foreach ($st in $start) {$start_avg += [int]$st.score}
foreach ($mi in $mid) {$mid_avg += [int]$mi.score}
foreach ($en in $end) {$end_avg += [int]$en.score}
foreach ($i2 in $i.group) {$avg +=$i2.score}
$obj= [pscustomobject]@{
name = $i.Name
weapontype = $i.group.weapontype[0]
highscore = $high
highscore_time = $highscoretime
avg_start = $([math]::Round($start_avg/$start.count))
avg_start_date = $start_date
avg_mid = $([math]::Round($mid_avg/$mid.count))
avg_mid_date = $mid_date
avg_end = $([math]::Round($end_avg/$end.count))
avg_end_date = $end_date
plays = $($i.group.score.count)
array = $i.group
}
$all += $obj
}
$all | Add-Member -NotePropertyName "progress" -NotePropertyValue $null -Force
foreach ($i in $all) {
if ($i.plays -ge 10) {
if (($i.avg_start -gt $i.avg_mid) -and($i.avg_start -gt $i.avg_end)) {
$i.progress = "progress decreased over time"
}
if (($i.avg_mid -gt $i.avg_start) -and($i.avg_mid -gt $i.avg_end)) {
$i.progress = "progress peaked in mid"
}
if (($i.avg_end -gt $i.avg_start) -and($i.avg_end -gt $i.avg_mid)) {
$i.progress = "progress increased overtime"
}
} else {
$i.progress = "not enough data"
}
}
$all | Group-Object progress | Export-Csv "$((Get-Date).ToString('yyyyMMdd'))_aim_lab.csv"
$all | Add-Member -NotePropertyName "increased %" -NotePropertyValue $null -Force
$all | Add-Member -NotePropertyName "decreased %" -NotePropertyValue $null -Force
foreach ($i in $all |Sort-Object progress) {
if ($i.progress -eq "progress increased overtime") {
$i.'increased %' = [math]::round(($i.avg_end/$i.avg_start)-1,2)*100
write-host -NoNewline "Name: "
write-host -NoNewline "$($i.name) " -ForegroundColor green
write-host -NoNewline "Delta: "
write-host -NoNewline "+%$($i.'increased %') " -ForegroundColor green
write-host -NoNewline "In Between: "
write-host -NoNewline "End $($i.avg_end_date) $(($i.avg_end_date-$i.avg_start_date).Days) Days " -ForegroundColor green
write-host -NoNewline "Plays: "
write-host "$($i.Plays) " -ForegroundColor green
} elseif ($i.progress -eq "progress peaked in mid") {
$i.'increased %' = [math]::round(($i.avg_mid/$i.avg_start)-1,2)*100
$i.'decreased %' = [math]::round(($i.avg_end/$i.avg_mid)-1,2)*100
write-host -NoNewline "Name: "
write-host -NoNewline "$($i.name) " -ForegroundColor yellow
write-host -NoNewline "Delta Start: "
write-host -NoNewline "+%$($i.'increased %') " -ForegroundColor yellow
write-host -NoNewline "Delta End: "
write-host -NoNewline "-%$($i.'decreased %') " -ForegroundColor yellow
write-host -NoNewline "In Between: "
write-host -NoNewline "End $($i.avg_end_date) $(($i.avg_end_date-$i.avg_start_date).Days) Days " -ForegroundColor yellow
write-host -NoNewline "Plays: "
write-host "$($i.plays) " -ForegroundColor yellow
} elseif ($i.progress -eq "progress decreased over time") {
$i.'increased %' = [math]::round(($i.avg_end/$i.avg_start)-1,2)*100
write-host -NoNewline "Name: "
write-host -NoNewline "$($i.name) " -ForegroundColor red
write-host -NoNewline "Delta: "
write-host -NoNewline "%$($i.'increased %') " -ForegroundColor red
write-host -NoNewline "In Between: "
write-host -NoNewline "End $($i.avg_end_date) $(($i.avg_end_date-$i.avg_start_date).Days) Days " -ForegroundColor red
write-host -NoNewline "Plays: "
write-host "$($i.plays) " -ForegroundColor red
}
}