How is the AVPlayer observedBitrate calculated?

What determines the value of the observedBitrate reported on the AVPlayerItemAccessLogEvent? When I experience a stall, can I determine whether it was due to network conditions by checking that the observedBitrate is higher than the media bitrate, or will it not be updated by that point?

The docs describe the property as

The empirical throughput, in bits per second, across all media downloaded.

and the WWDC 2018 talk Measuring and Optimizing HLS Performance says

An observed bitrate is the current network bandwidth.

To me, the indication here is that it represents the download speed in bits/sec of recent segments. However, this doesn't seem to be reflected in my testing.

When limiting my connection throughput with the network link conditioner, I notice that it tends to take about 30 seconds for the observed bitrate to drop. When I disable the network completely, the observedBitrate doesn't change for a minute, then drops straight to 0. In addition to those observations, I've also seen cases where the reported observedBitrate is lower than the bitrate required to support the stream yet I didn't experience buffering, like when it was reporting around 87Kbps while I know the encoded media was ~97Kbps.

All of this said, it's not clear to me what this value represents. Is it an average over a certain period of time? What is actually being calculated and over what time period?