// HOW THE NUMBERS WORK
PullValue methodology: data sources and calculations
This page describes every data source and calculation behind the numbers you see on PullValue. We update this page whenever the methodology changes. The change log at the bottom records every revision with a date.
Where the numbers come from
Single-card market prices
Sourced from TCGplayer via pokemontcg.io, refreshed daily. These prices represent TCGplayer's calculated market value for each card based on recent listing and sale activity on the TCGplayer marketplace.
Sealed-product market prices
Sourced from TCGplayer via TCGCSV (tcgcsv.com), a public mirror of TCGplayer's API data, refreshed daily around 20:00 UTC. These prices represent the prevailing market price for each sealed product on the TCGplayer marketplace.
Important context
TCGplayer market prices reflect listing and sale activity on a single marketplace. They are not equivalent to completed-sale prices on secondary venues such as eBay. TCGplayer asking prices for sealed product tend to run higher than eBay completed-sale prices, sometimes meaningfully so. We use TCGplayer data because it is the most consistent, accessible, and high-frequency source available for both single cards and sealed product. We are evaluating eBay completed-sales integration as a future data source.
MSRP
Manufacturer's suggested retail price, hardcoded per product. Used as a fallback when a user's acquisition cost is unknown, and as the baseline for the "Pack EV" comparison on product pages.
User-provided data
Acquisition cost, pull contents, and quantity held are user-provided. We use these as the basis for cost-basis tracking, P/L, and personalized analytics. We do not modify or audit user inputs.
How the numbers are computed
Market Value (Portfolio dashboard)
Sum of two components: (1) current sealed-product market value for any sealed inventory you still hold, computed as sealed_quantity × current_market_price per product, and (2) current single-card market value for all cards from pulls you've logged, computed as the sum of each card's TCGplayer market price. Holdings without market data available are excluded from the sum and surfaced as a "pending market data" note.
Cost Basis
Sum of your acquisition cost across all holdings, computed as cost_basis_per_unit × quantity per holding. If you did not provide an acquisition cost for a holding, that holding contributes its MSRP × quantity instead, and we label that holding as MSRP-based in your Product Performance breakdown so you can see when the comparison is against retail rather than against what you actually paid.
Profit / Loss
Market Value minus Cost Basis. Both inputs are computed using the same set of holdings, so the comparison is consistent.
Unrealized %
Profit/Loss divided by Cost Basis, expressed as a percentage.
Top Holdings
Your sealed holdings sorted by current market value descending. Holdings without market data sink to the bottom of the list with an explicit "awaiting market data" indicator rather than a $0 value.
Product Performance — Best Returns and Biggest Losses
For each product you have logged pulls from, we compare your total pull value (sum of single-card market prices) against your spend on that product. Spend is your acquisition cost when available, MSRP when not. Each row is labeled "vs. your cost" or "vs. MSRP" so you can see which comparison is being made.
Recent Pulls badge
Compares your pull's single-card value against either your acquisition cost (when known) or MSRP (when not). The badge label tells you which comparison it's making: CLEARED COST / BELOW COST when using acquisition cost; CLEARED MSRP / BELOW MSRP when using MSRP. A pull near the comparison value shows BREAK EVEN.
Break-Even Target (Outlook)
The percentage your current Market Value would need to appreciate to equal your Cost Basis. This is a static calculation — it tells you the appreciation required, not a prediction of when it will happen.
12-Month Portfolio Scenarios (Outlook)
The Outlook section displays three illustrative 12-month scenarios — bearish, baseline, and bullish — applied to your current Market Value. The bands are intentionally asymmetric because sealed product returns are structurally asymmetric over short horizons: downside variance exceeds upside variance. These scenarios are illustrative for thinking probabilistically about a 12-month window. They are not predictions and not recommendations. Specific band magnitudes are visible on the dashboard panel itself.
Pack EV (Product page)
Your historical median pull value for this product compared against the product's MSRP. Colored "+EV" when your median pull cleared MSRP, "−EV" when it didn't.
PullValue Sealed Index
Equal-weighted index of 46 sealed Pokémon products from the existing PullValue catalog. Full methodology detailed below.
On confidence and variance
Sealed product returns are highly variable. A single pack opening is not predictive of expected value. We display aggregated community pull data only when a product has at least 50 logged pulls from at least 10 distinct contributors. Below that threshold, the displayed value reflects available data without a confidence band — treat early-stage products as preliminary indicators only.
The PullValue Sealed Index
The PullValue Sealed Index (PVSI) is an equal-weighted basket of sealed Pokémon products tracked in the PullValue catalog. Each constituent contributes equally to the index value regardless of its absolute price. The index is calibrated to a base value of 1,000 at its inception date and updates once per day after our TCGCSV refresh. Detailed calculation methodology is available to auditors on request.
The initial basket includes Booster Boxes and Elite Trainer Boxes from sets with sufficient price history. Single Booster Packs, special collections, and discontinued products are excluded to reduce noise. The basket is reviewed quarterly; additions, removals, and reweightings take effect on the review date and prior values are not retroactively adjusted.
Missing prices are handled conservatively. If coverage drops below operational thresholds on a given day, the index calculation is paused and the previous day's value remains displayed. Specific thresholds and carry-forward logic are detailed in our internal methodology, available to auditors on request.
The index is updated once per day after the TCGCSV daily refresh. The PVSI is not investment advice and is not a recommendation to buy or sell any product.
What we will not do
We will not run paid-placement EV inflation. We will not hide negative EV products. We will not sell sealed product ourselves. PullValue is a measurement tool, not a marketplace. That separation is what makes the numbers worth trusting.
Internal methodology
Detailed implementation specifications — exact data refresh windows, anti-manipulation thresholds, community pull aggregation weights, cash-out friction multipliers, and confidence band calculations — are maintained in an internal methodology document. These specifications are available to auditors, institutional partners, and serious investors under NDA on request.
Change log
2026-05-26
Methodology page rebalanced to preserve user trust while reducing over-disclosure of implementation specifics. Sealed Index formula, constituent selection rule, and missing-price handling thresholds moved to internal methodology. Outlook scenario magnitudes removed from the methodology page (still visible on the dashboard panel itself). Detailed implementation specifications remain available to auditors under NDA on request.
2026-05-25
Methodology aligned with actual implementation. Dashboard Market Value, Profit/Loss, Top Holdings, Product Performance, Recent Pulls, and Outlook calculations updated to read from TCGplayer market prices via TCGCSV (sealed product) and pokemontcg.io (single cards) instead of MSRP. Held-sealed inventory now contributes to Market Value via a sealed-quantity counter on the holdings table. Previous methodology descriptions referencing eBay sold listings and PriceCharting as live data sources have been removed pending actual integration.
Secondary-market pricing data for sealed products is sourced from TCGCSV (tcgcsv.com), a public mirror of TCGplayer market prices, refreshed daily. PullValue is independently operated and not affiliated with TCGCSV or TCGplayer.