Planned vs Actual Workout Chart?

424 views
Skip to first unread message

JamesA

unread,
Aug 6, 2018, 3:45:39 PM8/6/18
to golden-cheetah-users
I'm wondering if GC has or has contemplated a chart  that would show actual performance of a ride (typically power data) against a planned workout (I'm on ver 3.5-DEV1806).  This would be identical to the live results shown for a trainer ride in the TRAIN window, but would be a chart that gets saved with the activity so for a trainer ride or an outdoor workout you could see how you did against the planned target wattage.



I'm particularly surprised that this data is not saved for trainer rides completed via the GC Train functionality.  

I can envision how I could represent the target wattage on a Performance chart for a cycling activity perhaps by creating custom user data or co opting an existing variable available for the Performance chart but think this would be a view that many users would like.

I could also potentially see how R or Python could be used, but am uncertain where the ERG files get saved within GC (or perhaps they dont).

Please note that I searched through the posts here to see if I could find an existing or discussed solution and did not find one but realized that I may have missed something or am not utilizing an existing GC feature correctly.

Can anyone steer me in the right direction, or second my suggesting for adding a performance against a planned workout chart? - J

JamesA

unread,
Aug 14, 2018, 2:49:41 PM8/14/18
to golden-cheetah-users
?? I kinda thought this would be of interest... usually no reply's means its an old already discussed topic or its too far fetched for consideration... I didnt think this idea was either one...??

Mark Liversedge

unread,
Aug 14, 2018, 4:42:56 PM8/14/18
to golden-cheetah-users
On Tuesday, 14 August 2018 19:49:41 UTC+1, JamesA wrote:
?? I kinda thought this would be of interest... usually no reply's means its an old already discussed topic or its too far fetched for consideration... I didnt think this idea was either one...??

The target slope/wattage is recorded but not stored in the ride file. Its a subtle distinction, there are actually two files, one in the recordings folder and one in the activities folder.

I'm open to adding it to the JSON format as XDATA, then it could be plotted / compared / turned into a metric quite easily.

Probably quite easy to do, if I get a chance over the next couple of weeks might have a go.

Mark

JamesA

unread,
Aug 15, 2018, 9:17:00 AM8/15/18
to golden-cheetah-users
Mark that would be great!  Thanks!  Maybe it would be easier and more flexible to leave workouts as a separate file and there could be a new option on the Activity Ride and Performance screens (either under the More dropdown or a check box on the drop down floating menu) that would allow the user to select the target workout from the Train Workouts list?

This way, a user who's done an outside training ride Vs an indoor ride via the Train functionality ( or a target power ride on Zwift etc) could compare their results to the target goals.

I could also envision data on the summary screen (if a target workout was selected) that showed actual time, distance, target HR, ave speed, Bike Stress, Bike Intensity,  calories, and elevation against the target goals of the workout.

Also note that on the image above, the target workout has been aligned with the actual ride via a left -right slider to position it.  Users could potentially do this manually in GC in the Edit screen.

If it would be helpful, I could mock up a JSON file with the target data. - James




JamesA

unread,
Aug 23, 2018, 4:06:25 PM8/23/18
to golden-cheetah-users
This is what a Mock up could look like - using real GC ride data and a Performance Chart with Target Wattage substituted in the Torque column (the purple line)... Actual wattage is in yellow (and note the scale of the Torque data might be a little bit off) 

Target vs Actual sample.png


Mark Liversedge

unread,
Aug 24, 2018, 2:42:55 AM8/24/18
to golden-cheetah-users
I went to add this and found its already there (seems we had the same idea)

To plot the target wattage from a train view workout, just add user data:

Screenshot from 2018-08-24 07-41-22.png



Mark

JamesA

unread,
Aug 24, 2018, 10:07:47 AM8/24/18
to golden-cheetah-users
Mark - great this sounds promising.  I tried adding that User data field to a Performance chart as well as the Ride view and looked at a ride I had recorded via the TRAIN functionality (The Train erg file data is still shown on the Train window).  On the Performance chart, I see the legend is added for "Target Power" but no data appears on screen.  (I tried the usual refresh techniques and closed and reopened GC) I should also note that I have R enabled but not Python.

