Habrastatistics: giunsa pagkinabuhi ni Habr nga walay mga geektimes

Uy Habr.

Kini nga artikulo usa ka lohikal nga pagpadayon sa rating Ang labing kaayo nga mga artikulo sa Habr alang sa 2018. Ug bisan kung wala pa matapos ang tuig, apan ingon sa nahibal-an nimo, adunay mga pagbag-o sa mga lagda sa ting-init, mao nga nahimo’g makapaikag nga tan-awon kung nakaapekto ba kini sa bisan unsang butang.

Habrastatistics: giunsa pagkinabuhi ni Habr nga walay mga geektimes

Dugang pa sa aktuwal nga estadistika, aduna usay gi-update nga rating sa mga artikulo, ingon man pipila ka tinubdan alang niadtong kinsa interesado kon giunsa kini pagtrabaho.

Alang sa mga interesado sa nahitabo, nagpadayon ubos sa pagputol. Kadtong interesado sa usa ka mas detalyado nga pagtuki sa mga seksyon sa site mahimo usab nga tan-awon sunod nga bahin.

Raw data

Kini nga rating dili opisyal, ug wala akoy datos sa insider. Ingon nga kini dali nga makita pinaagi sa pagtan-aw sa address bar sa browser, ang tanan nga mga artikulo sa Habré adunay padayon nga pag-numero. Unya kini usa ka butang sa teknik, sa usa ka siklo gibasa namon ang tanan nga mga artikulo sa usa ka laray (sa usa ka hilo ug adunay mga paghunong aron dili ma-load ang server). Ang mga kantidad sa ilang kaugalingon nakuha sa usa ka yano nga parser sa Python (adunay mga gigikanan dinhi) ug gitipigan sa usa ka csv file sama niini:

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

Pagproseso

Para sa pag-parse, atong gamiton ang Python, Pandas ug Matplotlib. Kadtong dili interesado sa estadistika mahimong laktawan kini nga bahin ug diretso sa mga artikulo.

Una kinahanglan nimo nga i-load ang dataset sa memorya ug pilia ang datos alang sa gusto nga tuig.

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)

Mogawas nga karong tuiga (bisan wala pa kini matapos) sa panahon sa pagsulat, 12715 ka mga artikulo ang napatik. Alang sa pagtandi, alang sa tibuok 2018 - 15904. Sa kinatibuk-an, daghan - kini mahitungod sa 43 nga mga artikulo kada adlaw (ug kini adunay positibo nga rating, pila ka mga artikulo ang na-load sa kinatibuk-an nga nahimong negatibo o natangtang, ang usa makatag-an lamang o halos mabanabana pinaagi sa pagkawala sa mga identifier).

Pilia ang gikinahanglan nga mga natad gikan sa dataset. Ingon mga sukatan, among gamiton ang gidaghanon sa mga pagtan-aw, mga komento, mga kantidad sa rating ug ang gidaghanon sa mga bookmark.

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

Karon ang datos gidugang sa dataset ug magamit na nato kini. Atong grupoon ang datos sa mga adlaw ug kuhaon ang kasagaran nga mga kantidad.

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

Karon ang makalingaw nga bahin, mahimo natong tan-awon ang mga graph.

Atong tan-awon ang gidaghanon sa mga publikasyon sa Habré sa 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()

Makaiikag ang resulta. Sama sa imong nakita, ang Habr gamay nga "sausage" sa tuig. Wala ko kabalo sa rason.

Habrastatistics: giunsa pagkinabuhi ni Habr nga walay mga geektimes

Alang sa pagtandi, ang 2018 tan-awon nga medyo "smoother":

Habrastatistics: giunsa pagkinabuhi ni Habr nga walay mga geektimes

Sa kinatibuk-an, wala akoy nakita nga bisan unsang grabe nga pagkunhod sa gidaghanon sa gipatik nga mga artikulo sa 2019 sa tsart. Dugang pa, sa kasukwahi, kini daw mitubo bisan gamay sukad sa ting-init.

Apan ang sunod nga duha ka mga graph mas makapaguol kanako.

Average nga pagtan-aw matag artikulo:

Habrastatistics: giunsa pagkinabuhi ni Habr nga walay mga geektimes

Average nga rating kada artikulo:

