Aanbevolen producten in de Pricewatch

Door ACM op vrijdag 25 juni 2010 21:25 - Reacties (8)
Categorie: Pricewatch, Views: 5.106

In februari introduceerden we vergelijkbare producten. Door de specificaties van producten in een categorie te vergelijken kunnen we de 'euclidische afstand' tussen producten bepalen.
Vervolgens pakken we daar de beste matches uit en laten hetzelfde algoritme los op de recente bezoekersinteresse in de producten. Het idee daarachter is tenslotte dat bezoekers, die een bepaald type product zoeken, meerdere vergelijkbare producten bezoeken. En in de praktijk klopt dat ook :)

Wel bleek de afgelopen tijd dat er nogal zwaar werd gefocused op onbenullige specificaties. De specificaties die bovendien ook nog het vaakst incompleet of inconsistent ingevuld waren. Daar hebben we de afgelopen tijd nog wat aan getuned. De telefoons zijn daarbij een mooi voorbeeld omdat ze erg veel specificaties en filters kennen. Voorheen zag je allerlei telefoons waarvan het totaal niet duidelijk was waarom ze er nou eigenlijk bij stonden, terwijl belangrijke aspecten - zoals de schermgrootte, het type scherm en het OS - nauwelijks meespeelden. Nu zie je telefoons die echt behoorlijk goed vergelijkbaar zijn. Uiteraard hopen we zo de bezoeker nog beter door het doolhof van de productkeuzes te kunnen helpen.

Hetzelfde algoritme bleek ook toepasbaar op los bezoekersgedrag. Op die manier kunnen we van een individuele bezoeker proberen wat producten aan te bieden waar hij mogelijk interesse in heeft. We weten tenslotte wat hij zoal bekeken heeft en wat anderen, die diezelfde producten ook bekeken, bekeken hebben.
Als je bijvoorbeeld geintereseerd bent in de Samsung Galaxy S, HTC Desire en Google Nexus One. Dan zal het er op de pricewatch-index ongeveer zo uit kunnen zien:
Aanbevolen producten


Ik kan me goed voorstellen dat anderen ook de zilveren Desire, iPhone 4 en HTC Wildfire hebben bekeken en, inderdaad, ik heb ze nog niet bekeken. Uiteraard verschilt het gedrag met andere producten. Het is sowieso maar net hoe populair de producten zijn die je bekijkt en wat voor willekeurig gedrag bezoekers ermee hebben.

Als je bijvoorbeeld een populair fototoestel en een nas-oplossing bekijkt, ziet het er ongeveer zo uit:
Aanbevolen producten, 2e voorbeeld


Mocht je het zelf willen bekijken, hou er dan rekening mee dat er gebruik wordt gemaakt van je sessie. Oftewel, als je veel verschillende producten bekijkt zal er vanzelf een chaos ontstaan die zich vooral richt op de populairste producten (je kan uiteraard een andere browser starten om een schone sessie te krijgen). Verder kijken we voorlopig alleen naar heel recent bezoekgedrag, de afgelopen 24 uur. Hoewel ik wel verwacht dat we dat nog een stukje willen oprekken is het niet bedoeling dat we je met maanden aan bezoekgedrag blijven confronteren. Om die reden krijg je ook geen producten te zien die je reeds zelf bezocht hebt, het bestaan daarvan weet je tenslotte al.
Overigens zit er een vertraging van maximaal 5 minuten in de weergave, het is vrij kostbaar om dit helemaal on-the-fly uit te rekenen, dus een groot deel van het voorwerk wordt elke vijf minuten gecached :)
En als laatste, als je nog niks bezocht hebt, krijg je toch resultaten te zien, dan krijg je domweg populaire producten te zien, net als het blokje op de frontpage. Dit zijn tenslotte de producten waarvan we weten dat veel andere bezoekers er in geinteresseerd waren, dus deze hebben dan de grootste kans om de interesse van de bezoeker te wekken.

