Подготовительный этап. Алгоритм рейтинга на yii2 (1/3 часть работ)
Необходимо провести подготовительные работы по разработаке алгоритм расчета рейтинга для будущего сайта на фреймворке yii2 (детальное ТЗ расчета рейтинга предоставлю по запросу). Далее планируется разработка сайта на фреймворке Yii2:
Что можем предоставить:
- ТЗ по расчету рейтинга - https://docs.google.com/document/d/1xIzavE7oNxAJrIWPuLN3ueAT0PRf145NFj-gljRkNms/edit
- База данных проектов по каждому эксперту (в CSV - 5500 проектов, 124 эксперта итого 94000 заполненных ячеек)
- База данных исторических данных Coinmarketcap (CSV, около 800000 строк)
- Система градации оценок (в xls)
- Справочник Синонимов
- Справочник исключений.
- Подключить API Coinmarketcap (бесплатный тариф)
- Подключить Единую систему градации оценок для разных шкал оценок экспертов
- Интегрировать базы данных, чтобы идентифицировать экспертов и проекты из разных источников
- Алгоритмически отобрать проекты, которые по системе градции имеют оценку от 8 (включительно) до 10 баллов, т.н. Star проекты
- Алгоритмически отобрать для рейтинга эскпертов, у которых =>5 Star проектов
- Расчитать общее количество оценок по каждому эксперту
- Расчитать общее количество Star оценок по каждому эксперту
- Алгоритмически отобрать Star проекты, которые торгуются на бирже по каждому эксперту
- Алгоритмически отобрать Scam проекты по каждому эксперту (в базе проектов колонка Scam)
- По каждому проекту рассчитать ROI Flip за все время (на основе max. цены токенов и цены на ICO)
- По каждому проекту рассчитать ROI Hold за все время (на основе текущей цены токенов и цены на ICO)
- По каждому эксперту рассчитаны среднееарифметическое Flip ROI на основе ROI Flip проектов данного эксперта (с учетом ROI только Star и Scam проектов)
- По каждому эксперту рассчитаны среднееарифметическое Hold ROI на основе ROI Hold проектов данного эксперта (с учетом ROI только Star и Scam проектов)
- Перечень экспертов упорядочить по убыванию Flip ROI
- Перечень экспертов упорядочить по убыванию Hold ROI
- Скорость вывода и обработки запросов при высоких нагрузках
- Масштабирование базы данных
- Устойчивость алгоритма к изменениям (например, при смене экспертом шкалы оценок)
- Кеширование
Регулярный бэкап системы
Хранение старых данных при обновлении на новые данные (например, при изменении оценки проекта от эксперта)
Дополнительно необходимо ввести автоматическую проверку по дате выхода на биржу и даты окончания ico. Дата листинга токена проекта должна быть после окончания даты ICO проекта.
Даты могут быть в источниках в разных форматах, необходимо привести к единому виду.
Десятые указываются через точку, а тысячи через запятую. В оценках используются только точки. Оценки, которые содержат запятую должны быть переформатированы в оценку с точкой.
При изменении экспертом шкалы оценок предыдущие оценки должны рассчитываться и учитывать старую шкалу оценок.
Алгоритмически мониторить существенные отклонения показателей в системе, чтобы оперативно выявлять несоответствия