ТЕХНОЛОГИЯ ЭКСПЕДИА ГРУПП

Как экспортировать среднюю статистику для ежемесячного анализа

Узнайте, как создавать и сохранять ежемесячную статистику на Medium

Medium ™ ️ предоставляет базовую статистику для публикаций с помощью раскрывающегося меню «статистика», которое переводит вас на страницу статистики, где показаны просмотры и чтения за 30 или 90 дней. Эта статистика представляет собой снимок текущих чисел, но Medium не позволяет просматривать их как временные ряды.

Иногда нам нужно понять, как просмотры и чтения меняются в разные периоды времени. Например, мы часто хотим узнать, есть ли какие-нибудь старые истории, которые сейчас набирают популярность, или мы можем попытаться определить источник большого скачка просмотров.

Чтобы анализировать статистику и следить за прогрессом на ежемесячной основе, я следую следующему процессу:

  1. Перейдите на страницу статистики, убедившись, что у вас выбрана вкладка Истории. На момент написания это может быть https://medium.com/@*yourid›/stats или https://medium.com/me/stats для вашей личной страницы или https://medium.com/ ‹publication› / stats / stories для публикации Medium.
  2. Если у вас более 50 историй (по умолчанию отображается только 50), вам либо нужно прокручивать страницу до конца, пока не отобразятся все ваши истории, либо вы можете добавить что-то вроде ? Limit = 1000 к URL-адресу, который покажет 1000 историй (или сколько у вас их будет, если у вас их меньше). Последний вариант полезен, если вы хотите автоматизировать этот процесс.
  3. Сохраните страницу в своей локальной системе.
  4. Теперь вам нужно извлечь данные с сохраненной страницы. Каждая история на странице содержит множество статистических данных. Я обнаружил, что регулярное выражение легко извлекает их, например, следующее регулярное выражение postId”:”(\w+)”,”slug”:”([^”]+)”,.*?title”:”([^”]+)”,.*?views”:(\d+),”reads”:(\d+),.*?firstPublishedAt”:(\d+),.*?firstPublishedAtBucket”:”([^”]+)”,.*?syndicatedViews”:(\d+),.*?claps”:(\d+), извлекает следующие поля (по порядку) для каждой истории: средний идентификатор, частичная ссылка URL, заголовок истории, количество просмотров, количество прочитанных , отметка времени публикации, опубликованный месяц-год, количество синдицированных просмотров, количество аплодисментов.
  5. Используйте предпочитаемый вами механизм (я использую сценарий Perl) для извлечения данных в CSV. Для вашего удобства следующий элемент - сценарий perl, который я использую, и он должен работать, если он запущен в оболочке Unix в каталоге, в котором вы сохранили среднюю страницу (на момент написания; при условии, что сохраненный файл называется Medium.html; для запустить из команды Windows, вам нужно отредактировать одинарные и двойные кавычки, поскольку Windows интерпретирует их по-разному):
  6. perl -ne ‘while(/postId”:”(\w+)”,”slug”:”([^”]+)”,.*?title”:”([^”]+)”,.*?views”:(\d+),”reads”:(\d+),.*?firstPublishedAt”:(\d+),.*?firstPublishedAtBucket”:”([^”]+)”,.*?syndicatedViews”:(\d+),.*?claps”:(\d+),/g){$k=$1; $a=[$1,$2,$3,$4+$8,$5,$6,$7,$9]; $x=$a->[2]; $x =~ tr/”//; $x=”\”$x\””; $a->[2]=$x; $a{$k}=$a; } sub END {print “mediumID,link,title,views,reads,claps,publicationTimestamp,publicationBucket\n”; foreach $k (sort keys %a){$a=$a{$k}; print $a->[0],”,”,$a->[1],”,”,$a->[2],”,”,$a->[3],”,”,$a->[4],”,”,$a->[7],”,”,$a->[5],”,”,$a->[6],”,\n”}}’ Medium.html > Medium.csv
  7. Регулярное выражение может нуждаться в корректировке, так как Medium меняет доступную статистику (мне приходилось изменять ее примерно раз в год).
  8. Если у вас есть файл CSV, вы можете использовать стандартные механизмы сравнения CSV или электронных таблиц, чтобы сравнить файл с другим CSV, созданным на странице статистики Medium в другой день. Я считаю наиболее полезным указать дату создания CSV-файла как часть имени файла, чтобы вы могли легко увидеть, какие даты вы сравниваете.
  9. Я стараюсь сохранять страницу со статистикой Medium один раз в месяц, в идеале - 1-го числа месяца, чтобы вы могли сравнивать любое количество месяцев и видеть, что читают, а что не так хорошо просматривают.
  10. Для вашего удобства сценарий perl в следующем элементе сравнивает счетчики чтения для 2 файлов CSV, предполагая, что 1-й столбец является идентификатором среды для истории, а 3-й столбец содержит заголовок истории в строке с двойными кавычками, и что 4-й столбец содержит счетчики чтения
  11. perl -ne ‘if (/^([^,]+),([^,]+),”([^”]+)”,(\d+),(\d+),(\d+),(\d+),(\w+ \d+),/) { if (exists($a{$1})) { $r=$a{$1}; $b{$1}=[$1,$2,”\””.$3.”\””,$r->[3]-$4,$7,$8] } else { $a{$1}=[$1,$2,$3,$4,$5,$6,$7,$8]; $b{$1}= [$1,$2,”\””.$3.”\””,$4,$7,$8] } sub END {foreach $r (keys %b) {print join(“,”,@{$b{$r}}),”\n”} } }’ Medium-date-2.csv Medium-date-1.csv > diff-date-2-to-date-1.csv

Резюме

Мы часто смотрим на статистику новых историй и общую статистику, но ежемесячный просмотр старых историй, как правило, игнорируется, за исключением тех случаев, когда они попадают в верхнюю часть всех просмотров.

Наличие ежемесячной статистики действительно полезно для того, чтобы точно определить, какие истории, новые или старые, читаются.