Калькулятор окон ПВХ для сайта на JS. Часть 1. Аналитика
Речь в статье пойдёт об оконном калькуляторе. Да, я знаю что их море, но тот, о котором хочу рассказать — особенный. Он позволяет считать стоимость оконных изделий на сайте со средним отклонением от расчётной программы на производстве в 0.002%. На момент запуска проекта (май 2011 года) это калькулятор был единственным решением такого рода. Как обстоят дела с этим сейчас я не знаю, но судя по периодическим звонкам, допускаю что изменилось мало чего.
Особенности проекта:
Качественная предварительная аналитика задачи. Именно она определила ту границу которая позволила создать простой инструмент для основной целевой аудитории, полностью учитывающий требования по специфике для ~90% изделий требующих расчёта. В первой части будет именно об этом.
Выбор HTML5 Canvas в качестве основы для графической реализации. Многие разработчики до сих пор считают что данная технология “экспериментальная” и не подходит для сервисов ориентированных на широкую публику. Что тут говорить о марте 2011 года?.. Данный выбор стоил мне килограмма нейронов, но он полностью себя оправдал. Этому, а также другой специфике с которой пришлось бороться при реализации задачи будет посвящена вторая часть.
Мечта о “стопроцентной” точности.
У всех есть мечты. Даже у старого пня по весне, если верить одной известной песне.
Если вы занимаетесь производством ПВХ окон, то у вас очень даже вероятно есть мечта которая звучит примерно так: “Хорошо бы у меня на сайте клиенты сами считали себе оконные конструкции со 100%-й точностью, а то у меня уже менеджеров нет обслуживать их а давайте посчитаем так… дорого… а так?”.
Что такое “стопроцентная” точность расчёта стоимости конструкции? Это когда полученная цена изделия совпадает (с допустимой погрешностью) с ценой расчёта в производственной программе у менеджера принимающего заказ. “Цена без звёздочки” — это про неё.
Если стоимость, рассчитанная калькулятором на сайте расходится с той по которой принимается изделие в производство — в таком калькуляторе нет смысла. Между “уточните у менеджера” или ±5% и “точная стоимость здесь и сейчас” принципиальная разница.
Итак: клиент должен самостоятельно рассчитывать окончательную стоимость изделия, не контактируя на этапе расчёта с менеджерами компании (отнимая их время).
Целевая аудитория оконного калькулятора на сайте
Если грубо то мы имеем следующие группы:
- розничные покупатели;
- мелкие и средние дилеры;
- крупные дилеры;
- производители окон и производители ПО для производителей окон;
Розничный покупатель
— это “человек с улицы”. Ему просто захотелось окно. У него возможно даже есть какие-то обывательские представления о крутости-камерности профиля и наличии “инертного вакуума” в секлопакетах, но с реальностью это слабо коррелирует.
Розничный заказчик, как правило, не в состоянии осознано выбрать для своего окна систему профиля. Поэтому компании работающие с этой потребительской категорией часто формируют узкие модельные ряды базирующиеся на конкретных системах профилей чтобы не морочить покупателю голову обилием вариантов.
Не маловажным моментом являются замеры. Насколько можно доверять замерам предоставленным заказчиком? Практически нельзя. Поэтому у компаний есть штат замерщиков, выезжающих на место предполагаемых работ.
В этих условиях, говорить о создании калькулятора для розничного покупателя нет смысла. И причина тут нетехническая. Нам нужна точная цена изделия, а её нельзя получить при отсутствии заслуживающих доверия размеров и адекватных требований к изделию. Всё это оформляется уже на этапе контакта клиента с менеджером в офисе или с представителем компании “в поле”. В этих случаях сайт как правило уже неактуален.
Итак: создание оконного калькулятора для розничного покупателя который на практике решал бы задачу “100%-го расчёта стоимости изделия на сайте” скорее всего лишено всякого смысла. Им просто не будут пользоваться.
Факт: я, как человек собственноручно написавший оконный калькулятор и знающий как устроено окно в мельчайших деталях, когда пробьёт мой час, всё равно не смогу самостоятельно определиться с выбором профиля и стеклопакетов, не говоря уже о снятии правильно размеров с проёма. Это моё официальное заявление.
Мелкие и средние дилеры
— это такие ребята которые там, где вам некогда. Их особенно много в малых городах и на сельской местности. Крупная фирма может и не держать своих представителей в поселениях на крайнем севере, однако по Енисею каждое лето на север плывут баржи гружёные окнами. Естественно их кто-то ставит на местах.
В более общих чертах это мобильный посредник между потребителем и производителем. Далеко не всегда это юрлицо. Ключевой особенностью этой группы является “Сегодня беру у тебя, завтра у конкурента, но мы не прощаемся”. Ничего личного.
Какие проблемы? Таких посредников много. И каждому надо знать стоимость изделия здесь и сейчас. В совокупности они дают хороший объём заказов, но способны своими срочными просьбами заддосить любой отдел по борьбе с клиентами.
Выводы: если дать этим ребятам возможность рассчитать точную стоимость конструкции прямо “в поле” и сразу сообщить её конечному клиенту с учётом своей наценки — они твои навеки.
Факт: теперь собственно так и происходит. Ребята приезжают к заказчику с ноутбуком с мобильным интернетом. Делают замеры. Тут же считают на сайте конструкцию. Прибавляют своё и сообщают цену. Если цена не устраивает, они тут же могут поменять профиль, фурнитуру и подогнать решение до приемлемой суммы. Отдел продаж компании-производителя, тем временем пьёт чай с тортом, потому что у Маринки из бухгалтерии сегодня день рождения.
Крупные дилеры
— это те которые если стеклят то сразу микрорайон, ну как минимум дом. Как правило делаются заказы на типовые изделия, но хорошими партиями. Достаточно часто, они имеют собственные структуры эквивалентные средним дилерам по стилю воздействия на окружающую реальность со всеми вытекающими для отдела продаж производителя. Плюс ещё тележка пафоса.
Выводы: В таких организациях, люди обрабатывающие заказы уже привыкли к комфорту. Это офисные работники. Они могут многое вам поведать о душевном равновесии на своих страничках в социальных сетях. А звонки в замученный отдел продаж производителя такому равновесию не способствует. Если вы как “серьёзная компания-производитель” предоставляете удобные инструменты для работы — с вами будут работать.
Факт: вопросы связанные с неформальными формами установления взаимоотношений созвучными с поведением артиллерийского орудия под воздействием ударных нагрузок на лафет, я намеренно оставляю за рамками этой статьи.
Производители окон и производители ПО для производителей окон
— об этой категории я узнал уже после внедрения. На меня стали выходить фирмы которые занимаются собственными разработками в области систем расчёта оконных конструкций. Одна компания из Омска даже присылала мне демонстрацию их продукта который был написан на SilverLight с явным прицелом на интеграцию с web расчётных компонентов. Продукт был очень сырой, но возможно за прошедшее время ребята продвинулись.
Если в общем, то мотивация всегда примерно одна: текущие решения для индустрии дороги, поэтому мы напишем свои, с картами и девчонками. Лично меня такой подход настораживает, но тем кто финансирует подобные проекты виднее.
Факт: написать свои СуперОкна, Фейсбук или на крайний случай Вконтактик — это всегда свежо. Не позволяйте сомнениям убить вашу мечту!
Расстановка по компании-заказчику на момент весны 2011 года
Компоненты изделий:
- Шесть систем профилей (сейчас восемь);
- Каждая система допускает несколько типоразмеров толщин наполнений (стеклопакеты, сендвич-панели), что тянет за собой зоопарк по штапикам;
- Два вида фурнитуры для створок (ROTO, VORNE);
- Два вида уплотнительной резины.
- В 2013 году добавилась ламинация профиля;
~90% заказов — изделия в прямоугольной раме с прямыми углами.
Компания позиционируется на рынке прежде всего как производитель.
Долевой состав клиентуры (примерно, ибо коммерческая тайна):
- 20% розница;
- 80% дилеры всех калибров;
В абсолютных значениях: censored.
Расчётная программа на производстве: СуперОкна версии 5 ( В настоящее время версия 7).
Факт: Да, лицензионные. Нет, за рекламу мне не платили. Да, обидно!
Техническое задание
В итоге, принимается решение о создании полноценного оконного конструктора — как инструмента для дилеров которые назначаются основной целевой аудиторией проекта.
Конструктор должен работать на сайте компании в современных браузерах поддерживающих HTML5 Canvas. Было решено, что дилер будет заинтересован в таком калькуляторе не меньше чем компания-производитель, т.к. он получит инструмент экономящий время и нервы при расчёте различных вариантов одного и того же изделия “здесь и сейчас”. Всё что от него требуется — использовать современный браузер.
Принимается решение об отказе от расчёта на сайте нестандартных изделий с косыми углами или гнутыми элементами конструкции в виду малого количества таких заказов в общей массе. Как правило “нестандарты” всё равно требуют консультации клиента с менеджером. Смысла в калькуляторе в такой ситуации нет, при этом требования к конструктору существенно упрощаются.
В качестве концепции принимается полное конструктивное моделирование изделия, с детальным расчётом каждого компонента. Никаких предварительных схем для “стандартных двушек” и “трёшек”. Любой “космос” с прямыми углами который можно сделать на производстве, должен моделироваться конструктором без исключений. Всё по-честному. Только хардкор!
Конструктор должен обеспечивать соответствие всех элементов изделия технологическим ограничениям (размеры, площадь, соответствие комплектам выбранной фурнитуры). Узлы конструкции вышедшие из допустимых диапазонов должны быть помечены как ошибочные.
Конструктор должен позволять уравнивать проёмы геометрически и “по световому потоку” для конструкции любой сложности (кто в теме тот плачет).
Калькулятор должен проводить расчёт стоимости изделия с точностью максимально приближенной к результату вычислений на производственном ПО (СуперОкна). Также необходим расчёт веса изделия кратно одному килограмму. Расчёт должен учитывать не только стоимость компонентов, но и стоимость всех операций сборки конструкции на производстве. Всё это желательно в на лету.
Это ещё не конец
Всё перечисленное в предыдущем разделе было реализовано мною за два месяца. Кроме меня в проекте участвовал руководитель компании-заказчика в качестве технического консультанта и соучастника по многочисленным мозговым штурмам. Техническая грамотность и адекватность этого человека собственно и определила успех начинания.
Как я уже писал в начале, среднее отклонение результатов расчёта в калькуляторе от расчёта в производственном ПО составило 0.002%. Что можно списать на потери в алгоритмах на округлении значений. Для обратного инжиниринга проприетарного ПО с закрытым кодом, получилось очень даже.
Потом последовала разработка системы заказов на сайте. Разработка похожего калькулятора для расчёта алюминиевых конструкций. Разработка системы реального времени для обеспечения и контроля производственных процессов… Об этом я тоже планирую как-нибудь написать.
Последующая эксплуатация конструктора как отдельно так и в составе системы заказов подтвердила правильность выбранных решений. Мы определили кому, что и как надо, и сделали то, что решает поставленную задачу в конкретных условиях на 100%.
Функциональная демоверсия конструктора будет выложена во второй части статьи, а пока у меня для вас картинка.
P.S.
По части опечаток пожалуйста пишите в личку.
Автор: Staltec