Habrastatistika: nola bizi den Habr geektimerik gabe

Kaixo Habr.

Artikulu hau ebaluazioaren jarraipen logikoa da 2018rako Habr artikulu onenak. Eta oraindik urtea amaitu ez den arren, dakizuenez, udan arauetan aldaketak egon ziren, horren arabera, interesgarria izan zen ikustea horrek zerbaiti eragiten zion.

Habrastatistika: nola bizi den Habr geektimerik gabe

Benetako estatistikez gain, artikuluen balorazio eguneratua emango da, baita iturburu-koderen bat ere nola funtzionatzen duen interesa dutenentzat.

Gertatutakoan interesa dutenentzat, jarraipena mozketan dago. Gunearen atalen azterketa zehatzago batean interesa dutenek ere begiratu dezakete hurrengo zatia.

Datu gordinak

Balorazio hau ez-ofiziala da, eta ez daukat inongo informaziorik. Zure nabigatzailearen helbide-barrari begiratuta erraz ikus dezakezun bezala, Habré-ko artikulu guztiek etengabeko zenbakia dute. Gero teknika kontua da, artikulu guztiak jarraian irakurtzen ditugu ziklo batean (hari batean eta etenekin, zerbitzaria ez kargatzeko). Balioak beraiek Python-en analizatzaile soil baten bidez lortu zituzten (iturburuak eskuragarri daude Hemen) eta csv fitxategi batean gorde zen honelako zerbait:

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

Prozesatzeko

Analisirako Python, Pandas eta Matplotlib erabiliko ditugu. Estatistikak interesatzen ez direnek zati hau saltatu eta zuzenean artikuluetara jo dezakete.

Lehenik eta behin datu-multzoa memorian kargatu eta nahi duzun urteko datuak hautatu behar dituzu.

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)

Ematen du aurten (oraindik amaitu gabe dagoen arren) idazteko unean 12715 artikulu argitaratu direla. Konparazio baterako, 2018 osoa - 15904. Oro har, asko - eguneko 43 artikulu inguru da (eta hau balorazio positiboarekin bakarrik; zenbat artikulu deskargatu diren guztira negatiboa izan edo ezabatu zen, asma daiteke soilik. edo identifikatzaileen arteko hutsuneetatik gutxi gorabehera kalkulatzea).

Hautatu ditzagun datu multzotik beharrezko eremuak. Neurri gisa, ikustaldi kopurua, iruzkinak, balorazio-balioak eta laster-marken kopurua erabiliko dugu.

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

Orain datuak datu multzora gehitu dira eta erabil ditzakegu. Talde ditzagun datuak egunaren arabera eta har ditzagun batez besteko balioak.

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

Orain parte interesgarria da grafikoei begiratu diezaiekegula.

Ikus dezagun 2019an Habré-ri buruzko argitalpen kopurua.

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

Emaitza interesgarria da. Ikusten denez, Habr “txistorra” txiki bat izan da urtean zehar. Ez dakit arrazoia.

Habrastatistika: nola bizi den Habr geektimerik gabe

Konparazio baterako, 2018a apur bat leunagoa dirudi:

Habrastatistika: nola bizi den Habr geektimerik gabe

Orokorrean, ez nuen grafikoan 2019an argitaratutako artikulu kopuruaren murrizketa drastikorik ikusi. Gainera, aitzitik, badirudi udatik apur bat areagotu dela.

Baina hurrengo bi grafikoek pixka bat gehiago deprimitzen naute.

Artikulu bakoitzeko batez besteko ikustaldi kopurua:

Habrastatistika: nola bizi den Habr geektimerik gabe

Artikulu bakoitzeko batez besteko balorazioa:

Habrastatistika: nola bizi den Habr geektimerik gabe

Ikus dezakezunez, batez besteko ikustaldi kopurua pixka bat gutxitzen da urtean zehar. Hori azal daiteke artikulu berriak oraindik bilatzaileak ez direla indexatu, eta ez direla hain maiz aurkitzen. Baina artikulu bakoitzeko batez besteko balorazioen beherakada ulergaitzagoa da. Sentsazioa da irakurleek ez dutela astirik hainbeste artikulu ikusteko edo ez dietela balorazioak erreparatzen. Egileen sari programaren ikuspuntutik, joera hau oso desatsegina da.

Bide batez, 2018an ez zen halakorik gertatu, eta egutegia gutxi gorabehera parekatua da.

Habrastatistika: nola bizi den Habr geektimerik gabe

Oro har, baliabideen jabeek badute zer pentsatu.

Baina ez gaitezen hitz egin gauza tristeez. Orokorrean, Habr-ek udako aldaketetatik nahiko arrakastatsu "bizirik" egin zuela esan dezakegu, eta webguneko artikulu kopurua ez zen gutxitu.

Rating

Orain, egia esan, balorazioa. Zorionak bertan sartu zirenei. Gogorarazten dizut berriro ere balorazioa ez-ofiziala dela, agian zerbait galdu dudala, eta artikuluren bat behin betiko hemen egon beharko balitz, baina ez, idatzi, eskuz gehituko dut. Balorazio gisa, kalkulatutako neurketak erabiltzen ditut, eta nire ustez nahiko interesgarriak izan dira.

Artikulu nagusiak ikustaldi kopuruaren arabera

Artikulu nagusiak balorazio eta ikustaldi ratioaren arabera

Artikulu nagusiak iruzkinen eta ikustaldi ratioaren arabera

Artikulu polemikoenak

Artikulu nagusiak balorazioen arabera

Artikulu nagusiak laster-marka kopuruaren arabera

Laster-marken eta ikustaldien arteko erlazioaren arabera

Artikulu nagusiak iruzkin kopuruaren arabera

Eta azkenik, azkena Antitop ez gustatu izanaren kopuruaren arabera

Uf. Aukera interesgarri batzuk ditut, baina ez ditut irakurleak aspertuko.

Ondorioa

Balorazioa egitean, interesgarriak iruditu zitzaizkidan bi punturi erreparatu diet.

Lehenik eta behin, goikoen %60 "geektimes" generoko artikuluak dira. Datorren urtean gutxiago izango diren, eta zer itxura izango duen Habr garagardoari, espazioari, sendagaiari eta abarri buruzko artikulurik gabe, ez dakit. Zalantzarik gabe, irakurleek zerbait galduko dute. Ikus dezagun.

Bigarrenik, laster-markak ustekabeko kalitate handikoak izan ziren. Hau psikologikoki ulergarria da; irakurleek balorazioak ez diote kasurik egingo, baina artikuluan bada behar da, gero zure laster-marketan gehituko da. Eta horra hain zuzen artikulu erabilgarria eta serioen kontzentraziorik handiena. Uste dut gunearen jabeek nolabait laster-marken eta sari-programaren arteko loturan pentsatu beharko luketela, hemen Habré-n artikulu-kategoria zehatz hau handitu nahi badute.

Honelako zerbait. Informazioa izatea espero dut.

Artikuluen zerrenda luzea izan zen, ba, seguruenik onerako da. Irakurketa zoriontsua guztioi.

Iturria: www.habr.com

Gehitu iruzkin berria