Habrastatistics: cumu Habr vive senza geektimes

Hey Habr.

Questu articulu hè una continuazione logica di a valutazione I migliori articuli Habr per 2018. E ancu s'ellu ùn hè micca finitu l'annu, cum'è sapete, in l'estiu ci sò stati cambiamenti in e regule, per quessa, hè diventatu interessante per vede s'ellu hà affettatu qualcosa.

Habrastatistics: cumu Habr vive senza geektimes

In più di e statistiche attuali, una valutazione aghjurnata di l'articuli serà furnita, è ancu qualchì codice fonte per quelli chì anu interessatu in u so travagliu.

Per quelli chì anu interessatu in ciò chì hè accadutu, a continuazione hè sottu u cut. Quelli chì anu interessatu in un analisi più detallatu di e rùbbriche di u situ ponu ancu circà parte dopu.

Dati iniziali

Questa valutazione ùn hè micca ufficiale, è ùn aghju micca infurmazione privilegiata. Comu pudete vede facilmente fighjendu a barra di l'indirizzu di u vostru navigatore, tutti l'articuli nantu à Habré anu numerazione cuntinua. Allora hè una materia di tecnica, simpricimenti leghje tutti l'articuli in una fila in un ciculu (in un filu è cù pause, per ùn carricà u servitore). I valori stessi sò stati ottenuti da un parser simplice in Python (i fonti sò dispunibili ccà) è salvate in un schedariu csv qualcosa cum'è questu:

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

Processing

Per l'analisi useremu Python, Pandas è Matplotlib. Quelli chì ùn anu micca interessatu in statistiche ponu saltà sta parte è andà direttamente à l'articuli.

Prima avete bisognu di carricà u dataset in memoria è selezziunate e dati per l'annu desideratu.

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)

Risulta chì quist'annu (ancu s'ellu ùn hè ancu finitu) à u mumentu di a scrittura, 12715 2018 articuli sò stati publicati. Per paragunà, per tuttu u 15904 - 43. In generale, assai - questu hè di circa XNUMX articuli per ghjornu (è questu hè solu cù una valutazione positiva; quanti articuli totali sò scaricati chì sò andati negativi o sò stati sguassati, si pò solu guessà). o stima approssimativamente da e lacune trà l'identificatori).

Selezziunà i campi necessarii da u dataset. Cum'è metriche useremu u numeru di viste, cumenti, valori di valutazione è u numeru di marcati.

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

Avà i dati sò stati aghjuntu à u dataset è pudemu usà. Agrupemu i dati per ghjornu è pigliate i valori medii.

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()

Avà a parte interessante hè chì pudemu guardà i grafici.

Fighjemu u numeru di publicazioni nantu à Habré in 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()

U risultatu hè interessante. Comu pudete vede, Habr hè statu un pocu "salsiccia" in tuttu l'annu. Ùn cunnoscu micca u mutivu.

Habrastatistics: cumu Habr vive senza geektimes

Per paragunà, 2018 pare un pocu più liscia:

Habrastatistics: cumu Habr vive senza geektimes

In generale, ùn aghju micca vistu una diminuzione drastica in u numeru di articuli publicati in 2019 nantu à u graficu. Inoltre, à u cuntrariu, pare ancu avè aumentatu ligeramente da l'estiu.

Ma i prossimi dui grafici mi deprimenu un pocu più.

Nùmeru mediu di viste per articulu:

Habrastatistics: cumu Habr vive senza geektimes

Valutazione media per articulu:

Habrastatistics: cumu Habr vive senza geektimes

Comu pudete vede, u numeru mediu di viste diminuite ligeramente in tuttu l'annu. Questu pò esse spiegatu da u fattu chì i novi articuli ùn sò micca stati indexati da i mutori di ricerca, è ùn sò micca truvati cusì spessu. Ma a calata di a valutazione media per articulu hè più incomprensibile. U sintimu hè chì i lettori o simpricimenti ùn anu micca tempu di guardà tanti articuli o ùn fate micca attente à e valutazioni. Da u puntu di vista di u prugramma di ricumpensa di l'autore, sta tendenza hè assai dispiacevule.

In modu, questu ùn hè micca successu in 2018, è u calendariu hè più o menu ancu.

Habrastatistics: cumu Habr vive senza geektimes

In generale, i pruprietarii di risorse anu qualcosa à pensà.

Ma ùn parlemu micca di cose tristi. In generale, pudemu dì chì Habr "survivìu" i cambiamenti di l'estate abbastanza bè, è u numeru di articuli nantu à u situ ùn hè micca diminuitu.

Rating

Avà, in realtà, a valutazione. Félicitations à ceux qui s'y sont mis. Lasciami ricurdà una volta di più chì a classificazione ùn hè micca ufficiale, forse aghju mancatu qualcosa, è se un articulu definitu deve esse quì, ma ùn hè micca, scrivite, aghju aghjustatu manualmente. Cum'è una valutazione, aghju utilizatu metrica calculata, chì pensu chì hè stata assai interessante.

Top articuli per numeru di viste

Articuli principali per ratio di valutazione à vista

Top articuli per cumenti à u rapportu di vista

Top articuli più cuntruversi

Top articuli per rating

Top articuli per numeru di marcati

Primu per rapportu di marcati à viste

Top articuli per numeru di cumenti

È infine, l'ultimu Antitop per numeru di dislikes

Ugh. Aghju uni pochi di selezzione più interessanti, ma ùn aghju micca stancu i lettori.

cunchiusioni

Quandu custruì a qualificazione, aghju attentu à dui punti chì parevanu interessanti.

Prima, 60% di u top sò articuli di u generu "geektimes". S'ellu ci saranu menu di elli l'annu dopu, è ciò chì Habr serà senza articuli nantu à a biera, u spaziu, a medicina, etc., ùn sò micca sapè. Di sicuru, i lettori perderanu qualcosa. Videmu.

In siconda, i top bookmarks sò diventati di una qualità inespettatamente alta. Questu hè psicologicu comprensibile i lettori ùn ponu micca attentu à a classificazione, ma se l'articulu hè bisognu, dopu serà aghjuntu à i vostri marcati. È quì hè precisamente a più grande cuncentrazione di articuli utili è serii. Pensu chì i pruprietarii di u situ duveranu in qualchì manera di pensà à a cunnessione trà u numeru di marcati è u prugramma di ricumpensa si volenu aumentà sta categuria particulare di articuli quì nantu à Habré.

Qualcosa cum'è questu. Spergu chì era informativu.

A lista di l'articuli hè stata longa, bè, hè probabilmente per u megliu. Felice lettura à tutti.

Source: www.habr.com

Add a comment