Explanations:
(The grouping is needed since streaming players often retrieve data in chunks, where each chunk appears separately in the web server logs. Grouping them into sessions tries to guess -- possibly underestimating -- at how many times each show was selected for listening by a person.)