Skip to content

feat: card popularity score #99

Description

@hjacque

Goal

Derive a composite popularity score per card (Product) by aggregating three sub-signals. This score feeds into the Opportunity Score (#91) as the demand-side weight — popular cards support stronger price floors and more reliable fair value ranges.

Sub-signals

Sub-signal Issue Role
Pokémon popularity score #89 Inherent demand for the Pokémon(s) depicted
Multi-Pokémon card signal #97 Bonus for cards depicting multiple Pokémon
Premium card symbol signal #98 Bonus for exclusive symbols (Pokémon Center badge, event stamps, etc.)

Design notes

  • Card-level score, computed from the three sub-signals above
  • Stored on the Product (or a dedicated card metadata table)
  • Recomputed when any sub-signal changes
  • Exact combination weights require calibration from eBay sold data — start with an unweighted sum, tune empirically
  • Feeds directly into popularitySignal column of OpportunityScore table (see feat: fair value range per card #91)

Blocked by

Blocks

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions