Habrastatistics: wéi Habr lieft ouni Geektimes

Hey Habr.

Dësen Artikel ass eng logesch Fortsetzung vun der Bewäertung Déi bescht Habr Artikelen fir 2018. An och wann d'Joer nach net eriwwer ass, wéi Dir wësst, am Summer goufen et Ännerungen an de Regelen, deementspriechend gouf et interessant ze gesinn, ob dat eppes beaflosst.

Habrastatistics: wéi Habr lieft ouni Geektimes

Zousätzlech zu den aktuellen Statistiken gëtt eng aktualiséiert Bewäertung vun Artikele geliwwert, souwéi e Quellcode fir déi, déi interesséiert sinn wéi et funktionnéiert.

Fir déi, déi interesséiert sinn wat geschitt ass, ass d'Fortsetzung ënner dem Schnëtt. Déi, déi un enger méi detailléierter Analyse vun Sektiounen vum Site interesséiert sinn, kënnen och kucken nächsten Deel.

Roude sinn

Dës Bewäertung ass inoffiziell, an ech hu keng Insiderinformatioun. Wéi Dir einfach gesitt andeems Dir op der Adressbar vun Ärem Browser kuckt, hunn all Artikelen op Habré eng kontinuéierlech Nummeréierung. Dann ass et eng Saach vun Technik, mir liesen einfach all Artikelen an enger Zeil an engem Zyklus (an engem Fuedem a mat Pausen, fir de Server net ze lueden). D'Wäerter selwer goufen vun engem einfachen Parser am Python kritt (Quelle sinn verfügbar hei) a gespäichert an enger Csv Datei eppes wéi dat:

2019-08-11T22:36Z,https://habr.com/ru/post/463197/,"Blazor + MVVM = Silverlight наносит ответный удар, потому что древнее зло непобедимо",votes:11,votesplus:17,votesmin:6,bookmarks:40,views:5300,comments:73
2019-08-11T05:26Z,https://habr.com/ru/news/t/463199/,"В NASA испытали систему автономного управления одного микроспутника другим",votes:15,votesplus:15,votesmin:0,bookmarks:2,views:1700,comments:7

Veraarbechtung

Fir Parsing benotze mir Python, Pandas a Matplotlib. Déi, déi net u Statistiken interesséiert sinn, kënnen dësen Deel iwwersprangen an direkt an d'Artikelen goen.

Als éischt musst Dir den Dataset an d'Erënnerung lueden a wielt Daten fir dat gewënscht Joer.

import pandas as pd
import datetime
import matplotlib.dates as mdates
from matplotlib.ticker import FormatStrFormatter
from pandas.plotting import register_matplotlib_converters


df = pd.read_csv("habr.csv", sep=',', encoding='utf-8', error_bad_lines=True, quotechar='"', comment='#')
dates = pd.to_datetime(df['datetime'], format='%Y-%m-%dT%H:%MZ')
df['datetime'] = dates
year = 2019
df = df[(df['datetime'] >= pd.Timestamp(datetime.date(year, 1, 1))) & (df['datetime'] < pd.Timestamp(datetime.date(year+1, 1, 1)))]

print(df.shape)

Et stellt sech eraus datt dëst Joer (obwuel et nach net fäerdeg ass) beim Schreiwen 12715 Artikele publizéiert goufen. Zum Verglach, fir déi ganz 2018 - 15904. Am Allgemengen, vill - dat sinn ongeféier 43 Artikelen pro Dag (an dat ass nëmme mat enger positiver Bewäertung; wéivill Artikelen am Ganzen erofgeluede ginn, déi negativ ginn oder geläscht goufen, kann een nëmme roden oder ongeféier schätzen aus de Lücken tëscht Identifizéierer).

Loosst eis déi néideg Felder aus der Datebank auswielen. Als Metrik benotze mir d'Zuel vun de Meenungen, Kommentaren, Bewäertungswäerter an d'Zuel vun de Lieszeechen.

def to_float(s):
    # "bookmarks:22" => 22.0
    num = ''.join(i for i in s if i.isdigit())
    return float(num)

def to_int(s):
    # "bookmarks:22" => 22
    num = ''.join(i for i in s if i.isdigit())
    return int(num)

def to_date(dt):
    return dt.date() 

date = dates.map(to_date, na_action=None)
views = df["views"].map(to_int, na_action=None)
bookmarks = df["bookmarks"].map(to_int, na_action=None)
votes = df["votes"].map(to_float, na_action=None)
votes_up = df["up"].map(to_float, na_action=None)
votes_down = df["down"].map(to_float, na_action=None)
comments = df["comments"].map(to_int, na_action=None)

df['date'] = date
df['views'] = views
df['votes'] = votes
df['bookmarks'] = bookmarks
df['up'] = votes_up
df['down'] = votes_down

Elo sinn d'Donnéeën an d'Dateset bäigefüügt a mir kënnen se benotzen. Loosst eis d'Donnéeën no Dag gruppéieren an d'Duerchschnëttswäerter huelen.

g = df.groupby(['date'])
days_count = g.size().reset_index(name='counts')
year_days = days_count['date'].values
grouped = g.median().reset_index()
grouped['counts'] = days_count['counts']
counts_per_day = grouped['counts'].values
counts_per_day_avg = grouped['counts'].rolling(window=20).mean()
view_per_day = grouped['views'].values
view_per_day_avg = grouped['views'].rolling(window=20).mean()
votes_per_day = grouped['votes'].values
votes_per_day_avg = grouped['votes'].rolling(window=20).mean()
bookmarks_per_day = grouped['bookmarks'].values
bookmarks_per_day_avg = grouped['bookmarks'].rolling(window=20).mean()