Ik hoor graag jullie mening over de werking en verbeterpunten van deze nieuwe functionaliteit. Echter zit ik niet zo te wachten op allerlei discussies over privacy, door de korte periode waarover we de hiervoor gebruikte gegevens bewaren zie ik geen reden je daar heel erg zorgen om te maken. Voorts worden de gegevens anoniem en enkel in massaverwerking gebruikt, de individuele gegevens gebruiken we slechts alleen om het lijstje voor de individu die te pagina bekijkt te genereren. Dus ik hoop dat we dat aspect bij deze kunnen laten voor wat het is :)

Volgende: Optimizing applications and why sampling profilers for java fail 11-'10 Optimizing applications and why sampling profilers for java fail
Volgende: T.net Browserstatsistieken 2009-2010 06-'10 T.net Browserstatsistieken 2009-2010

Reacties


Door Tweakers user analog_, vrijdag 25 juni 2010 21:56

Leuk dat er wat meer wiskundige algoritmes achter tweakers zitten inmiddels. Vaak is dat het een stap vooruit naar een website die meer meedenkt en de gebruiker bedient ipv. andersom. (multidimensionale vector space met per product-spec een scale waarde?)

[Reactie gewijzigd op vrijdag 25 juni 2010 21:58]


Door Tweakers user Krisp, vrijdag 25 juni 2010 22:52

Grappig dat je stelt dat schermgrootte, type scherm en OS belangrijk zijn. Die eerste twee vind ik niet belangrijk en daarmee wordt direct onrecht gedaan aan mijn voorkeur. ;)

Wellicht is het goed om na te denken om belangrijke eigenschappen te filteren uit de pagina's die de gebruiker bezoekt. Als een gebruiker alleen Android toestellen bekijkt, kun je er er vanuit gaan dat een gebruiker niet geÔnteresseerd is in een Symbian toestel. Daar bovenop kunnen ook de eigenschappen van de zoekresultaten komen. Als een gebruiker in zijn zoekeisen de aanwezigheid van een GPS als eis stelt, heeft het geen zin om een apparaat zonder GPS neer te zetten.

Door Tweakers user swtimmer, vrijdag 25 juni 2010 22:57

Ik mis alleen nog de %-en zoals bij Amazon :-)

Door Tweakers user ACM, vrijdag 25 juni 2010 23:02

Krisp schreef op vrijdag 25 juni 2010 @ 22:52:
Grappig dat je stelt dat schermgrootte, type scherm en OS belangrijk zijn. Die eerste twee vind ik niet belangrijk en daarmee wordt direct onrecht gedaan aan mijn voorkeur. ;)
Ze zijn, waarschijnlijk zelfs in jouw beleving, meer belangrijk dan de accuduur (is nogal willekeurig) en of er agenda-functionaliteit (hebben ze bijna allemaal) op zit. Met type scherm bedoel ik overigens wel of geen touchscreen :)
Wellicht is het goed om na te denken om belangrijke eigenschappen te filteren uit de pagina's die de gebruiker bezoekt. Als een gebruiker alleen Android toestellen bekijkt, kun je er er vanuit gaan dat een gebruiker niet geÔnteresseerd is in een Symbian toestel. Daar bovenop kunnen ook de eigenschappen van de zoekresultaten komen. Als een gebruiker in zijn zoekeisen de aanwezigheid van een GPS als eis stelt, heeft het geen zin om een apparaat zonder GPS neer te zetten.
Bij het filteren in een categorie wordt sowieso niks met deze relaties gedaan, dus als je daar aan het orienteren bent krijg je enkel producten die voldoen aan wat je zojuist gefilterd hebt. Het proberen te begrijpen wat een gebruiker allemaal probeerde a.d.h.v. de filters is - iig nu - een stap te ver, het moet tenslotte ook maak- en beheersbaar blijven voor ons en zinvol voor de gebruiker.

Door Tweakers user HyperBart, zaterdag 26 juni 2010 01:55

