The BLP Blog (BLPB?)

Magic 2011 Premieres

Tue 20 July 2010

The pricelists were updated with Magic 2011 yesterday, and the charts here at Black Lotus Project are now filled with cards from the new set. As usually happens with new sets, the most popular cards chart is being taken over by Magic 2011 and will stay that way for a few weeks as the value of cards like the new Titans is sorted out for Standard.

The reprint of Baneslayer Angel has already worked to drive the value of her first appearance in M10 down by more than 30% from her peak average price of $44 to a much more affordable $32. Her M11 version is already 10% cheaper than that at around $29.

The new Titans are some of the most popular and the most valuable cards in the new set right out of the gate. Of them all, Primeval Titan has a much higher volume of 291 than the second most popular Grave Titan, which has 20% fewer auctions at 231 volume. Primeval Titan is also the second most valuable card in the set right now with a nearly $28 price tag, sitting behind Baneslayer Angel by only a 3% margin.

0 comments

Rise of the Eldrazi Makes its Debut

Sun 25 April 2010

The guys at Magic Traders have been quick to update their lists recently and added Rise of the Eldrazi right as it went on sale. Pricing data for the new set should be filling in here on Black Lotus Project.

Jace still rules the popular chart with around 250 more volume than the next most popular card. A few Eldrazi cards have already made their way into the popular chart, and I imagine they will move up quickly as players crack more packs.

0 comments

Worldwake Hits the Charts

Sat 27 March 2010

Magic Traders added Worldwake to their pricelists a few days ago, which means Black Lotus Project is now getting prices for the set. Worldwake has not surprisingly taken over the most popular cards chart, and it will likely stay that way for a while.

0 comments

Internationalizing the Price Ticker

Thu 11 February 2010

The price ticker has been a big hit since it debuted on Quiet Speculation nearly nine months ago. It has slowly gained features as other Magic bloggers have found the ticker and wanted to customize it for their sites. Last week a player from the European Union asked about getting the prices in Euros, and I thought that was a great idea.

$ £ € ¥

If the currency is set on the ticker, Black Lotus Project fetches the current exchange rate for that currency from Google/Citibank and converts all of the values before sending them to you. If the currency has a unique and commonly used symbol, the JavaScript will display it instead of the three-letter code.

Preview:

Loading...

Code:

<div id="ticker_currency">Loading...</div>
<script type="text/javascript"
    src="http://media.blacklotusproject.com/cards_media/script/jsapi.min.js"></script>
<script type="text/javascript">
    var ticker = new blproject.PriceTicker();
    ticker.currency="GBP";
    ticker.continuous = true;
    ticker.draw('ticker_currency');
</script>

New Ticker Options:

currency
Three-letter currency code to which all values should be converted

2 comments

Awaiting Worldwake

Wed 10 February 2010

Worldwake is open to the public, and I am anxious to start graphing its prices. Once Magic Traders adds the new set to their index, Black Lotus Project will start pulling in the data. Seeing the Zendikar sac lands at the top of the most popular list isn't too exciting anymore.

I appreciate the feedback and requests people have been emailing me and the comments people have been leaving on the site. I am interested in how other players are using the site and where the price ticker has found its way. If you've got suggestions, drop me a line.

0 comments

Weekly vs. Monthly Prices, Which to Use?

Thu 29 October 2009

Black Lotus Project relies on the pricelists that Magic Traders publishes every day for the pricing data shown throughout the site. They collect data from eBay and calculate the "price" by averaging the selling price of all auctions for a given card. Cards sold infrequently like Black Lotus or Time Vault have highly variable prices because there are so few auctions used to calculate the average. To compensate for the variability, Magic Traders publishes two versions of the physical Magic card pricelist: a monthly version and a weekly one.

The monthly pricelist uses prices from the past 30 days of auctions to calculate the price. Since prices for odler cards change slowly, this list gives an accurate price for cards that have been in print for a while like the two examples above. The weekly list often does not have enough data to show any price at all for cards that are sold infrequently.

The weekly pricelist uses prices from only the past 7 days of auctions to come up with its numbers. For newer cards and cards whose popularity can spike overnight like Grove of the Burnwillows, the weekly pricelist gives a far more accurate price than the monthly one can. The older values in the monthly list weigh down the average price, causing BLP to sometimes show a much lower price for a card than it should.