Elo ass den interessanten Deel datt mir d'Grafike kënne kucken.

Kucke mer d'Zuel vun de Publikatiounen op Habré am Joer 2019.

import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = (16, 8)
fig, ax = plt.subplots()

plt.bar(year_days, counts_per_day, label='Articles/day')
plt.plot(year_days, counts_per_day_avg, 'g-', label='Articles avg/day')
plt.xticks(rotation=45)
ax.xaxis.set_major_formatter(mdates.DateFormatter("%d-%m-%Y"))  
ax.xaxis.set_major_locator(mdates.MonthLocator(interval=1))
plt.legend(loc='best')
plt.tight_layout()
plt.show()

D'Resultat ass interessant. Wéi Dir gesitt, war Habr d'ganzt Joer e bëssen "Wurst". Ech weess net de Grond.

Habrastatistics: wéi Habr lieft ouni Geektimes

Zum Verglach gesäit 2018 e bësse méi glat aus:

Habrastatistics: wéi Habr lieft ouni Geektimes

Am Allgemengen hunn ech keng drastesch Ofsenkung vun der Zuel vun de publizéierten Artikelen am Joer 2019 op der Grafik gesinn. Ausserdeem schéngt et am Géigendeel zanter dem Summer souguer liicht eropgaang ze sinn.

Awer déi nächst zwou Grafiken depriméieren mech e bësse méi.

Duerchschnëtt Unzuel vun Meenungen pro Artikel:

Habrastatistics: wéi Habr lieft ouni Geektimes

Duerchschnëtt Bewäertung pro Artikel:

Habrastatistics: wéi Habr lieft ouni Geektimes

Wéi Dir gesitt, fällt d'Duerchschnëttszuel vun de Meenungen am ganze Joer liicht erof. Dëst kann erkläert ginn duerch d'Tatsaach, datt nei Artikelen nach net vun Sich Motore indexéiert goufen, a si net esou oft fonnt. Awer de Réckgang vun der Moyenne Bewäertung pro Artikel ass méi onverständlech. D'Gefill ass datt d'Lieser entweder einfach keng Zäit hunn fir esou vill Artikelen duerchzekucken oder net op d'Bewäertungen oppassen. Aus der Siicht vum Auteur Belounungsprogramm ass dësen Trend ganz désagréabel.

Dëst ass iwwregens net 2018 geschitt, an den Zäitplang ass méi oder manner gläich.

Habrastatistics: wéi Habr lieft ouni Geektimes

Am Allgemengen, Ressource Besëtzer hunn eppes iwwer ze denken.

Mee loosst eis net iwwer traureg Saache schwätzen. Am Allgemengen kënne mir soen datt den Habr d'Summerverännerungen zimlech erfollegräich "iwwerlieft" huet, an d'Zuel vun den Artikelen um Site ass net erofgaang.

Rating

Elo, tatsächlech, d'Bewäertung. Gratulatioun un déi, déi an et komm sinn. Loosst mech Iech nach eng Kéier drun erënneren datt d'Bewäertung inoffiziell ass, vläicht hunn ech eppes verpasst, a wann en Artikel definitiv hei sollt sinn, awer et ass net, schreiwen, ech addéieren et manuell. Als Bewäertung benotzen ech berechent Metriken, wat ech mengen, ganz interessant war.

Top Artikelen no Zuel vun Meenungen

Top Artikelen no Bewäertung zu Meenungsverhältnis

Top Artikelen duerch Kommentaren zu Meenung Verhältnis

Top meescht kontrovers Artikelen

Top Artikelen no Bewäertung

Top Artikelen no Zuel vu Lieszeeche

Top no Verhältnis vu Lieszeeche bis Meenung

Top Artikelen no Zuel vun Kommentaren

An endlech, déi lescht Antitop no Zuel vun net gär

Ugh. Ech hunn e puer méi interessant Auswiel, awer ech wäert d'Lieser net langweilen.

Konklusioun

Beim Konstruktioun vun der Bewäertung hunn ech op zwee Punkten opmierksam gemaach, déi interessant ausgesinn.

Als éischt sinn 60% vun den Top Artikele vum Genre "Geektimes". Ob et d'nächst Joer manner wäerte ginn, a wéi den Habr ausgesäit ouni Artikelen iwwer Béier, Raum, Medizin, asw., weess ech net. Definitiv wäerten d'Lieser eppes verléieren. Mol kucken.

Zweetens hunn déi Top Lieszeeche sech als onerwaart héich Qualitéit erausgestallt. Dëst ass psychologesch verständlech; Lieser kënnen net op d'Bewäertung oppassen, awer wann den Artikel ass gebraucht ginn, da gëtt et op Är Lieszeeche bäigefüügt. An hei ass genee déi gréisste Konzentratioun vun nëtzlechen a seriöse Artikelen. Ech mengen, d'Besëtzer vun de Site sollen iergendwéi d'Verbindung tëscht der Unzuel vun de Lieszeechen an dem Belounungsprogramm iwwerdenken, wa se dës speziell Kategorie vun Artikelen hei op Habré wëllen erhéijen.

Sou eppes. Ech hoffen et war informativ.

D'Lëscht vun den Artikelen huet sech laang erausgestallt, gutt, et ass wahrscheinlech fir dat besser. Vill Gléck fir jiddereen ze liesen.

Source: will.com

Setzt e Commentaire