Listings at leastbelow the median sale price, for items with at least
How the numbers work
Sales
Every SOLD line in fm_shops_events.csv: a greyed-out row, or a stack that went down between two visits. All prices are per single item, so "10 for 450" counts as 45.
Median
Half of the sales were cheaper, half more expensive. It ignores the odd misprice, which the average does not.
Price range
The line runs from the lowest to the highest sale; the box is the middle half of the sales, the tick the median, the orange diamond the cheapest listing now.
Trend
The sales of the newer half of the days with sales against the older half (their medians). The listing trend does the same with the cheapest listing of each day. A 24-hour period counts hours instead of days, 3 days counts 6-hour blocks, more than 45 days counts weeks. Needs 4 such days. The small line next to it shows the median sale (blue) and the cheapest listing (orange) over the period.
Price chart
Click an item. Trend shows per day (or hour, 6 hours, week) the median sale in blue and the cheapest listing you saw in orange; a dotted line skips days without data. Hover it for the numbers of that day, or open the table under it. Every sale shows each sale and the listings up now instead.
Listed now
Listings seen in the last 24 hours of your data that weren't sold or taken out since. Shops can close in the meantime.
vs median
How far the cheapest listing is from the median sale price. Below the deal line it's marked as a deal.
Flip
What one item makes if you buy the cheapest listing and sell it at the median, after the shop's 3% fee.
Time on market
From the first time you saw a listing until it was sold out, for listings you saw before they sold. Revisit shops more often for a sharper number.
Mesos traded
Price times items sold. When the amount isn't known (already sold on your first visit) one bundle is counted, so it's a minimum.
Categories
Weapon, Armor, Use, Setup and NX come from MeowDB's MapleStory Classic item list, with the weapon type or armor slot. Everything that isn't on it, like monster drops and ores, counts as Etc. Add or fix items in fm_categories.csv (item;category;type).
Watchlist
Your own items with the most you'd pay for one, saved in fm_watchlist.csv. fm_shops.py calls out every listing at or below that price while the shop is open, whatever the item sold for before. An empty max means every listing. Patterns like *Claw* match all names that contain Claw.
Shared hub
Everyone's logging together. Who shows one friend, with the channel he logged. Shops are matched by the owner's name. A sale two friends both saw counts once: their reports of the same listing are put together, and a report only adds the items nobody had reported yet.
Item names
Small reading errors in names are merged, as in the logger. Equipment with different stats shares one name, so its price range can be wide.
Drop your CSV files herefm_shops_events.csv, fm_shops_seen.csv for the current listings, and fm_watchlist.csv