I am looking at an intelligent way to store and display the weekly versus monthly price for all cards so you can rely on BLP for current trading values. Cards will have separate graphs for the two pricelist types, and the daily graphs will likely use the weekly list instead of the current monthly one.

5 comments

Zendikar Has Arrived!

Tue 6 October 2009

Magic Traders added Zendikar to its pricelists yesterday, which means the data is flowing into BLP. Lotus Cobra is not surprisingly the highest valued card at the moment ringing in at nearly $25! We'll see in the coming weeks whether it truly can hold that high price tag.

Zendikar only has three entries in the top 15 highest sellers at the moment: Arid Mesa, Misty Rainforest, and Goblin Guide. However, that should slowly change as product makes it into more players' hands.

0 comments

Bring out the Artists

Wed 9 September 2009

I am fascinated with Magic card art, but I unfortunately remember only the names of some of the prominent artists from the first set of Magic I ever played, Revised. Guys like Greg Staples and Christopher Rush came up with some of the iconic, most recognizable artwork from the entire card game. Amy Weber drew the skeletons on one of my favorite pieces ever, Time Walk.

Card pages now link to their artists, and the artist pages contain lists of all artwork created by those artists. There are also some basic charts that should become more useful as I make more sense of the MOTL data. It will be interesting to see whether the popularity of the card artwork or even the artist can influence the value of a card in the long run.

3 comments

Expanding the Card URL

Mon 31 August 2009

I am interested in making the URLs at Black Lotus Project incredibly easy to understand. The URL for any given card used to use the 3-letter expansion code to denote the set. /3ED/Volcanic+Island/ lead to the Revised Volcanic Island, and /LEB/Time+Walk/ lead to the Beta Time Walk (LEB = Limited Edition Beta). You had to know the expansion code to get to the card.

I have expanded the card URLs to use the full set name, which should make it easier to navigate. I've also added linking from cards back up to their sets and an alphabetical listing of the cards in a set to make the site more navigable.

Linking to a card page on Black Lotus Project is as easy as pie. The cards section of the site is under "/cards/". After that, type in the set, something like "/cards/Fallen Empires" or "/cards/ice age". Then just put in the name of the card you want, maybe "/cards/ice age/necropotence" or "/cards/Fallen Empires/Goblin Grenade". I have actually found myself navigating sites with meaningful URLs by typing in the location bar rather than clicking through links.

0 comments

Adding Color to the Price Ticker

Thu 6 August 2009

Another developer requested custom colors for the price changes in the Price Ticker instead of the current drab green and red. That seemed like a cool idea that would allow the ticker to fit into any web page, so I added it to the API.

The ticker now has the options up_color and down_color. Setting one or both of those will set the inline text color of the prices that have gone up and down. I also added styles to the color spans, which lets you set the colors in a stylesheet rather than through JavaScript. I will prefix all Black Lotus Project styles with "blproject_" to prevent any clashing. The classes are "blproject_price_up" and "blproject_price_down". If you want to set the colors with those styles, you also need to set either up_color or down_color to "none" to prevent the ticker from adding inline colors.

Crazy Examples

Loading...
Loading...
Loading...

New Ticker Options

up_color
Text color for prices that have stayed even or gone up since yesterday. A value of "none" will disable all inline color styles. Default: "green".
down_color
Text color for prices that have gone down since yesterday. A value of "none" will disable all inline color styles. Default: "#A03".

New Ticker Styles

.blproject_price_up
Text color for prices that have stayed even or gone up since yesterday. Either up_color or down_color must be set to the string "none" on the ticker for this style to have effect.
.blproject_price_down
Text color for prices that have gone down since yesterday. Either up_color or down_color must be set to the string "none" on the ticker for this style to have effect.

0 comments

Magic 2010 in the Mix

Sat 1 August 2009

The guys at Magic Traders added Magic 2010 to their pricelists last night, which means Black Lotus Project now has some data to work with. Tenth Edition cards that were reprinted in M10 were getting odd values because M10 wasn't in the pricelist yet. Birds of Paradise, Twincast, Pithing Needle, and a few other cards were taking credit for sales that didn't belong to them.

A particularly curious card was Drowned from The Dark, which looks like it was taking the volume and pricing data for Drowned Catacomb from M10. There's no simple way to correct the bad data over the past two to three weeks, but I don't think it should cause any problems in the long run.

Check out the new most popular cards chart, which is dominated by Magic 2010 and likely will be for several weeks.

