# Personal Price Memory > Compare your own purchases by unit price, package size and price history. Track your own purchase history by product and currency, normalize units and compare pack changes, shops and unit-price trends. Part of usefulweb.app (https://usefulweb.app/). Part of [Ledgerly](https://ledgerly.usefulweb.app/) (ownerApp: ledgerly). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://ledgerlypricememory.usefulweb.app/ (interactive tool at https://ledgerlypricememory.usefulweb.app/tool) - JSON API: POST https://ledgerlypricememory.usefulweb.app/api/v1/calculate with a JSON object of inputs (schema: https://ledgerlypricememory.usefulweb.app/api/v1/tool) - OpenAPI: https://ledgerlypricememory.usefulweb.app/openapi.json - MCP (Streamable HTTP): https://ledgerlypricememory.usefulweb.app/mcp - tool `ledgerly_price_memory` ## Inputs - purchases (table): Purchases ## Method - Products are grouped by trimmed case-insensitive name, compatible unit and three-letter currency code. Currency is never converted; older project rows without a code use EUR. - Same-date entries retain input order. History points represent entered purchases, not observations on unrecorded dates. The browser chart can switch product groups; the default API chart shows the first group. Dates use a true time axis; connecting lines are visual guides, not interpolated observations. These are personal reference prices, not a market-wide best price.