2016-01-06 2 views
1

У меня есть набор продуктов. Каждый продукт представляет собой вариацию несуществующего «родителя». Кроме того, каждый продукт (назовем их дочерними продуктами) имеет свою собственную индивидуально назначенную цену в нашей базе данных. Вот небольшой набор примеров.Приблизительная цена

Parent SKU 1000.

Дети продукта являются:

1000-TankTop-SM - 14.95 
1000-TankTop-2X - 17.95 
1000-Hoodie-SM - 34.95 
1000-Hooodie-2X - 39.95 

Вот проблема. В нашей базе данных перечислены цены каждого реального ребенка (как указано выше) в отношениях «один к одному». Каждый продукт имеет SKU, и я могу посмотреть цену каждого продукта по SKU. У меня есть веб-сайт, который не может поддерживать этот метод ценообразования. Это способ ценообразования. Я создаю «родительский» продукт. Каждый родительский продукт должен иметь базовую цену. Цены вариаций создаются путем добавления или вычитания суммы в долларах. Таким образом, «родительский» имеет два набора атрибутов, тип и размер продукта. Сумма плюс или минус должна быть связана с каждым атрибутом. Так из моего примера выше мы имеем.

Размеры:

SM +- ? 
2X +- ? 

Типы продукта:

TankTop +- ? 
Hoodie += ? 

Как я могу решить, что переменные выше должна быть равна по меньшей мере приблизительно фактические цены ребенок продукта? Возможно ли это без каких-либо экстремальных выбросов?

+0

Добавлен рабочий пример, который вы можете использовать в Excel как доказательство концепции. – DevNull

ответ

2

Это звучит разочаровывающе (то есть: crummy) система баз данных, так как фактически невозможно создать определенные произвольные цены. то есть:

TankTop = + $2.00 
Shirt = + $1.00 
Sweat = + $5.00 

Small = - $1.00 
Medium = + $0.00 
Large = + $3.00 
X-Large = + $5.00 

В примере выше, это было бы невозможно иметь небольшую рубашку стоит $ 10,00, одновременно имея среднюю рубашка стоит $ 10,50.

Таким образом, каждый продукт имеет цену, определенную как сумма: BASE_SKU_PRICE + SIZE_MODIFIER + STYLE_MODIFIER. Это означает, что вы не можете назначить произвольное значение цены каждому уникальному элементу, поэтому вам нужно будет использовать модель регрессии.

Если вы хотите скорректировать цену для массивной таблицы элементов, самым простым способом минимизации выбросов будет многомерное изменение линейного приближения с наименьшими квадратичными ошибками (LMS), которое is just another type of multivariate linear regression approach.

Это позволит моделировать каждый уникальный предмет (например: SKU) в зависимости от:

y = a + bX_1 + cX_2 

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

И наконец, I found an example online which you could try out in OpenOffice Calc or Microsoft Excel. Это даст вам рабочий алгоритмический подход, а не вывести аналитические формы уравнений и генерировать код из них. Этого может быть достаточно, чтобы решить вашу проблему, не вызывая MATLAB или SPSS.