0 comments

Making the Magic Price Ticker Seamless

Tue 28 July 2009

The BLP Price Ticker is running strong, but it leaves a big gap on the screen when it reaches the end, waiting to wrap back to the right side. To fix that, I've added a new continuous option that wraps each card and its price rather than wait for the entire ticker to wrap. If you leave out the continuous option, the ticker will run like it always has. I've tested this puppy out in Firefox 3/3.5, Safari 4, IE7/8, and Chrome 2, but let me know if you see any weird behavior.

Preview:

Loading...

Code:

Magic 2010 Still Missing...

Magic Traders is still missing Magic 2010 in their pricelists. I'll get the new cards into Black Lotus Project as soon as the data starts flowing.

1 comment

No More Chart Prices Under $1 and Waiting on Magic 2010

Fri 17 July 2009

I tend to skim the BLP charts every day, and I noticed my eyes consistently skipping over any card with a value less than $1. There are plenty of essential cards worth less than $1, but the difference between a card being worth $0.75 and it being worth $0.95 is not exactly noteworthy.

All charts now filter any cards with prices less than $1. Cards will jump in and out of the charts if their values hover around $1, but I don't think that should be a big problem. This will also help with the problem of new sets first hitting eBay. Dealers and players alike throw every card from the new set up for auction, waiting to see which ones bring the highest bids. That causes the entire new set, including dozens of cards worth less than $1, to dominate the Most Popular Cards chart for several weeks. This change should help to keep all charts far more relevant than they were previously.

Magic 2010

Since BLP's data comes from Magic Online Trading League, BLP is at the mercy of their pricelists. As soon as Magic 2010 shows up on Magic Traders, BLP will have it too. I am interested to see how the values of some of the useful reprints will hold up. As of now, several have already taken steep nosedives. Pithing Needle, Twincast, and the planeswalkers have already seen big losses in anticipation of M10 going on public sale.

0 comments

Several Updates to the JSON API

Fri 17 July 2009

I made a few changes to the card price JSON API today and wanted to outline them here. I added all statistics that are available from Magic Trader's pricelists to the interface, which include price, high, low, change, average, and volume (which is called "raw number" in Magic Trader's lists). I calculate the percent change, so I have also made that available.

[
  {
    "volume": 13,
    "percent_change": "0.00",
    "name": "Lightning Bolt",
    "url": "http://blacklotusproject.com/cards/LEB/Lightning+Bolt/",
    "price": "8.66",
    "high": "15.00",
    "low": "0.01",
    "set_code": "LEB",
    "average": "8.40",
    "change": "0.00"
  }
]

The up attribute, which was a convenience value I added for the price ticker, is gone. I found strings can easily be coerced to numbers in JavaScript by simply multiplying by 1. "15.99" * 1 = 15.99

The volume attribute is a number, but all other number values will remain strings. Rather than dealing with rounding issues, the numbers will remain stringified. Just multiply by 1 if you want to compare any of the values as a number. prices[0]["change"] * 1 >= 0 will tell you whether the card went up in price today.

Price Ticker Updates

After learning how jQuery handles JSONP, I fixed the API so it can safely create as many price tickers on a single page as you like. Previously, tickers were using the same global method named jsonp, which essentially caused a race condition when putting multiple tickers on a single page. Like jQuery, each ticker now uses a unique identifier to insure tickers don't clash on their JSONP function names.

0 comments

Creating Custom Pricelists via the JSON API

Fri 17 July 2009

The JSON API has a new cards option, which is the first step in making the API customizable. The cards option is interpreted as an array of card names with optional set codes. If that option is set, the JSON API will return today's prices only for the cards in the list!

A call such as:

http://blacklotusproject.com/json/?cards=black+lotus

Would return a response like this:

[
  {
    "percent_change": "0.00",
    "name": "Black Lotus",
    "url": "http://blacklotusproject.com/cards/LEA/Black+Lotus/",
    "price": "1999.00",
    "up": true,
    "set_code": "LEA",
    "change": "0.00"
  },
  {
    "percent_change": "-4.07",
    "name": "Black Lotus",
    "url": "http://blacklotusproject.com/cards/LEB/Black+Lotus/",
    "price": "1052.89",
    "up": false,
    "set_code": "LEB",
    "change": "-44.71"
  },
  {
    "percent_change": "-1.54",
    "name": "Black Lotus",
    "url": "http://blacklotusproject.com/cards/2ED/Black+Lotus/",
    "price": "757.52",
    "up": false,
    "set_code": "2ED",
    "change": "-11.87",
  }
]

