应用场景

构建按距离匹配的非营利志愿者工具

一位愿意帮忙、但不愿单程开车四十分钟的志愿者,往往会悄悄地不再回应请求。一家在都市区协调数百名志愿者的社区非营利组织发现,它原有的匹配流程(由协调员凭记忆回想谁大致住在某项需求附近,再逐一联系)既缓慢,而且随着志愿者名单增长到任何一个人都记不住的程度,也越来越不可靠。

匹配问题的两端,即志愿者的住址和持续性需求的地址(无论是需要定期帮助的食物银行、偶尔需要协助的老年居民,还是需要布置志愿者的社区活动),都是通过简单的报名和申请表单收集的文本地址。要把它们变成可以按实际距离匹配的东西,第一步是通过 /v1/forward 对两份列表进行地理编码:对现有志愿者名单和需求列表批量运行,之后随着新的报名和申请进来逐条处理。

双方都有了坐标后,匹配就变成了该组织自己的简单数据库可以直接运行的距离计算:对于任何新需求,按志愿者住址的实际距离对已登记的志愿者排序,然后从最近的人开始联系,而不是依赖协调员碰巧记得谁住在城里的那一带。这让一些一直闲置在系统中的志愿者浮现出来,他们闲置的原因与意愿毫无关系,只是协调员并不知道他们就住在某项经常性需求附近。

该组织在实际联系和匹配决定中保留了人工协调员,因为距离是一个重要因素但不是唯一因素,志愿者的特定技能、空闲时间或与某项需求已有的关系,有时比是否最近更重要。工具的任务是提供一份按距离排序的名单,供协调员快速逐一处理,而不是把协调员更愿意先审阅的指派完全自动化。

一旦联系工作开始始终优先针对真正住在附近的人,志愿者的回应率就明显提高了。当组织在自己的数据中清楚地看到这一结果时,它显得合乎直觉:一个对志愿者来说确实方便完成的请求,自然比协调员出于熟悉而非距离去联系的、更远的请求更可能得到肯定答复。

由于这是一家预算确实有限的非营利组织,费用在这里尤为重要。该项目的使用量(为初始名单进行的一次适度批量地理编码,加上新报名和新申请带来的少量持续请求)轻松落在每天的免费配额之内,从未需要考虑预付额度或 Unlimited 密钥,这意味着对于一个有限预算中每一分钱都很重要的组织,整个位置匹配能力是免费获得的。

如果某个社区组织正在考虑类似的做法,起点比听起来要小:先对您已有的地址进行地理编码,看看基于距离的匹配在您真实的志愿者和需求列表上实际效果如何,然后再在此基础上构建更复杂的功能。该端点的文档位于 /docs/forward-geocoding/。