About
Where the data comes from
I’ve been buying, repairing, and reselling keyboards as Taipan Keys for a few years now. I go over each board, clean and test the switches, check the case and PCB for damage, fix what I can, and sell it afterward.
eBay only keeps about two years of sales records, so that’s what I made the backbone of the site. That’s also why the data starts in mid-2024 and not earlier.
What this is
I made the Taipan Value Engine with whatever sales data I had just for fun. I noticed that many people had trouble with pricing their keyboards (whether they were buying or selling them), and I wanted to help address that.
The Taipan Value Engine estimates a keyboard’s price from the sales data in the Market Tracker. The Market Tracker shows all the sales data that TVE currently has, including how prices have moved.
The estimator is free, has no ads or affiliate links, and doesn’t need an account. It also shows how often it’s wrong, including the cases where it does badly.
It’s just me doing this, and the sample is small, so every estimate comes with a confidence level and a list of what could be off. When there isn’t much data, the site says so. I try not to overstate anything, especially with hyped boards.
It doesn’t have to stay small, though. Anyone can add a sale from the Market Tracker, and I check each one against its listing. Approved sales show up in the database within a few minutes, and I add them to the estimator’s data in batches. Once a model has three recorded sales, the estimator prices it straight from those sales instead of using general rules, so every added sale helps.
Data sources
The data comes from two places:
- My sales: keyboards I sold on eBay, with the price, date, condition, box, and accessories. These are the most reliable, since I had every one of them in hand.
- Your approved sales: sales anyone can add from the Market Tracker, with a public link as proof. I check each one against its listing, and the ones I approve show up in the database marked “Community,” so they’re easy to tell apart from mine.
I don’t use any third-party databases, price aggregators, or bought datasets, and I don’t store eBay buyers’ names, usernames, or addresses anywhere. Nothing is scraped. The site counts how many estimates are run, with no cookies and nothing that identifies you. During a giveaway, the Reddit username (or email) and the feedback you enter are kept only until the winner is confirmed.
Market observation fields
Each observation records the following:
Condition grading
I grade condition with the board in hand. Here’s the scale:
Community sales use the condition the person reported. I can only check that against their listing photos.
Listing quality rubric
I score listing quality and photo quality from 1 to 10 like this:
How the estimate is made
The engine picks one of three estimators depending on how much evidence the dataset holds for that keyboard, and it tells you which one it used.
1. Direct comparables. When the dataset holds at least three recorded sales of the exact model (and, for collabs, the same collab), those sales set the range. Each comparable is adjusted to the listing’s condition, packaging, and completeness, and the middle spread of the adjusted prices becomes the estimate. Recent sales count more: each sale’s weight halves for every year of age, so recent prices lead and old ones fade instead of dropping out. Repaired and restored boards use this estimator too, with their disclosure discount applied on top, since a repaired board is still the same board.
2. Rule-based multipliers. When the dataset has the keyboard’s model or collab but fewer than three sales of that exact model, a set of multipliers runs against the launch price: condition (mint 1.0 down to poor 0.35), box (+12%, the box alone; the boxed premium on the Market Tracker is higher because it’s a raw price gap, and boxed boards there also tend to be in better shape), accessories (+4–8%), collaboration tier (+15%, +40%, or +100%), platform (−13% to +4%), and stock status (repair/restore −3 to −5%, disclosed damage −25%). Keyboards with no collab behind them take an additional 0.85 depreciation factor, measured from the dataset’s own non-collab sales. Non-limited, non-custom boards are capped at their retail price, since something still purchasable new rarely resells above new. Recorded sales of the exact model override that cap. Separately, if you enter what the board costs new today, every estimate except a custom build’s is capped at that price, since a used board rarely sells for more than a new one.
3. Market floor anchoring. When nothing in the dataset matches the keyboard’s model or collab (a matching brand alone isn’t enough), the engine refuses to estimate until the user supplies the lowest current listing they can find, and then anchors on that figure alone. When I measured it across nine model-and-collab groups that had both a current asking price and recorded sales, the median sale landed at 0.967 of the lowest ask, so that listing is a good predictor. An earlier version blended in a retail-derived depreciation ratio at 25% weight; validation against third-party listings showed it doing harm (a used GMMK Pro asks around $80 against a $350 launch price, so the retail component computed $270 and pulled the estimate up by 77%), and it was removed. Retail is now used only as a ceiling on this path.
A separate ordinary-least-squares regression, fitted offline on the same history (100+ sales; R² ≈ 0.54, typical error ±28%), is shown alongside the estimate as a third signal wherever the dataset can support it. It captures launch price, accessories completeness, collaboration tier, and brand, and includes only effects significant at p < 0.05.
Confidence depends on how much sales evidence there is. Listing quality can lower a confidence rating but never raise it: without at least three recorded sales of the exact model, confidence can’t exceed medium, and with none it can’t exceed low. When the user supplies a lowest active listing for a keyboard the dataset does cover, the attribute estimate is never altered by it; a separate market-adjusted range blends the two (70/30) and a cross-check note appears in the drivers and risks.
The engine doesn’t use live price feeds. Every formula and coefficient is fixed and explained on this page.
Validation
I tested the engine against a set of listings from public marketplaces, none of them mine, and double-checked each one before using it. Here’s how it did:
- The direct-comparables estimator performs well. For a model with nine recorded sales it returns $400–$500 for a boxed board in excellent condition, against actual sales of $400–$500.
- The multiplier layer still runs high on plain, non-collab boards, by roughly 35% to 75% against third-party asking prices. Depreciation was calibrated on eleven non-collab stock sales, of which only eight were usable (one has no known launch price; two are a bundle and a launch-window sale). All of them are my own listings, which are better photographed and described than a typical private listing and sell accordingly. This is the engine’s weakest area, and I’ve only partly fixed it so far.
- Sharply hyped boards can run the other way. A Wooting 80HE was asking well above what the multiplier layer predicted, reflecting launch-window demand the engine doesn’t model.
- Across the sample, the engine’s range contained the observed asking price in 5 of 14 cases, with a mean absolute error of 42% against the midpoint. Asking prices aren’t sale prices, so this is a rough measure, and not a flattering one.
Limitations
- The sample is currently small. The dataset holds 100+ sales, mostly collab keyboards. About one in six of them are custom builds, which are left out when pricing a stock keyboard, so a stock query draws on 92 sales. Only eleven of those are non-collab boards, and only eight of them were usable for calibrating depreciation. Effects that didn’t reach statistical significance on this sample (condition, box, stock status) are left out of the regression on purpose and handled by the rule-based layer. Community sales are how the sample is meant to grow.
- It depends on the prices you enter. The engine anchors on the original launch price, because that’s what it learned from, but new boards get marked down all the time. If a board is still sold new, put today’s price in the “Price new today” box and the estimate won’t go above it. The estimate is only as good as those numbers.
- I’m not a neutral observer. I buy and sell in this market, so the data leans toward the models and setups I work with most, and my listings tend to be better presented than a typical private sale.
- Community sales are self-reported. I check each one against its listing, but the condition is whatever the person says it was, and I can only judge that from their photos.
- Platforms differ. Each one has its own fees, buyers, and pricing habits, so comparing prices across them only goes so far.
- Prices change over time. Observations run from July 2024 to October 2026 and each one is dated, so the older ones may not match today’s market. The comparables estimator counts recent sales more (a sale’s weight halves every year), and lowers its confidence when the newest matching sale is more than six months old. If every matching sale is old, there’s nothing newer to lean on, so the lower confidence is the main warning.
- It’s built for enthusiast boards. The engine is calibrated on enthusiast and collab keyboards (mechanical and hall-effect), which tend to hold value. Mass-market office keyboards lose value differently, and the dataset has none of them. When nothing matches a keyboard, the engine says so, hides the statistical estimate, drops its confidence to low, and requires the lowest current listing you can find, which then becomes the only anchor.
- The keyboard check can be fooled. Inputs are checked against a list of known keyboard brands rather than a list of banned words, because a banned-word list only catches what someone thought to ban. Boutique makers, group buys, and one-off builds won’t be on the list, so an unrecognized brand asks you to confirm it’s a keyboard instead of refusing. Nobody checks that confirmation.
Independence and non-affiliation
The Taipan Value Engine isn’t affiliated with, sponsored by, or endorsed by any keyboard company or any marketplace. Brand names are here so you know which keyboard is which.
When a board I list has been repaired, restored, or modded, the listing says so. I never describe a custom build as an official product. And I don’t make claims about any company’s finances, decisions, or plans that I can’t back up.
What this doesn’t do
It doesn’t scrape anything or collect data automatically. It also doesn’t claim to cover the whole keyboard market, predict future prices, or read big conclusions into small samples.