Получите непревзойденные значения предметов Steam Marketplace

У меня есть веб-сайт, на который может войти пользователь Steam. Я планирую добавить функцию, позволяющую извлекать все предметы, которыми можно торговать, из их инвентаря и перечислять их на странице.

Я не могу представить, как это возможно, но можно ли в любом случае получить цены на предметы в инвентаре пользователя, не используя рыночный листинг на торговой площадке Steam? Причина, по которой я хочу сделать это, состоит в том, чтобы остановить манипулирование ценами на товары, у которых есть 1-2 листинга, где продавец может устанавливать цену.

Моя единственная идея остановить манипулирование ценами примерно такая...:

If (item_current_number_of_listings < 10 || weekly_item_sold < 50)
{
    //check to see if price has risen by certain % within week
    var price_rise_percentage = (Median_price_current - Median_price_start_of_week) / Median_price_current

    if(price_rice_percentage >= 50){
       item = untradeable
    }
}

(Это всего лишь макет идеи, а не фактический код)

Мне кажется, что этот код не подходит и может вызвать проблемы, такие как законное повышение цен на товары, и все же позволяет небольшие манипуляции с ценами.

В итоге:

  1. Можно ли получить точные цены на предметы на торговой площадке Steam, которыми нельзя манипулировать, а НЕ на торговой площадке Steam.

  2. Какие меры предосторожности можно предусмотреть в коде, чтобы остановить манипулирование ценами на предметы, если цена взята с торговой площадки Steam.


person Mitch8910    schedule 12.04.2015    source источник


Ответы (1)


  1. Можно ли получить точные цены на предметы на торговой площадке Steam, которыми нельзя манипулировать, а НЕ на торговой площадке Steam.

Такого понятия, как «истинная цена», не существует. Цена объекта всегда определяется тем, сколько другие готовы заплатить за него.
Поскольку эта ценность существует только в головах людей и, вероятно, отличается от человека к человеку, ваш единственный шанс — использовать данные, доступные для вас, чтобы приблизить среднюю стоимость предмета и историю этой стоимости.

Если бы у вас был доступ к таблице, содержащей записи обо всех предметах, проданных вместе с отметкой времени и суммой денег, которую получает продавец, вы могли бы рассчитать цену предмета, которая была бы или должна была быть, если бы кривая его цены вела себя как кривая радиоактивного распада.
Однако такая модель была бы полностью теоретической.

Действительно вычислить стоимость предмета невозможно, так как для этого потребовалась бы не только сложная вероятностная модель человеческих мотивов [1] вместе с текущим наличием желаемого предмета и предположениями людей о доступности в будущем и цена этого предмета, а также причина (причины) и вероятность каждого из вышеупомянутых событий.
Построение такой модели для каждого случая, по сути, равносильно предсказанию будущего.

[1]: Некоторые люди покупают предметы, потому что хотят продать их по более высокой цене, некоторые потому, что у них слишком много денег, некоторые потому, что они просто хотят это, некоторые потому, что им это нужно для получения значка, и тогда мы можем начать с значки: некоторые люди хотят получить значок только для того, чтобы повысить уровень своего профиля в Steam, другие потому, что они большие поклонники игры, к которой он принадлежит, и т. д.

  1. Какие меры предосторожности можно предусмотреть в коде, чтобы остановить манипулирование ценами на предметы, если цена взята с торговой площадки Steam.

Картельному манипулированию ценами (убедить всех продающих пользователей повысить свою цену) вы, вероятно, не сможете противодействовать, но я не верю, что это действительно происходит в Steam.

Манипулирование ценами путем покупки всего и продажи по более высокой цене можно обнаружить, наблюдая за тем, как многие или все товары одного типа покупаются за очень короткое время одним или несколькими пользователями (возможно, даже группой, но это было бы действительно крупномасштабные).
То, какие действия вы можете предпринять против этого, зависит от того, сколько предметов доступно/сколько у вас есть на складе.
Я думаю, что наиболее эффективной контрмерой было бы сделать другие пользователей, готовых продавать, продавайте по той цене, которую вы имеете в виду, или ниже.
Я предполагаю, что большинство людей устанавливают цену, основываясь на значении, показанном Steam как «самый дешевый предмет этого типа на рынке», поэтому в чтобы заставить (большинство) их продавать по этой цене или ниже, вам нужно будет продавать предмет по этой цене самостоятельно.
Чтобы продержаться как можно дольше против тех, кто пытается поднять цены, продавайте только один предмет. за один раз и попытаться потратить как можно больше их времени, например не продавайте следующий товар сразу после того, как был куплен последний, а добавляйте отсрочку, например, от 15-60 секунд, чтобы заставить их ждать. Кроме того, чтобы увеличить свои запасы, когда вы обнаружите начало выкупа, постарайтесь приобрести как можно больше самостоятельно.
И, наконец, вспомните, какие пользователи/группы участвовали в повышении цен, и предполагайте выкуп, как только такой пользователь покупает более одного предмета одного типа в течение, скажем, минуты, или как только более двух членов такой группы покупают один и тот же предмет в одно и то же время.

Возможно, вам придется много возиться, чтобы найти правильные значения, и вы, безусловно, потеряете деньги при покупке и перераспределении товаров по той же цене (будь прокляты эти 15% комиссионных).

person Siguza    schedule 12.04.2015
comment
Спасибо за очень подробный и продуманный ответ, очень поможет. Я должен был упомянуть, что вместо того, чтобы покупать и перераспределять предметы, я планирую обменивать их на услуги или товары, не основанные на Steam. Это означает, что основная проблема, с которой я сталкиваюсь сейчас, хотя это может быть и редко, — это манипулирование ценами на определенные товары на торговой площадке Steam. После того, что вы сказали, я считаю, что теперь лучший способ противодействовать этому в автоматической торговой системе — это настроить параметры, чтобы проверить, не было ли манипулировано ценой предмета. ... - person Mitch8910; 12.04.2015
comment
продолжение Возможно, я смогу следовать по строкам кода, который написал выше, хотя я все еще не совсем уверен, будет ли он должным образом эффективен против манипулируемых цен. Как я только что упомянул, система будет полностью автоматизирована, поэтому проверки элементов можно будет выполнять только через код и его параметры, я просто не уверен, какими они должны быть. - person Mitch8910; 12.04.2015