I've wondered about the algorithm too. I watched the numbers change since I started the year pretty much out of shape. My average for January was 42.49. My average for November so far is 50.94.
So far, I've come to a few conclusions:
1. The algorithm comes up with numbers that are pretty close to other sources and consistent with race performances. As an example, using Jack Daniels's VDOT tables, my late August half marathon was worth ~49.5 and my recent 19:21 5K was worth ~51.8. (My early September 3:18 marathon was only worth ~47.8, but the weather was less-than-ideal and my fitness was still a work-in-progress.)
2. With the most recent updates to WatchOS, it seems to use averaging/smoothing in generating daily numbers, so there's a lag as fitness improves. (I saw a lot more daily variation over the spring and summer.)
3. It takes into account terrain, HR, pace, but not weather.
4. It ignores treadmill runs (e.g. the gap in my data below for 10/30) for understandable reasons.
The averaging is clearly visible in my graph of daily value for roughly the last month. There is an almost steady daily climb, even though it couldn't possibly calculate that based on the individual runs.
My last 5 runs:
10/31 - 12.01 mi @ 7:15/mile, avg HR 152 (flat terrain)
11/01 - 8.00 mi @ 8:12/mile, avg HR 131 (mostly flat terrain)
11/02 - 6.10 @ 8:12/mile, avg HR 145 (rolling terrain, over-dressed)
11/03 - 22.00 @ 7:50/mile, avg HR 149 (mostly flat terrain)
11/04 - 7.00 @ 8:58/mile, avg HR 131 (mostly flat terrain, over-dressed, in the dark)
There's no way, you could calculate 50.92 for the 11/01 run and 50.96 for the 11/04 run using just each day's data.
When I was in my best shape several years ago, my Garmin had a similar function, and it likewise came up with numbers (55-59 at the time) that were consistent with Daniels's VDOT tables. I want to be back into that range by the spring for the Boston Marathon. (I was, at least, able to qualify at my early September marathon.)