Ik vind het nogal raar dat je aanbevolen producten neemt, maar dan minus diegene die je al bekeken hebt, ik zou dan graag iedere keer dezelfde selectie willen voorgeschoteld krijgen die populair is. Als ik dus die GSM's bekijk met die voorkeuren van vorige producten, dan zie ik ze bij mijn volgende keer dat ik zoek niet meer bij aanbevolen producten? Vreemd...

Is het misschien een idee om van "aanbevolen producten" ook een link te maken zodat je naar een lijst gaat met de aanbevolen producten ipv die 3 alleen?

Door Tweakers user ACM, zaterdag 26 juni 2010 08:48

HyperBart schreef op zaterdag 26 juni 2010 @ 01:55:
Ik vind het nogal raar dat je aanbevolen producten neemt, maar dan minus diegene die je al bekeken hebt, ik zou dan graag iedere keer dezelfde selectie willen voorgeschoteld krijgen die populair is. Als ik dus die GSM's bekijk met die voorkeuren van vorige producten, dan zie ik ze bij mijn volgende keer dat ik zoek niet meer bij aanbevolen producten? Vreemd...
Hoezo is dat vreemd? Die producten heb je al bekeken. Maar belangrijker nog... de producten die het beste bij je bezoekgedrag passen, zijn natuurlijk de producten die je reeds bekeken hebt :) Dus het is vrij lastig extra producten weer te geven als we die zouden toelaten.
Is het misschien een idee om van "aanbevolen producten" ook een link te maken zodat je naar een lijst gaat met de aanbevolen producten ipv die 3 alleen?
Zoiets vroeg een collega idd ook al. En het is wel een interessant idee, dan kunnen we er een stuk of 25-50 tonen inderdaad, wellicht zelfs aangevuld met welke producten je reeds bezocht hebt, zodat je beter ziet waarom die anderen erbij verzonnen worden.

Door Tweakers user swtimmer, zaterdag 26 juni 2010 14:02

ACM schreef op zaterdag 26 juni 2010 @ 08:48:
Zoiets vroeg een collega idd ook al. En het is wel een interessant idee, dan kunnen we er een stuk of 25-50 tonen inderdaad, wellicht zelfs aangevuld met welke producten je reeds bezocht hebt, zodat je beter ziet waarom die anderen erbij verzonnen worden.
En dan zou je ook iets kunnen invoeren zoals LinkedIn heeft, dat je kan aangeven (een soort dislike) waarom die match niet bij jou past. Die wordt dan voortaan gefilterd wat fijn is voor de bezoeker. Maar zo'n optie bied voor Tweakers veel meer meerwaarde. Want aan de hand van de "dislikes" van bezoekers kan je je formule optimaliseren (of zelfs random verschillende voeren over verschillende populaties van Tweakers en zodoende onderling vergelijken welke de laagste dislike en hoogste click through rate heeft!).

Waarom is er eigenlijk gekozen voor euclidean distance en niet voor manhattan? Is het niet veel fijner om te weten wat iedere route richting het product qua distance heeft ipv een niet bestaande vogelvlucht afstand?

Door Tweakers user ACM, zaterdag 26 juni 2010 16:05

Er zijn meerdere distance-functies beschikbaar, in de documentatie die ik over het onderwerp las werd manhattan uberhaupt niet genoemd, we nog de pearson correlation. Bij die documentatie stond dat er uiteraard verschillen in resultaten zijn, maar dat de euclidian distance over het algemeen prima resultaten geeft om in ieder geval mee te beginnen.

Dus er is niet echt een bewuste keus uit allerlei beschikbare algoritmes genomen. Sowieso mis ik de wiskundige achtergrond om dergelijke keuzes uberhaupt afgewogen te kunnen nemen (dus als een wiskundige die al voor me neemt ;) ). Ik vraag me af of er veel verschillen zullen zijn in de resultaten. Het lijkt me dat het vooral neerkomt op hoe je de specificaties/bezoeken omzet naar vectoren en in mindere mate op welke manier je dan daarna de verschillen tussen die vectoren bepaald.

Reageren is niet meer mogelijk