Prijzen van (basis) consumentenproducten: Een analyse en visualisatie

Prijzen van consumentenproducten analyseren (in R)

Het Centraal Bureau voor de Statistiek heeft een leuke dataset samengesteld die de prijsontwikkeling van consumentenproducten bijhoudt ( Link naar het bestand ). In dit databestand wordt per jaar, vanaf het jaar 2000 (tot 2014), de gemiddelde prijs van een bepaald consumentenproduct bijgehouden. Dit bestand is in verschillende formaten te downloaden, voor dit artikel is het in .csv gedownload. Voor deze dataset heb ik een pagina gemaakt op mijn website die het makkelijk maakt om deze data te bekijken en analyseren door middel van o.a. interactieve grafieken en tabellen ( Link naar de pagina ). Ook laat ik in dit artikel zien hoe je met R en in een paar visualisaties snel een goed beeld kan krijgen van de prijsontwikkeling van deze consumentenproducten. Hiervoor laat ik het volgende zien:

  • Basis statistische functies gebruiken om de dataset te analyseren;
  • Twee wordclouds maken waarin je kunt zien welke producten het meest in prijs zijn gestegen en gedaald;
  • Introductie tot een webpagina die ik heb gemaakt waarin de prijsontwikkeling van consumentenproducten makkelijk geanalyseerd kan worden.

Basic statistische functies om prijzen van consumentenproducten te analyseren

Om de dataset te analyseren gebruik ik natuurlijk de allerbeste (samen met Excel) analyse en BI tool: RStudio. Het kan zijn dat je voor de structuur even wat opschoning moet doen in Excel, uiteindelijk wil je alle producten als kolommen hebben en de prijzen per jaar als rijen.

Voorbeeld_Consumentenprijzentabel

Met een aantal basiscalculaties kun je de data analyseren en nuttige, maar simpele, inzichten krijgen zoals bijvoorbeeld gemiddelden, prijsstijgingen per jaar, correlaties en simpele voorspellingsmodellen (regressie analyse.)

Voorbeeld_basisstatistieken_Consumentenprijzen

Nu is het leuker en efficiënter om visualisaties te maken die in één enkel opzicht veel meer vertellen dan pagina’s vol met analyses en inzichten. Daar gaan we hier wordclouds voor gebruiken.

Wordclouds maken om de prijsontwikkeling van consumentenproducten makkelijk en duidelijk weer te geven

We willen een wordcloud maken waar in we als eerste inzicht kunnen zien welke producten over de jaren heen zijn gestegen, en daarbij welke producten sneller zijn gestegen dan de ander. Daarnaast willen we een wordcloud maken die het tegenovergesteld laat zien, prijzen van producten die over de jaren heen zijn gedaald.

Om gekleurde wordclouds te maken moeten de pakkage ‘wordcloud’ en ‘RColorBrewer’ geïnstalleerd worden. Als dat geïnstalleerd en geladen is moeten we een dataframe voorbereiden die de input wordt van de wordcloud. De functie wordcloud() in R neemt twee belangrijke parameters, de kolom met woorden en de kolom met de frequentie. Normaal gesproken wordt een wordcloud namelijk gemaakt om aan te tonen hoe vaak een woord voorkomt. In dit geval willen we een wordcloud hebben die de mate van stijging of daling van een product over de jaren heen laat zien.

Stijgt het ene product in centen en het andere product in tientallen euro’s per jaar. Daarom kunnen we geen absolute waarden nemen. Relatieve waarden lijkt de logische optie, maar dat is dezelfde berekening over absolute waarden maar dan in procenten. Daarom kies ik ervoor om voor samenhang te kiezen: de correlatie tussen jaar en het product. Het jaar stijgt namelijk altijd met 1 per jaar, en wordt naast de prijsontwikkeling van het product gezet om te toetsen in hoeverre de prijs meegaat in de stijging per jaar.

Door de volgende stappen kunnen we de wordclouds maken die we willen:

Eerst maken we voor de zekerheid alle kolommen in de dataset/data frame numeriek:

Voorbewerking Dataframe

Daarna worden de volgende bewerkingen gedaan: Eerst wordt er een matrix gemaakt die een correlatie maken tussen Jaar en alle andere producten. Daarna worden de namen van deze kolommen opgeslagen en bewerkt dat deze waarden uiteindelijk naast de producten staan. Hiervoor wordt twee keer het de dataframe getild (kolommen worden rijen en rijen worden kolommen). Daarbij worden de correlaties met 100 vermenigvuldigd zodat alle waarden van onder de 1 naar waarden boven de 1 verhoogt worden. Uiteindelijk is er een dataframe gemaakt met twee kolommen: de namen van de producten in kolom 1, en de waarden in kolom twee. Ten slotte wordt de wordcloud gemaakt met de namen en frequenties als parameters wordcloud(product,frequentie).

Wordcloud maken

Dit resulteert in de volgende wordcloud:

WordcloudStijgendePrijzen

Voor een wordcloud met dalende prijzen doen we vrijwel hetzelfde maar gebruiken we andere namen en vermenigvuldigen we met -100 (zo worden alle negatieve waarden positief en de positieve negatief zodat de negatieve waarden groter in de wordcloud aangegeven worden). Ook veranderen we het kleurpalette in de wordcloud.

Wordcloud dalend

Deze wordcloud komt tevoorschijn:

WordcloudDalenPrijzen

Een webpagina waarmee de prijsontwikkeling van consumentenproducten makkelijk, goed en snel kunt analyseren

Wordclouds zijn slechts een manier om data uit de consumentenprijzen dataset te visualiseren. Over deze dataset heb ik een pagina gemaakt (link) waarmee je met o.a. interactieve grafieken en tabellen de ontwikkeling van consumentenprijzen kunt analyseren.

VoorbeeldConsumentenApp

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit /  Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit /  Bijwerken )

Verbinden met %s

Deze site gebruikt Akismet om spam te bestrijden. Ontdek hoe de data van je reactie verwerkt wordt.

%d bloggers liken dit: