5 ms·
I don't understand why they expected to see 11% back-to-back female songs instead of 11% * 11% = 1.2% > If you listened to this station non-stop from midnight
by sxp 3y ago
I don't understand why they expected to see 11% back-to-back female songs instead of 11% * 11% = 1.2%
> If you listened to this station non-stop from midnight to 11:59pm today, you’d likely only hear 3 back-to-back songs by women, compared to 245 from men.
> Songs by women are already severely underplayed, making up only 11% of total plays in 2022. Even at this low rate of play, we’d expect to see 30-40 back-to-back songs by women for this same day, like in these 10 “coin flip” simulations. In reality, we see 3.
It would be nicer if they showed their work. Simulating this in Javascript with 300 random songs with 11% female artists results in:
let songs = new Array(300).fill(0).map(x => Math.random() > .11 ? 'm' : 'f');
let bb = {f: 0, m: 0};
for (let i = 1; i < songs.length; ++i) {
if (songs[i-1] === songs[i]) ++bb[songs[i]]
};
bb.pf = 100 * bb.f/(songs.length - 1);
bb.pm = 100 * bb.m/(songs.length - 1);
console.log(bb);
The output is 3 female back-to-back songs and 240 male. (Your random numbers might vary.)
{f: 3, m: 240, pf: 1.0033444816053512, pm: 80.2675585284281}
> We looked at 19 dates throughout 2022 for this same radio station and found that out of 6,474 songs, only 64 (0.99%) were back-to-back songs by women plays. For back-to-back songs by men, it was 4,231 (65.53%). Back-to-back mixed-gender ensembles and collaborations account for 36 (0.56%) songs.
with `...new Array(6474)...`:
{f: 88, m: 5123, pf: 1.3594932797775374, pm: 79.14413718523096}
- pimlottc 3y ago> It would be nicer if they showed their work. The "Methodology" section includes a link to the data and code: https://github.com/the-pudding/country-radio-data https://github.com/the-pudding/country-radio-data
- tzs 3y agoI agree. They seem to have greatly overestimated the expected number of back-to-back female songs. I too did a quick simulation and my numbers are close to yours, and close to the radio station data in the article. My code is appended below. Usage is "./bb.pl num_songs percent_by_women". E.g., "./bb_pl 100000 11" would do a 100000 song playlist where 11% of the songs are by women. Here was the output of a run with those arguments: 79227 MM, 1228 FF 9772 MF, 9772 FM 79.23% MM, 1.23% FF 9.77% MM, 9.77% FF The first pair of output lines is saying that 79227 songs were songs by males (M) played immediately after an M song, 1228 songs were songs by females (F) played immediately after an F song, 9772 were F songs played immediately after an M song, and 9772 were M songs played immediately after an F song. The second pair of output lines gives those as percentages of total songs. #!/usr/bin/env perl use strict; use List::Util; my $T_plays = shift @ARGV || die "Args: num_songs percent_by_women\n"; my $F_percent = shift @ARGV || die "Args: num_songs percent_by_women\n"; my $F_plays = int($T_plays * $F_percent / 100 + 0.5); my $M_plays = $T_plays - $F_plays; my @slot; push @slot, 'M' foreach 1..$M_plays; push @slot, 'F' foreach 1..$F_plays; @slot = List::Util::shuffle @slot; my $prior = ''; my $MM = 0; my $FF = 0; my $MF = 0; my $FM = 0; foreach (@slot) { if ($_ eq $prior) { if ($_ eq 'M') { ++$MM; } else { ++$FF; } } elsif ($prior ne '') { if ($_ eq 'M') { ++$FM; } else { ++$MF; } } $prior = $_; } print "$MM MM, $FF FF\n"; print "$MF MF, $FM FM\n"; print "\n"; printf "%.2f%% MM, %.2f%% FF\n", 100*$MM/$T_plays, 100*$FF/$T_plays; printf "%.2f%% MM, %.2f%% FF\n", 100*$MF/$T_plays, 100*$FM/$T_plays;
- drewcoo 3y agoIf I say 11% of women's songs are back-to-back, it means 11% of women's songs are followed by another woman's song. This wasn't talking about the percent of songs that are women's songs and back to back, as your example.
- jan_diehm 3y agoY'all are 100% right – something wonky was going on! I’ve since made adjustments and updated the piece with a correction. The visual and accompanying text were using the number of all women plays, not just the back-to-back ones. It’s more likely that the simulation back-to-back numbers would fall between 7—17 a day NOT the originally stated 30–40. For the particular station in the intro, San Antonio (KCYY-FM), the number of women’s back-to-back plays that they actually played isn’t completely outside of the realm of possibilities if left up to chance, but we would be more likely to see higher numbers. For 17 other stations, the observed numbers do fall outside the simulation distribution. (See the histograms in the methodology section. Note that they are for the full 19 days.) Thank y'all again for raising this issue! The data is only good as the humans behind it, and I definitely bungled this a bit.
- tzs 3y agoThat's still about twice or so the number that the simulations of sxp and myself give, but I think that we both used a different definition of back-to-back than you. We both are not counting the first song in a run of consecutive same gender artist songs as being back-to-back. If the first song in a run is included in the back-to-back count then my simulation seems to be matching your updated simulations. If 11% of the songs are from female artists for example I get that ~2.27% of the total plays should be part of back-to-back runs of female artists. If the first song in a run does not count as back-to-back, that was ~1.22%. Note that the percentages for "first doesn't count" B2B simulations come out pretty close to the B2B percentages given in the article for most stations. That could just be a coincidence, but it is probably worth double checking how you calculated the B2B percentages for the actual station data to make sure that you are using "first counts" B2B. If the station stats are using "first counts", then it looks like most of the stations are playing about 1/2 as many female artist songs B2B as they would if scheduling were random. But if the station stats are using "first doesn't count", then it looks like most are consistent with random playlists.
- jan_diehm 3y agoLooking into this more now.