Habrastatistics: giunsa pagkinabuhi ni Habr nga walay mga geektimes

Sama sa imong nakita, ang kasagaran nga gidaghanon sa mga pagtan-aw sa tuig gamay nga pagkunhod. Mahimo kini nga ipasabut sa kamatuoran nga ang mga bag-ong artikulo wala pa ma-indeks sa mga search engine, ug dili kini kanunay nga makit-an. Apan ang pagkunhod sa kasagaran nga rating matag artikulo mas dili masabtan. Ang pagbati mao nga ang mga magbabasa wala’y oras sa pagtan-aw sa daghang mga artikulo o wala magtagad sa mga rating. Gikan sa punto sa panglantaw sa tagsulat sa pagdasig nga programa, kini nga uso mao ang kaayo unpleasant.

Pinaagi sa dalan, dili kini ang kaso sa 2018, ug ang iskedyul labi pa o dili kaayo parehas.

Habrastatistics: giunsa pagkinabuhi ni Habr nga walay mga geektimes

Sa kinatibuk-an, ang mga tag-iya sa kapanguhaan adunay butang nga hunahunaon.

Pero dili ta maghisgot ug makapaguol nga mga butang. Sa kinatibuk-an, makaingon kita nga si Habr "naluwas" sa mga pagbag-o sa ting-init nga malampuson, ug ang gidaghanon sa mga artikulo sa site wala mokunhod.

Rating

Karon sa tinuod, ang rating. Congratulations sa mga nakaapil niini. Tugoti ako nga pahinumdoman ka pag-usab nga ang rating dili opisyal, tingali nakalimtan nako ang usa ka butang, ug kung ang pipila ka artikulo kinahanglan nga ania dinhi, apan dili kini, isulat, idugang ko kini nga mano-mano. Ingon usa ka rating, gigamit nako ang mga kalkulado nga sukatan, nga sa akong hunahuna nahimo’g makapaikag.

Nanguna nga mga artikulo sa gidaghanon sa mga pagtan-aw

Nanguna nga mga artikulo pinaagi sa ratio sa rating-to-view

Nanguna nga mga artikulo pinaagi sa ratio sa mga komento sa pagtan-aw

Pinakataas nga labing kontrobersyal nga mga artikulo

Nanguna nga mga artikulo pinaagi sa rating

Nanguna nga mga artikulo sa gidaghanon sa mga bookmark

Ibabaw pinaagi sa mga bookmark sa ratio sa pagtan-aw

Nanguna nga mga artikulo sa gidaghanon sa mga komento

Ug sa katapusan, ang katapusan Antitop sa gidaghanon sa mga dili gusto

Uff. Naa pa koy pipila ka mas makapaikag nga mga seleksyon, apan dili ko mabalaka sa mga magbabasa.

konklusyon

Sa paghimo sa rating, akong gihatagan ug pagtagad ang duha ka punto nga morag makapaikag.

Una, pagkahuman sa tanan, 60% sa mga nanguna mga artikulo sa genre nga "geektimes". Kung adunay mas gamay kanila sa sunod tuig, ug kung unsa ang hitsura ni Habr kung wala’y mga artikulo bahin sa beer, wanang, tambal, ug uban pa - wala ako kahibalo. Sigurado, ang mga magbabasa adunay makalimtan. Tan-awon nato.

Ikaduha, ang tumoy sa bookmark nahimo nga wala damha nga taas nga kalidad. Kini mao ang psychologically masabtan, magbabasa mahimong dili pagtagad sa rating, ug kon ang artikulo kinahanglanon, unya kini idugang sa mga bookmark. Ug ania ra ang pinakadako nga konsentrasyon sa mapuslanon ug seryoso nga mga artikulo. Sa akong hunahuna ang mga tag-iya sa site kinahanglan nga maghunahuna bahin sa koneksyon tali sa gidaghanon sa mga bookmark ug sa reward nga programa kung gusto nila nga madugangan kining partikular nga kategorya sa mga artikulo dinhi sa Habré.

Usa ka butang nga sama niini. Hinaot nga informative kini.

Ang lista sa mga artikulo nahimo nga taas, maayo, kini tingali alang sa labing kaayo. Happy reading sa tanan.

Source: www.habr.com

Idugang sa usa ka comment