Separately is there a way to add the User Field to the EDIT view (to confirm or view the Target Power data)? .

Mark Liversedge

unread,
Aug 24, 2018, 10:31:37 AM8/24/18
to golden-cheetah-users
Are you using 3.4 or 3.5 ?

JamesA

unread,
Aug 24, 2018, 10:32:50 AM8/24/18
to golden-cheetah-users
I'm on ver 3.5-DEV1806

Mark Liversedge

unread,
Aug 24, 2018, 10:39:54 AM8/24/18
to golden-cheetah-users
I recorded a training workout on the train tab and saved in 3.5 and xdata is there.
Not sure why you don't (unless the workout was performed using some other software?)

Mark

JamesA

unread,
Aug 24, 2018, 11:15:01 AM8/24/18
to golden-cheetah-users
Humm... not sure what version was used when the data was recorded... because for indoor rides I was looking back to February etc.  which was before this current release.  I see a CSV file a 'records' folder (in the windows AppData\Local\GoldenCheetah folder (in on Windows 10)  but I dont see a Target column in the worksheet... would that imply that it was recorded with 3.4?

If thats the correct folder location and file I can record something new and probably edit old files accordingly.

For current outdoor rides (which are recorded on different apps - I've got an Android phone so mostly use IPBike which can output a FIT or TCX file) I was hoping I could still load the target power erg file into GC then use that to 'reference' the Target Power the outdoor ride was recorded against.  (The IPBike app has the ability to read erg files etc. then prompts the user to hit the target wattage).  But if I can work around this by editing or creating a 'record' csv file it should work.

Thanks again for looking into this!

- James

Ale Martinez

unread,
Aug 24, 2018, 12:38:35 PM8/24/18
to golden-cheetah-users
El viernes, 24 de agosto de 2018, 12:15:01 (UTC-3), JamesA escribió:
Humm... not sure what version was used when the data was recorded... because for indoor rides I was looking back to February etc.  which was before this current release.  I see a CSV file a 'records' folder (in the windows AppData\Local\GoldenCheetah folder (in on Windows 10)  but I dont see a Target column in the worksheet... would that imply that it was recorded with 3.4?

Target was added as XData in v3.5, for workouts recorded using any dev build you should find a TRAIN tab in Editor with a TARGET column, there is no Target column in STANDARD tab.
 
If thats the correct folder location and file I can record something new and probably edit old files accordingly.

For current outdoor rides (which are recorded on different apps - I've got an Android phone so mostly use IPBike which can output a FIT or TCX file) I was hoping I could still load the target power erg file into GC then use that to 'reference' the Target Power the outdoor ride was recorded against.  (The IPBike app has the ability to read erg files etc. then prompts the user to hit the target wattage).  But if I can work around this by editing or creating a 'record' csv file it should work.

You can add TRAIN tab and TARGET column to an existing activity using Editor XData button and copy&paste the target watts.

Ale Martinez

unread,
Aug 24, 2018, 1:11:11 PM8/24/18
to golden-cheetah-users
PS: XData is generated in the import process, so (re)importing .csv file with Target column in v3.5 should add it for pre-existing workouts.

JamesA

unread,
Aug 24, 2018, 2:59:44 PM8/24/18
to golden-cheetah-users
Ale - OK Thanks... I'm on a Windows version so in the Edit window I see a new XData button which opens a sub window containing xData "TRAIN" and Data Series "TARGET"  per Marks recommended USER DATA formula.  However, it doesnt appear that I can view or edit the actual TARGET wattage data within GC.  I'm assuming per your comment below (which was very helpful) that I need to re-import  ride data from the 'recorded' CSV file to get the TARGET wattage into GC for use in the Performance and Ride charts?

- James

Mark Liversedge

unread,
Aug 24, 2018, 4:02:11 PM8/24/18
to golden-cheetah-users
Just click on the "TRAIN"  tab at the bottom of the edit view.

JamesA

unread,
Aug 24, 2018, 4:09:08 PM8/24/18
to golden-cheetah-users
Ah! I see that now... because it only shows on rides with XData, I had not seen that before!  OK Got it... thanks for your help... Great program!!

Ale Martinez

unread,
Aug 24, 2018, 4:25:11 PM8/24/18
to golden-cheetah-users
Right, and the XData button allows to add them using the little (+), which you could use to add target to non GC Train rides in a compatible way.

JamesA

unread,
Aug 29, 2018, 5:14:05 PM8/29/18
to golden-cheetah-users
Hey One more thing when you have the time... I've added the Target Data to the XDATA tab and it shows on my (custom) performance chart but the scale of the Target data is different than the Actual ride wattage... so it doesn't display correctly.

I've also added the XDATA to the Ride chart and when I view with Full Plot checked I can see that the same problem exists there... Do I some how need to have the same Max and Min values in the Target wattage as the Actual wattage to get the scales similar or is there another trick I could deploy?

Usually Actual wattage has higher highs and lower lows than any Target number, so simply adjusting the scale (on the slider of the Performance chart) doesnt solve the problem

Target vs Actual W Scale.png



On Friday, August 24, 2018 at 4:02:11 PM UTC-4, Mark Liversedge wrote:

JamesA

unread,
Sep 19, 2018, 3:12:39 PM9/19/18
to golden-cheetah-users
I wanted to provide a quick update based on some scenarios I created... I am having difficulty understanding how the scale of XDATA variables are determined on charts like the performance chart.

I created a very simple scenario with Watts and Torque on the Standard Edit screen and a new XDATA variable called Target on the Extra Edit screen.  'Target' uses Watts as units... yet is not charted the same way as as Watts from the standard screen...see images below:

In the first image, (standard) Watts are a flat 100, and Torque is 50, while Xdata Target is also 50 yet standard Watts in yellow is charted below Target Watts of 50.

GC Xdata scale issue #1.png



However in the second image Watts and Torque are both 50 (and have different scales because they are different unit types).  But Target (which is also Watts units) also with a value of 50 is shown above standard Watts

GC Xdata scale issue #2.png



Whats the scale issue/factor that I'm missing here? - James

JamesA

unread,
Oct 5, 2018, 11:08:36 AM10/5/18
to golden-cheetah-users
Finally figured out a solution by creating a second XDATA field and copying actual power data to it then charting that in a Performance chart...   The result is a chart with correct scaling of the Actual Power to Target Power data.

Planned vs actual Final.png



I still think though that for similar units (Watts are used here) the Performance chart scale should be the same for Standard data and XDATA vs the issue shown above.

- James 

JamesA

unread,
Oct 5, 2018, 12:23:56 PM10/5/18
to golden-cheetah-users
FYI - The scale is also correct in an R chart (in this simple example)

ride <- GC.activity()

plot(ride$power,type = "o", col = "green", xlab = "Time", ylab = "Wattage", main = "Actual vs Target Wattage")

lines(ride$EXTRA_TARGET, type = "o", col = "purple")

Ale Martinez

unread,
Oct 5, 2018, 12:35:47 PM10/5/18
to golden-cheetah-users
El viernes, 5 de octubre de 2018, 12:08:36 (UTC-3), JamesA escribió:
> Finally figured out a solution by creating a second XDATA field and copying actual power data to it then charting that in a Performance chart...   The result is a chart with correct scaling of the Actual Power to Target Power data.

You could plot the actual power data as User Data using POWER as formula, avoiding the creation of a new XData series and data duplication

JamesA

unread,
Oct 5, 2018, 2:44:25 PM10/5/18
to golden-cheetah-users
LOL OK To my surprise that WORKS!  Thanks!

Though, I'm still confused as to why that fixes the scale issue vs just using the built in "power" option for the performance chart??

Mark Liversedge

unread,
Oct 5, 2018, 3:31:03 PM10/5/18
to golden-cheetah-users
Its because we have a limited number of axis to play with and xdata and non-xdata series don't share an axis.
You will notice how axis can become shared for standard data series.
Reply all
Reply to author
Forward
0 new messages