Graphing Purchases

I love taking pictures and although I am not that good yet, the most addicting part of photography is the gear. The reason is addicting is because a good piece of glass can make all the difference in the world regardless of how bad of a photographer you might be. I only have a Canon Rebel with three lenses: the kit lens (18-55) which sucks except when shooting wide, a 50mm 1.4 and a 28-135mm (which I’ll be selling soon) and a 70-200 f/4L in transit from MN. This last lens I purchased (which I have not received yet), I did via a Buy and Sell forum at fredmiranda.com (FM) which I hesitated at first because the seller refused to accept Paypal and would only take USPS Money Order, but the price was right and I decided to give it a try. Anyways, if you are not familiar with this forum and you are into photography, you should check it out. The people are great, knowledgeable and a lot of them know each other pretty well and more importantly you can find good and inexpensive gear. This FM forum is not specifically designed for buying and selling, hence making me realize why does it work so well without all of the eBay infrastructure. That I think, it’s the most interesting aspect of the forum. The forum (you’ll need to register) has a thread called “All Positive and Neutral Feedback” where buyers and sellers go report their positive/neutral feedback for a specific transaction. This of course, was the first place I went to find out more about the user selling me the lens. I searched for the username and found out about all the transactions this person was involved in the past. This seems to be good enough for most, but I think we could do better. For example, what if the person faked a few transactions with other users? While I waited for my lens, I decided to write a quick python script that parsed the entire forum thread (1,030 pages with 15 posts each in <2 years) and created a graph all of transactions. Parsing most of the threads was easy, the hard part was finding the username in the post. The first posting gives a little template on how you are supposed to use the "username: x" format, but not everyone follows it. Anyways, I tried a couple naive methods and I've was able to get very far. I will be creating an RDF dump of the information and make it available for tools in the future (maybe some good SPARQL demos might come out of this one). In the meantime, I decided to try some eye candy first and nothing looks better than a TouchGraph applet. This is not complete, but I’m not sure how much time I’ll devote to it either. The dataset is quite large to code directly into the applet, so the applet only has a small subset of the data and I would have to do some more work for it to lazily load all of the transactions. I know some facilities to find a specific username would be nice, plus a “does path exist between two users?” feature would be cool as well. Anyways, let me know if you have any interested ideas to do with the data and I’ll find the time to polish it up. Finally, here’s the link to the FredMiranda purchasing graph. Every node in the graph is a username and every edge corresponds to a transaction with the user connected to by the edge. I currently do not have a directed edge to show who bought or sold because that’s not necessarily easy to parse from the free text part of the post. I’d love some suggestions for dealing with this and especially with things like usernames containing spaces and unnecessary punctuation like “Mr. Smith…”, missing dashes, etc. I’m thinking of suggesting/designing a microformat for photographers to use when posting their feedback so I can parse it out more easily and give them more valuable information. TODO: Run TagRank-like on the graph to figure out who are the most trusted sellers in the forum.

Comments are closed

Comments are currently closed on this entry.

Comments are closed.


About

  • I’m married and father of three.
  • I’m a Christian and worship at CBC.
  • I co-founded Performable.
  • I’m a java, python, javascript hacker.
  • Here’s my FOAF file (and URI).
  • I’m an amateur photographer.
  • I work on the Web.
  • I participate in Open Source software development (Roller, Abdera, RDFLib, WordPress).
  • You may contact me (email or jabber/gtalk) at .

Pages