Analysis package: Podlover

Over the holidays, I’ve taken my initial code to analyze Podlove downloads in R and have written a real R package for it.

Here it is it’s called podlover:

The package can do many more things than the functions before:

  • Fetch necessary tables from the Wordpress MySQL
  • Connect and clean tables for download analysis (either directly from the database or via local CSV files)
  • Plot download curves by episode title, episode number, source, context, client_name, client_type, os_name or any other user-generated variable (plots are available with cumulated or non-cumulated data, with relative or absolute release dates, and with all kinds of graphical output options)
  • Generate average performance tables per episode for total and average downloads as well as average downloads for specific periods (e.g. the first three days after launch)
  • Analyze performance of launch against post-launch in a four-box grid
  • Create regression models of downloads against episodes or episode launch dates at a specific point in time (similar to @rahra 's approach), both as statistical models with coefficients and graphically
  • Create example podcast data to play around with the package

All functions are documented in help files. The README.md on GitHub (=package vignette) shows many examples and details. Test, feedbacks and contributions are welcome!

4 Likes

Looks great - can your add-on work with show module podcasts?

Without knowing how shows are represented in the data, my guess is “not yet”. What I would need to know to estimate the effort is:

  • Is there a fundamental difference in the data structure as opposed to single podcasts?
  • Does use of the show module create new tables or change table definitions?
  • What fields in which table define what show an episode belongs to?

The data structure is not different - I think there is just one more filter needed, where the podlove post id needs to be sorted a long the show module.

Shows module adds tables to term_taxonomy and terms and termmeta.

objectid in term_relationships references to the id of an episode in podlove_episode

So if I understand correctly, shows are related to posts in wp_posts. Is there a show identifier in wp_posts itself or does the post_id relate to another table containing the show label?

It’s a little more work than just the filter - I assume I will have to fetch an additional table to identify the show in a userfriendly way.

no objectid of terms_relationships references to the episode table of podlove of postid.