JSON Cards List Interface

The cards list has a few restrictions that try to keep the interface as simple as possible. If you aren't getting the responses you expect, check that your cards list follows these standards.

  • Card names are separated with the pipe character ("|").

    http://blacklotusproject.com/json/?cards=black+vise|time+spiral
  • Spaces in card names should either be escaped with a plus sign ("+") or with the HTML character code %20. Typing spaces into your browser's address bar will work just fine, but you can't copy/paste a URL with spaces in it or use it in code.

  • Card sets are specified by putting the card's expansion code, as defined in the "Expansion Code" column on Wikipedia's Magic: the Gathering sets page, in parentheses after the card's name. The API expects both parentheses to be present and will not recognize expansion codes outside parentheses.

    http://blacklotusproject.com/json/?cards=lightning+bolt+(3ed)
  • Cards with no set specified will return all versions of that card. If the card was only printed in a single set, only a single result for that card will be returned.

  • The JSON API fails silently but returns as many results as it can find. If you mistype a set on a single card within the list, all other cards in the list will still be returned. This might change in the future as the API becomes more complex.
  • JSON responses are returned with a MIME type of application/json, and Firefox's default action when seeing that type is to download the response. To view the JSON responses in Firefox, I recommend JSONView. I used it while testing the JSON API changes and found it hugely helpful.

Preview:

Loading...

Code:

The JavaScript ticker got a new cards option to go along with the update to the JSON API. It takes an array of card names with expansion codes if you need to get specific. Also the timeout option is actually called interval. I mistyped the name when I wrote the last post.

New Ticker Options:

cards
A list of full card names which may also contain expansion codes enclosed in parentheses. Card names are separated by the pipe character ("`|`").
interval
(Correct naming of timeout option) The time in milliseconds between each interval. Default is `40`.

0 comments

Magic Price Ticker and the BLP JSON API

Fri 17 July 2009

The guys at Quiet Speculation mentioned a self-updating stock ticker for Magic card prices as another cool feature they would like to see. In the spirit of BLP's stock-like price graphs, I thought the feature was a great fit.

The first iteration of the ticker is below! It requires JavaScript like the embeddable search bar I added a few days ago, but the ticker runs off BLP's new JSON API. The API is publicly accessible, but it's pretty basic at the moment. The API is available at http://blacklotusproject.com/json/ and returns today's top cards, their prices, and their changes from the previous day.

Sample response:

[
  {
    "percent_change": "0.26",
    "name": "Banefire",
    "url":
      "http://blacklotusproject.com/cards/CON/Banefire/",
    "price": "7.66",
    "up": true,
    "set_code": "CON",
    "change": "0.02"
  },
  {
    "percent_change": "-0.29",
    "name": "Nyxathid",
    "url":
      "http://blacklotusproject.com/cards/CON/Nyxathid/",
    "price": "3.38",
    "up": false,
    "set_code": "CON",
    "change": "-0.01"
  }
]

The interface supports JSONP through the jsonp attribute. A request to http://blacklotusproject.com/json/?jsonp=callback would return the data wrapped in a call to callback.

JSONP callback:

callback([obj, obj2, ...]);

Preview:

Code:

The ticker can be embedded in any web page using this code. It supports a few basic options right now.

Ticker options:

scroll
The number of pixels the content is scrolled at each interval. Default is 2.
timeout
The time in milliseconds between each interval. Default is 40.
hideset
Whether to hide the three-letter expansion code after the name of each card. Default is false.

Tickers only have a single function: draw. It takes the ID of the element that the ticker should use.

0 comments

Quiet Speculation Premieres the BLP Embeddable Search bar

Fri 17 July 2009

Quiet Speculation is an awesome blog about Magic finance created by Kelly Reid. I am constantly impressed with his posts and that someone else is as interested in Magic card prices as I am! Kelly asked me if it would be possible to embed a BLP search bar in his blog, so I got right to it. For anyone else who is interested, you can copy/paste the code to the right into any webpage and get the same BLP search.

Kelly has given me a few other ideas for embeddable Magic card features, and I've got a few tricks of my own. If you have any ideas or requests you'd like on your Magic site, be sure to sure to drop me an e-mail.

Preview:

Code:

0 comments