Prices

How prices are calculated

CSGOTrader mostly relies on Steam Community Market historical sales data to calculate it's prices. It uses data gathered by CS:GO BACKPACK (thank you!). If there is no market data it uses other providers, the whole algorithm is described in plain english below. If you prefer to read the Python code itself you can scroll through this. For popular items with stable market sales it's pretty simple.
If the item is not that popular (in this case defined as sold less than 5 times in the past 24 hours) then the next best thing that can be checked is the average of the last week.
If there is no monthly market sales data the algorithm proceeds to other providers
Special cases:

Architecture - How the prices are scrapped, processed, stored and served

It all happens on AWS. There is a python script that is responsible for price scraping and another one that updates exchange rates. The price scrapper script runs daily at 3AM UTC. The exchange rates update every 3 hours. Both of these Lambda functions are triggered by CloudWatch events and are executed in a Python 3.7 environment. The pricing script scrapes prices from CSGOBACKPACK.NET, CS.MONEY, BITSKINS.COM, LOOT.FARM and CSGO.TM then the extension calculates it's own pricing with the algorithm described above. The pricing data is stored in an S3 Bucket and made available and distributed around the world under the prices.csgotrader.app domain by Cloudfront.

The latest prices are always available at:
prices.csgotrader.app/latest/prices.json
and each days pricing is archived in a path like:
prices.csgotrader.app/YYYY/MM/DD/prices.json.
For example: prices.csgotrader.app/2019/08/11/prices.json.