Быстрый старт¶
Факторы считаются на основе конфига, который вы отправляете в 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)