2009-10-20 3 views
0

Я создаю онлайн-сайт сравнения букмекеров для футбола, и мне интересно, как рассчитать лучшие шансы в Ruby/Rails.performance/ruby ​​/ rails/db question

У меня есть две модели: крепление и шансы

Крепеж имеет дома и на выезде команды, и шансы модель букмекерскую ID, домашние шансы, шансы сделать и выездными шансы.

У меня есть выбор, который просто хранит выбранные приборы/команды в БД.

Я собираюсь сделать это таким образом, чтобы создать многомерный массив разных букмекеров, а затем добавить fixture_id и 1,2 или 3 для дома/рисования/прочь, а затем использовать это как ключ к добавьте коэффициенты

Что-то вроде odds[bookmaker][fixture][1/2/3] = price затем добавить odds = count(odds[bookmaker][fixture][1/2/3])?

Есть ли более простой способ? Может быть, сделать это в БД?

ответ

1

Без учета производительности - это, вероятно, не проблема, и в любом случае нам не следует оптимизировать производительность, пока мы не узнаем, что у нас есть проблема. Я бы сказал, что вы можете ввести модель букмекера (если бы только сохранить имя) и начать использовать ассоциации ActiveRecord. Я также хотел бы разделить коэффициенты на три отдельных типа результата, которые могут быть более гибкими, особенно если вы хотите добавить больше ставок позже. Вы могли бы получить что-то вроде:

class Bookmaker < ActiveRecord::Base 
    has_many :odds 
end 

class Odd < ActiveRecord::Base # good name? Price is almost as common and less likely to be misinterpreted 
    belongs_to :fixture 
    belongs_to :bookmaker 
    # let's assume we use result type = 1/2/3 or maybe :home/:draw/:away 
end 

class Fixture < ActiveRecord::Base 
    has_many :odds 
end 

Что вы смотрите, чтобы пытаться сделать это рассчитать лучшую цену для каждого результата во всех букмекеров делает цену на этом приспособлении, или «overround». Если это менее 100%, то существует потенциальный арбитраж.

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

+0

У меня есть модель букмекера - ее фактическое получение лучших коэффициентов для нескольких ставок, которые являются ключом. – 2009-10-20 12:45:47

+0

коэффициенты хранятся в десятичной системе – 2009-10-20 12:49:51