Перейти к содержанию

Быстрый старт

Факторы считаются на основе конфига, который вы отправляете в FAAS.

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

Подробнее о конфиге FAAS можно прочитать здесь, но проще будет разобраться на примерах.

Квартиры в радиусе

Посчитаем среднюю цену квартир в радиусе 500 метров от точки с координатами (30.33, 59.86). Обратите внимание на порядок: (долгота, широта).

import faas_client as fc

config = {
    'points': [
        {
            'id': 1,
            'geopos': {
                'type': 'Point',
                'coordinates': [30.33, 59.86]
            }
        },
    ],
    'features': {
        'apartments_r500': {
            'type': 'circle',
            'dataset': 'ru-pub-households/apartments',
            'limit': 500,
            'field': 'price',
            'agg': 'mean',
        },
    },
}

df = fc.calc(config)

Расстояние до ближайшей станции

Посчитаем расстояние до ближайшей станции метро в радиусе 1 км. Значения считаются отдельно для каждой точки из указанного датасета points.

import faas_client as fc

config = {
    'points': 'client/points',
    'features': {
        'metro_nearest_dist': {
            'type': 'distance',
            'dataset': 'ru-pub-transport/metro',
            'metric': 'dist',
            'limit': 1000,
            'fillna': -1,
        },
    },
}

df = fc.calc(config)

Учитываем конкуренцию

Теперь предположим, что мы хотим узнать количество домохозяйств из новостроек, которые с наибольшей вероятностью придут в наши магазины. Для этого используем huff фактор, который учитывает магазины конкурентов и реализует модель Хаффа.

И наши магазины, и магазины конкурентов берутся из датасетов.

Будем считать, что нам интересны только домохозяйства в 15 минутной пешей доступности. Чтобы отделить новостройки от остальных домов, отфильтруем датасет apartments по полю year.

import faas_client as fc

config = {
    'points': 'client/origin',
    'competitors': 'client/competitors',
    'features': {
        'apartments_huff_foot_15': {
            'type': 'huff',
            'dataset': 'ru-pub-households/apartments',
            'metric': 'foot',
            'limit': 15,
            'field': 'households',
            'agg': 'sum',
            'filter': {'year': {'$gte': 2010}},
        },
    },
}

df = fc.calc(config)