В какой день лучше всего публиковать пост на Хабре?

    Подготовили важный пост и хотите скорее рассказать о нем миру? Обидно будет опубликовать его именно в тот день, когда на хабр никто не заходит. Ровно 5 месяцев назад BitLy провел исследование, где рассказал в какое время лучше постить на Facebook, Twitter, и Tumblr (русский перевод с более наглядной инфографикой).



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

    Disclaimer


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

    Допущения и методика исследования


    Будем обсчитывать только успешные посты, которые:
    • Содержат хотя бы один комментарий
    • Были оценены положительно
    Если в понедельники Хабр особенно беспощаден и щедр на минусы, наше исследование об этом умолчит.

    Как быстро понять в какой день недели больше шансов привлечь внимание к посту и много плюсов? С немалой погрешностью, которая, впрочем, уменьшается при большом количестве обработанных постов, можно считать что хороший день для поста — это когда:
    • Оставляют больше всего положительных оценок к постам
    • Оставляют больше всего комментариев

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

    Будем сканировать все доступные для нашего юзера статьи перебором их id по прямым ссылкам. Посмотрим какие примерно номера у последних постов и будем перебирать сверху вниз до какого-нибудь поста двухлетней давности. Я выбрал диапазон от 153000 до 90000, и запускал алгоритм на нескольких разных диапазонах внутри этого блока. Круто? И несложно! Поехали писать код.

    Программа


    Еще одна погрешность в этом исследовании: дата берется не из поста, а из первого коммента к нему. Так быстрее, потому что у комментариев доступен datetime, а дату поста пришлось бы парсить из русского языка (что тоже несложно, но зачем). Для сканирования постов я решил использовать JavaScript, чтобы разом получить и передачу сессии, и легкий поиск данных на странице напрямую через jquery. Все это может и некрасиво, но сэкономило уйму времени, и ведь код занял полчаса. Для работы кода нужно отключить same origin policy, я сделал это с помощью плагина CORS для FireFox. Я сознательно обрабатывал синхронно в один поток с небольшими паузами, чтобы не нагружать ноутбук, давать браузеру время для рендера, да и бомбить Хабр десятком запросов в секунду некрасиво, хотя это и капля в море.

    Статьи, к которым нет доступа или без рейтинга — пропускаются. Так выглядит основной JavaScript:
    $(document).ready(function() {
    	var all = 0;
    	var success = 0;
    	var failed = 0;
    	var daysProcessed = [0, 0, 0, 0, 0, 0, 0];
    	var daysScore = [0, 0, 0, 0, 0, 0, 0];
    	var daysComments = [0, 0, 0, 0, 0, 0, 0];
    
    	function processPage(url) {
    		$.ajax({url: url, success: function(data) {
    			if (data.indexOf('Доступ к странице ограничен') != -1) {
    				failed++;
    				$('#failed').text(failed);
    				return;
    			}
    		  	try {
    		  		$('#loader').html(data);
    		  	} catch(e) {}
    		  	setTimeout(function() {
    			    var score = $('.score:first').text();
    				if (score != '' && score.charCodeAt(0) != 8212) {
    					var sign = 1;
    					if (score.charCodeAt(0) == 8211) {
    						sign = -1;
    						score = score.substr(1);
    					}
    					var intScore = sign * parseInt(score);
    
    					var comments = $('#comments_count').text();
    					var intComments = parseInt(comments);
    
    					if (intComments > 0 && sign == 1) { //Do we need only positive?
    						var date = $('time:first').attr('datetime');
    						date = new Date(date);
    						var intDay = date.getDay();
    
    						success++;
    						$('#success').text(success);
    
    						daysProcessed[intDay]++;
    						daysScore[intDay] += intScore;
    						daysComments[intDay] += intComments;
    
    						$('#processed_' + intDay).text(daysProcessed[intDay]);
    						$('#score_' + intDay).text(daysScore[intDay]);
    						$('#comments_' + intDay).text(daysComments[intDay]);
    					} else {
    						failed++;
    						$('#failed').text(failed);
    					}
    				} else {
    					failed++;
    					$('#failed').text(failed);
    				}
    			}, 1);
    		}, async: false, error: function () {
    			failed++;
    			$('#failed').text(failed);
    		}});
    	}
    
    	var i = 153000;
    	var interval = setInterval(function() {
    		try {
    			processPage('http://habrahabr.ru/post/' + i + '/');
    		} catch (e) {
    			failed++;
    			$('#failed').text(failed);
    		}
    
    		all++;
    		$('#all').text(all);
    
    		i--;
    		if (i < 90000) {
    			clearInterval(interval);
    		}
    	}, 0);
    });
    


    Примитивная визуализация исключительно для удовольствия и наглядности, все любят циферки в realtime:
    <html>
    <head>
    	<script type="text/javascript" src="http://yandex.st/jquery/1.8.2/jquery.js"></script>
    	<script type="text/javascript">
    		//КОД, КОТОРЫЙ ПРИВЕДЕН ВЫШЕ
    	</script>
    </head>
    <body>
    	<div>All processed: <span id="all">0</span></div>
    	<div>All success: <span id="success">0</span></div>
    	<div>All failed: <span id="failed">0</span></div>
    	<br>
    	<div>Mondays processed: <span id="processed_1">0</span></div>
    	<div>Mondays total score: <span id="score_1">0</span></div>
    	<div>Mondays total comments: <span id="comments_1">0</span></div>
    	<br>
    	<div>Tuesdays processed: <span id="processed_2">0</span></div>
    	<div>Tuesdays total score: <span id="score_2">0</span></div>
    	<div>Tuesdays total comments: <span id="comments_2">0</span></div>
    	<br>
    	<div>Wednesdays processed: <span id="processed_3">0</span></div>
    	<div>Wednesdays total score: <span id="score_3">0</span></div>
    	<div>Wednesdays total comments: <span id="comments_3">0</span></div>
    	<br>
    	<div>Thursdays processed: <span id="processed_4">0</span></div>
    	<div>Thursdays total score: <span id="score_4">0</span></div>
    	<div>Thursdays total comments: <span id="comments_4">0</span></div>
    	<br>
    	<div>Fridays processed: <span id="processed_5">0</span></div>
    	<div>Fridays total score: <span id="score_5">0</span></div>
    	<div>Fridays total comments: <span id="comments_5">0</span></div>
    	<br>
    	<div>Saturdays processed: <span id="processed_6">0</span></div>
    	<div>Saturdays total score: <span id="score_6">0</span></div>
    	<div>Saturdays total comments: <span id="comments_6">0</span></div>
    	<br>
    	<div>Sundays processed: <span id="processed_0">0</span></div>
    	<div>Sundays total score: <span id="score_0">0</span></div>
    	<div>Sundays total comments: <span id="comments_0">0</span></div>
    	<div id="loader" style="display:none"></div>
    </body>
    </html>
    


    Выглядело это так




    Результаты


    Наконец, результаты! Скрипт работал два дня на трех разных интервалах примерно одинаковой величины.

    Суммарные показания по всем интервалам:
    Всего обработано: 35690
    Из них успешно: 21189
    C ошибкой доступа: 14499
    Утеряно бюллетеней: 2 :)
    День недели Всего постов Плюсы Комментарии Плюсы/Посты Комменты/Посты
    Понедельник 3637 136035 178084 37.40 48.96
    Вторник 3719 140566 194264 37.79 52.23
    Среда 3702 135767 184081 36.67 49.72
    Четверг 3507 128936 178940 36.76 51.02
    Пятница 3506 131063 170025 37.38 48.49
    Суббота 1573 64073 85372 40.73 54.27
    Воскресенье 1545 72376 91465 46.84 59.20

    Выводы


    • Больше всего постов в первые три будних дня, в выходные все отдыхают (кто бы сомневался)
    • Те, кто не отдыхает в выходные — комментят на Хабре. Тоже неплохо проводят время
    • При этом по абсолютной величине больше всего комментов и плюсов в начале недели
    • Нет ярко выраженных пиков, хабр достаточно равномерен (спад в конце — предсказуем)
    • Активность в начале недели выше, что неплохо согласуется с исследованием Facebook и Twitter
    • На Хабре пик не в среду, а во вторник. Уже не понедельник, а недельный дедлайн еще далеко :)
    • Если вы хотите максимального внимания и плюсов — размещайте пост в понедельник или вторник
    • В пятницу у всех хорошее настроение, это тоже неплохой день для плюсов
    • В четверг приятно поболтать в комментариях, но на рейтинг в этот день не рассчитывайте
    • Хабр — торт еще!

    Так когда все же публиковаться?


    Для плюсиков — понедельник, вторник, пятница.
    Для комментов — вторник, среда, четверг.

    Этот пост опубликован в понедельник. Приятной недели и хороших вам постов, Хабровчане!


    image
    Luxoft
    99,00
    think. create. accelerate.
    Поделиться публикацией

    Комментарии 42

      +32
      После этого поста статистика еще более выраженной в эти дни станет.
        +2
        Если вы опираетесь при выборе на статистику, то вы правы. А если вы будете писать в дни, в которые вам удобно и в которые у вас есть наибольшее желание писать, то вы имеете все шансы подкорректировать статистику. ;-)
          +6
          Писать и публиковать — это разные вещи :)
            0
            согласен, я отправил в субботу статью в песочницу, до сих пор не вижу ее в ленте
          +8
          Принцип неопределенности?! Нельзя измерить хабр не повлияв на него.
            0
            Капитан ждал этого комента :)
            +5
            Самый лучший день публикации, это суббота или воскресенье — очень мало материалов выходит в выходные, а значит оставшиеся материалы более внимательно читаются. И для этого совсем не нужны очень сложные стат.выборки и мат.модели.
            Психология.
              0
              Но удельное количество плюсов в выходные ниже (чего не скажешь о комментариях).
                +2
                Вроде как больше, судя по таблице? 46.84 на пост в воскресение
                +3
                Читаются более внимательно, но меньшим кол-вом людей.
                  0
                  пост, написанный в выходные, к понедельнику будет завален десятком-другим свежих постов, его банально увидят меньше народа.
                  +54
                  Гороскоп на хабре!
                  • НЛО прилетело и опубликовало эту надпись здесь
                      +2
                      Но только во всех внешных жилищах
                    +21
                    Так ведь по статистике выходит что лучший день для публикации — воскресенье. Да, суммарно посты набирают меньше плюсов, но и постов самих меньше. В итоге по показателю плюсов/пост это день лидирует (~46 против ~38 в пн-вт). Да и по комментам показатели тоже лидирующие. Какая разница сколько набрали «все посты в этот день» если нас интересует только один — собственный.
                    Ведь ради этого затевалось всё исследование?
                      +6
                        +10
                        Я тоже как-то делал исследование на эту тему. Статья та +400 набрала. Посмотрим, сколько ваша наберёт. :)
                          0
                          Я давно заметил, что в начале недели комментариев больше, да и плюсов тоже.
                            +5
                            хороший пост — хорош в любую погоду.
                              +2
                              Судя по малому кол-ву комментариев, все сейчас сели писать статьи, чтобы завтра опубликоваться.
                                0
                                А как насчёт времени суток? Например, опубликовать пост в 3 часа ночи, либо в полдень?
                                  0
                                  Мне кажется с утра лучше. Если вечером — то хоть до утра наберет немного комментариев, но зато вечером уже исчезнет из топа. А если утром — провисит в лучшем и следующим утром.
                                    +2
                                    Тут всё есть: habrahabr.ru/post/145045/ — «Статистика χ·χ·»
                                    0
                                    Постройте, если возможно, почасовые графики на всю неделю для указанных параметров, так думаю будет более наглядно.
                                      0
                                      Как мне сказал один мой хороший друг с еврейскими корнями, после одного моего поста: «Молодец, все евреи делают важные дела во вторник!»
                                        +1
                                        В постный :)
                                          0
                                          Причем лучше всего постить в районе 11-ти часов по московскому времени.
                                          • НЛО прилетело и опубликовало эту надпись здесь
                                              0
                                              Почетно
                                              Теперь все мои посты будут во вторник.
                                              Сделайте исследование по времени суток.
                                                0
                                                см мой коммент выше :-)
                                                  0
                                                  Обоснуйте
                                                    0
                                                    Личный опыт — свой, и друзей которые постили топики.
                                                    Постфактум — активного рабочего дня хватает что бы максимальное количество юзверей зашло на Хабр, и увидело его. Первых пары часов хватит чтоб вывести топик на 1-ю страницу, чтоб к обеденному перерыву максимальное количество людей увидели его как раз на экранах.
                                                0
                                                hnpickup.appspot.com
                                                  0
                                                  Не читая статью скажу, что ночью публиковать — плохая идея. И не только на хабре.
                                                    0
                                                    обоснуйте
                                                      +2
                                                      Пожалуйста — достаточно статье набрать десяток минусов ночью (особенно легко это делают специфичные статьи по программированию, к примеру, или новости), то утром вылезти ей оттуда очень сложно, потому что на неё тупо никто не смотрит.
                                                        0
                                                        А если статья актуальная(например про аккумуляторы), то она и ночью уже +80 набирает
                                                    0
                                                    насчёт второй ссылки с «наглядной инфографикой» это вы погорячились. каша несусветная по ней.
                                                      0
                                                      В новый год и последующие 10 дней ;)
                                                      +1
                                                      Статья интересная, прям мини исследование. Хотел поставить +. Но потом тёмная сторона личности потребовала быть погрешностью статистики и воздержаться от голосования
                                                        0
                                                        Хоть диаграмму бы построили для наглядности… Ведь многим интересно не то, как именно Вы это сделали, а что из этого получилось.

                                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                        Самое читаемое