用于店内路线推荐的计算机实现的系统和方法与流程

    专利查询2022-08-25  104



    1.本技术涉及导航,更具体地,涉及使用计算机技术来帮助在实体零售商店中定位产品并推荐到达该产品的路线。


    背景技术:

    2.商家可以经营实体零售商店,用户能够亲自访问实体零售商店以便查看和购买产品。实体零售商店有时也被称为“实体”店。
    3.计算机技术当前用于帮助用户的(例如客户)找到实体零售商店中的产品。例如,用户可以使用他们的用户设备(例如移动电话)以便访问允许用户搜索商店中待售产品目录的软件应用(“app”)。该应用可以指示产品位于的过道。


    技术实现要素:

    4.期望使用计算机技术来帮助引导用户在商店中的特定方向(例如沿着特定路线)以最终将用户引导至用户特别要求的产品,称为“目标产品”。然而,基于用户在商店中所处的地方,可能存在到目标产品的多条路线。例如,用户可能在商店的前面,目标产品在商店的后面,并且用户可以可行地沿着几个可能的平行过道中的任何一个走以便到达目标产品。
    5.当存在到目标产品的多条路线的选择时,优选地引导用户采用经过一个或多个推荐产品的路线。如本文所使用的“推荐产品”不是必需明确地(尽管它可以)推荐给用户的产品。相反,推荐产品是被预测为用户可能感兴趣的产品,和/或商家期望增加销售额的产品。推荐并优选采用有利于步行通过一个或多个推荐产品的路线。例如,如果目标产品是男士的蓝色牛仔裤,并且用户先前已经购买了腰带但没有购买衬衫,则衬衫可能是用户的推荐产品。当将用户引导至男士的蓝色牛仔裤时,可能优选沿着展示衬衫的过道引导用户,而不是沿着展示腰带的过道引导用户。可以经由用户的设备的用户界面推荐沿着展示衬衫的过道引导的路线。
    6.计算机面临着尝试确定应该沿着其引导用户的推荐路线的计算挑战。这条路线的计算可能不仅仅基于到目标产品的最短距离,而是还可能或替代地基于可能因用户而异的因素,诸如用户先前的商业活动。该路线还可以或替代地基于可以因产品而异的因素,例如,如果目标产品是防晒霜,则可以推荐遮阳帽,并且因此该路线可以优选地经过遮阳帽。路线还可以或替代地基于可以是商家特定的并且动态变化的因素,例如商家本周有袜子清货,并且因此袜子可以是用户优选步行通过的推荐产品。
    7.在一个实施例中,可以提供一种计算机实现的方法。该方法可以从获得由商家在零售商店中销售的目标产品的标识的步骤开始。该标识可以源自用户设备处的输入。然后,可以执行推荐步骤,其中基于以下各项中的至少一个获得推荐产品:目标产品、来自与用户设备相关联的简档的信息、或商家提供的标准。当用户设备在零售商店中移动时,执行与向用户提供推荐路线有关的步骤。向用户提供推荐路线可以包括:接收指示用户设备在零售
    商店内的位置的用户位置数据;基于用户位置数据、目标产品的位置和推荐产品的位置,生成沿着特定路线引导用户设备的指令;以及,发送指令用于在用户设备处输出。
    8.在一些实现中,特定路线可以与存储在存储器中的多个连续段相关联。多个连续段中的每个段可以对应于零售商店的相应不同的可通行区域。可以为每个段分配相应的成本值。在这样的实现中,该方法还可以包括基于到目标产品的替代路线的段之间的成本值的比较,生成沿着特定路线引导用户设备的多个指令。在一些实现中,可以至少基于目标产品的位置为每个段分配相应的成本值。在一些实现中,所述段中的至少一个的成本值可以基于目标产品的位置和推荐产品的位置两者。
    9.在一些实现中,沿着其引导用户设备的特定路线可以经过一组段,每个段的成本值低于替代路线上替代段的成本值。该组段可以包括特定段。推荐产品可以靠近特定段。特定段的成本值可以低于推荐产品不靠近特定段的情况。
    10.在一些实现中,推荐产品是第一推荐产品,并且该方法还可以包括基于以下各项中的至少一个获得第二推荐产品:来自与用户设备相关联的简档的信息、目标产品或由商家提供的标准。该方法还可以包括基于目标产品的位置和第一推荐产品的位置两者为第一段分配第一成本值。该方法还可以包括基于目标产品的位置和第二推荐产品的位置两者为第二段分配第二成本值。在一些这样的实现中,第一成本值可以被分配与第二成本值不同的值,例如基于:(i) 第一推荐产品与第二推荐产品属于不同的类别;和/或(ii)第一推荐产品在到目标产品的第一路径上,所述第一路径比第二推荐产品所位于的到目标产品的第二路径更短。
    11.在一些实现中,基于第一推荐产品与第二推荐产品属于不同的类别,第一成本值可以被分配与第二成本值不同的值。在一些这样的实现中,第一推荐产品可以属于第一类别,第二推荐产品可以属于第二类别,并且第一类别可以是推荐基于来自与用户设备相关联的简档的信息和目标产品两者。
    12.在一些实现中,第二推荐产品可以靠近第二段,并且第二段的第二成本值可以与第二推荐产品不靠近第二段的情况相同。
    13.在一些实现中,该方法还可以包括通过监视商家设备通过零售商店的移动并将商家设备的不同物理位置映射到不同段来获得多个连续段中的至少一些段。
    14.在一些实现中,引导用户设备的指令可以被实现为视觉引导,例如以用户设备的屏幕上的增强现实数字图像的形式。
    15.在一些实现中,该方法可以包括例如基于用户位置数据和推荐产品的位置来确定用户设备靠近推荐产品。该方法还可以包括响应于确定用户设备靠近推荐产品:发送消息用于在用户设备处输出。该消息可以用于引起对推荐产品的注意。
    16.在一些实现中,来自与用户设备相关联的简档的信息可以包括用户的购买历史。推荐产品可以至少基于购买历史生成。
    17.在一些实现中,来自与用户设备相关联的简档的信息可以包括由用户在线查看的一个或多个产品的指示。在一些这样的实现中,可以至少基于由用户在线查看的一个或多个产品的指示来生成推荐产品。
    18.因此,提供了如在权利要求中定义的方法。
    19.还公开了一种被配置为执行本文公开的方法的系统。例如,系统可以包括存储器
    以存储信息,例如用于存储目标产品的标识,以及至少一个处理器以直接执行(或指示系统执行)方法步骤。
    20.在另一个实施例中,提供了一种计算机程序,所述计算机程序当由计算机执行时使计算机执行本文公开的方法的操作。
    附图说明
    21.将参考附图仅通过示例的方式描述实施例,其中:图1是根据一个实施例的电子商务平台的框图;图2是根据一个实施例的管理器(administrator)主页的示例;图3示出图1的电子商务平台,但是具有商店定路线引擎;图4示出根据一个实施例的用于确定用户在实体零售商店中的路线的系统;图5是根据一个实施例用于确定实体零售商店中的路线以将用户引导到推荐和目标产品的方法;图6示出根据一个实施例的实体零售商店中可通行区域的模型;图7示出根据一个实施例的商家设备导航实体零售商店中可通行区域的虚拟坐标表示的示例;图8示出根据一个实施例的示例用户简档;图9示出根据一个实施例的零售商店的产品库存和位置数据的示例;图10至图12示出根据一些实施例的具有分配给单元的成本值的可通行区域的模型的示例;图13和14是根据一些实施例的使用增强现实(ar)或混合现实(mr)提供推荐路线的用户设备的用户界面;和图15是根据一个实施例的计算机实现的方法。
    具体实施方式
    22.出于说明性目的,现在将在下文结合附图更详细地解释特定示例实施例。
    23.示例电子商务平台在一些实施例中,本文公开的方法可以在商务平台上或与商务平台相关地执行,该商务平台在本文中将被称为电子商务平台。因此,为了完整起见,将首先描述电子商务平台的示例。
    24.图1示出根据一个实施例的电子商务平台100。电子商务平台100可用于向顾客提供商家产品和服务。虽然本公开考虑使用设备、系统和过程来购买产品和服务,但是为了简单起见,本文中的描述将只针对产品。贯穿本公开的对产品的所有引用也应当被理解为对产品和/或服务的引用,包括物理产品、数字内容、票、订阅、要提供的服务等。
    25.虽然本公开通篇考虑了“商家”和“顾客”可以不只是个人,但是为了简单起见,本文中的描述一般也可以同样指代商家们和顾客们。在本公开中对商家和顾客的所有引用也应当被理解为对个人、公司、企业、计算实体等的组的引用,并且可以表示产品的盈利目的或非盈利目的的交换。此外,虽然本公开通篇涉及“商家”和“顾客”,并且如此描述了它们的角色,但是电子商务平台100应当被理解为更一般地支持电子商务环境中的用户,并且本公
    开通篇对商家和顾客的所有引用也应当被理解为是对用户的引用,诸如其中用户是商家用户(例如,产品的销售者、零售商、批发商或提供商)、顾客用户(例如,产品的买家、购买代理或用户)、预期用户(例如,浏览并且尚未承诺购买的用户、评估电子商务平台100以潜在地用于营销和销售产品的用户等)、服务提供商用户(例如,运送提供商112、财务提供商等)、公司或企业用户(例如,代表购买、销售或使用产品的公司、企业用户、顾客关系或顾客管理代理等)、信息技术用户、计算实体用户(例如,用于购买、销售或使用产品的计算机器人程序)等。
    26.电子商务平台100可以提供用于向商家提供用于管理其业务的在线资源和设施的集中式系统。本文所述的设施可通过在一个或多个处理器上执行计算机软件、模块、程序代码和/或指令的机器来部分或全部部署,所述一个或多个处理器可为平台100的一部分或在其外部。商家可以利用电子商务平台100来管理与顾客的商务,诸如经由通过在线商店138、通过渠道110a-b、通过物理位置(例如,实体店面或诸如通过信息亭、终端、读取器、打印机、3d打印机等的其他位置)中的pos设备152实现与顾客的电子商务体验、经由通过电子商务平台100管理他们的业务、以及经由通过电子商务平台100的通信设施129与顾客交互、或其任何组合。商家可以将电子商务平台100用作与顾客的唯一商务存在,或者与其他商家商务设施相结合,诸如通过实体商店(例如,“实体”零售商店)、商家平台外网站104(例如,与电子商务平台分开的由商家支持或代表商家的商务互联网网站或其他互联网或web资产)等。然而,甚至这些“其他”商家商务设施也可被结合到电子商务平台中,诸如其中商家的实体商店中的pos设备152被链接到电子商务平台100中、其中商家平台外网站104诸如通过将内容从商家平台外网站104链接到在线商店138的“购买按钮”而被绑定到电子商务平台100等等。
    27.在线商店138可以表示包括多个虚拟店面的多租户设施。在实施例中,商家可以诸如通过商家设备102(例如,计算机、膝上型计算机、移动计算设备等)来管理在线商店138中的一个或多个店面,并且通过多个不同的渠道110a-b(例如,在线商店138;通过pos设备152的实体店面;电子市场;通过集成到诸如社交网络、社交媒体页面、社交媒体消息传送系统之类的网站或社交媒体渠道中的电子购买按钮;等)来向顾客提供产品。商家可以跨渠道110a-b销售,然后通过电子商务平台100管理其销售,其中,渠道110a可以在电子商务平台100内部提供或者从电子商务渠道110b外部提供。商家可以在其实体零售商店中、在弹出处、通过批发、通过电话等销售,然后通过电子商务平台100管理其销售。商家可以采用这些的全部或任何组合,诸如通过利用pos设备152的实体店面来维护业务、通过在线商店138来维护虚拟店面、以及利用通信设施129来利用顾客交互和分析132以提高销售的概率。贯穿本公开,术语在线商店138和店面可以同义地用于指代通过电子商务平台100提供存在的商家的在线电子商务,其中,在线商店138可以指代由电子商务平台100支持的店面的多租户集合(例如,针对多个商家)或者指代单独的商家的店面(例如,商家的在线商店)。
    28.在一些实施例中,顾客可以通过顾客设备150(例如,计算机、膝上型计算机、移动计算设备等)、pos设备152(例如,零售设备、售货亭、自动结账系统等)或本领域已知的任何其他商务接口设备进行交互。电子商务平台100可以使商家能够通过在线商店138、通过物理位置(例如,商家的店面或其他地方)中的pos设备152到达顾客,以通过经由电子通信设施129的对话等来促进与顾客的商务,从而提供用于到达顾客并促进可用于到达顾客并与
    顾客交互的真实或虚拟路径的商家服务的系统。
    29.在一些实施例中,并且如本文进一步描述的,电子商务平台100可以通过包括处理器和存储器的处理设施来实现,处理设施存储一组指令,当执行该组指令时使得电子商务平台100执行如本文描述的电子商务和支持功能。处理设施可以是服务器、客户端、网络基础设施、移动计算平台、云计算平台、固定计算平台或其他计算平台的一部分,并且提供电子商务平台100的电子部件、商家设备102、支付网关106、应用开发者、渠道110a-b、运送提供商112、顾客设备150、销售点设备152等之间的电子连接和通信。电子商务平台100可以被实现为云计算服务、软件即服务(saas)、基础设施即服务(iaas)、平台即服务(paas)、桌面即服务(daas)、管理软件即服务(msaas)、移动后端即服务(mbaas)、信息技术管理即服务(itmaas)等,诸如在软件和递送模型中,其中,软件基于订阅被许可并且被集中托管(例如,由用户使用客户端(例如,瘦客户端)经由web浏览器或其他应用进行访问、通过pos设备进行访问等)。在一些实施例中,电子商务平台100的元素可以被实现为在各种平台和操作系统上操作,诸如ios、android、在web上等(例如,管理器114在针对web以及针对ios、android的给定在线商店的多个实例中实现,每个具有类似的功能)。
    30.在一些实施例中,可以通过由电子商务平台100的服务器提供的网页来将在线商店138提供给顾客设备150。服务器可以从安装在顾客设备150上的浏览器或其他应用接收对网页的请求,其中,浏览器(或其他应用)通过ip地址连接到服务器,ip地址通过转换域名而获得。作为回应,服务器发送回所请求的网页。网页可以用超文本标记语言(html)、模板语言、javascript等或其任何组合来编写或包括超文本标记语言(html)、模板语言、javascript等或其任何组合。例如,html是描述网页的静态信息的计算机语言,诸如网页的布局、格式和内容。网站设计者和开发者可以使用模板语言来构建网页,其组合了在多个页面上相同的静态内容和从一个页面到下一个页面发生改变的动态内容。模板语言可以使得能够在利用来自在线商店的数据动态地填充页面的同时重新使用定义网页布局的静态元素。静态元素可以用html编写,而动态元素可以用模板语言编写。文件中的模板语言元素可以充当占位符,使得文件中的代码被编译并发送到顾客设备150,然后诸如在安装主题时,模板语言被来自在线商店138的数据替换。模板和主题可以考虑标签、对象和过滤器。客户端设备web浏览器(或其他应用)然后相应地渲染页面。
    31.在一些实施例中,可以由电子商务平台100将在线商店138提供给顾客,其中,顾客可以浏览和购买各种可用产品(例如,将它们添加到购物车中、通过购买按钮立即购买等)。可以以透明的方式将在线商店138提供给顾客,而顾客不必知道其是通过电子商务平台100提供的(而不是直接从商家提供的)。商家可以使用商家可配置域名、可定制html主题等来定制其在线商店138。商家可以通过主题系统定制其网站的外观和感觉,诸如其中商家可以通过改变他们的主题同时具有在在线商店的产品层次内示出的相同的基础产品和业务数据来选择和改变他们的在线商店138的外观和感觉。主题还可以通过主题编辑器、使用户能够灵活地定制其网站设计的设计接口来定制。主题还可以使用主题特定设置来定制,其改变诸如特定颜色、字体和预先建立的布局方案之类的方面。在线商店可以实现用于网站内容的内容管理系统。商家可以创作博客帖子或静态页面,并将它们发布到其在线商店138(例如通过博客、文章等),以及配置导航菜单。商家可以将(例如,用于产品的)图像、视频、内容、数据等上传到电子商务平台100,诸如用于由系统存储(例如,作为数据134)。在一些
    实施例中,电子商务平台100可以提供用于调节图像尺寸、将图像与产品相关联、添加文本并将文本与图像相关联、添加用于新产品变体的图像、保护图像等的功能。
    32.如本文所描述的,电子商务平台100可以通过包括在线商店138的多个不同的渠道110a-b、通过电话以及通过物理pos设备152来向商家提供产品的交易设施,如本文所述。电子商务平台100可包括与运行在线业务相关联的业务支持服务116、管理器114等,从而诸如提供与其在线商店相关联的域服务118、用于促进与顾客交易的支付服务120、用于提供针对所购买产品的顾客运送选项的运送服务122、与产品保护和责任相关联的风险和保险服务124、商家账单等。服务116可以经由电子商务平台100或与外部设施相关联地提供,诸如通过用于支付处理的支付网关106、用于加速产品运送的运送提供商112等。
    33.在一些实施例中,电子商务平台100可以提供整合的运送服务122(例如,通过电子商务平台运送设施或通过第三方运送承运商),诸如向商家提供实时更新、跟踪、自动费率计算、批量订单准备、标签打印等。
    34.图2描绘了管理器114的主页的非限制性实施例,其可以示出关于日常任务、商店的最近活动、以及商家可以采取以构建其业务的接下来的步骤的信息。在一些实施例中,商家可以经由商家设备102诸如从台式计算机或移动设备登录到管理器114,并且管理其在线商店138的各方面,诸如查看在线商店138的最近活动、更新在线商店138的目录、管理订单、最近访问活动、总订单活动等。在一些实施例中,商家可能能够通过使用工具栏(sidebar)来访问管理器114的不同部分,诸如图2所示,管理器114的各部分可以包括用于访问和管理包括订单、产品、顾客、可用报告和折扣的商家业务的核心方面的各种接口。管理器114还可以包括用于管理包括在线商店、使得顾客可访问商店的(一个或多个)移动应用(移动app)、pos设备和/或购买按钮的商店的销售渠道的接口。管理器114还可以包括用于管理安装在商家账户上的应用(app);应用于商家在线商店138和账户的设置的接口。商家可使用搜索栏来查找产品、页面或其他信息。取决于商家正在使用的设备102或软件应用,可以通过管理器114使得他们能够用于不同的功能。例如,如果商家从浏览器登录到管理器114,则他们可能能够管理他们的在线商店138的所有方面。如果商家从其移动设备(例如,经由移动应用)登录,则他们可能能够查看其在线商店138的所有方面或其子集,诸如查看在线商店138的最近活动、更新在线商店138的目录、管理订单等。
    35.可以通过获取报告或度量(诸如显示商家的总体业务的销售概要、现行销售渠道的具体销售和参与数据等)来查看关于商家的在线商店138的商务和访客的更详细的信息。报告可以包括获取报告、行为报告、顾客报告、财务报告、营销报告、销售报告、定制报告等。商家可以能够诸如通过使用下拉菜单来查看来自不同时间段(例如,天、周、月等)的不同渠道110a-b的销售数据。可以为想要更详细地查看商店的销售和参与数据的商家提供概览仪表板。可以提供主页度量部分中的活动馈送以示出商家账户上的活动的概况。例如,通过点击“查看所有最近活动”仪表板按钮,商家可以能够看到在其账户上的最近活动的较长馈送。主页可以诸如基于账户状态、增长、最近的顾客活动等示出关于商家的在线商店138的通知。可以提供通知以帮助商家导航通过过程,诸如捕获支付、将订单标记为已完成、将完成的订单存档等。
    36.电子商务平台100可以提供通信设施129和相关联的商家接口,其用于提供电子通信和营销,诸如利用电子消息传送聚合设施来收集和分析商家、顾客、商家设备102、顾客设
    备150、pos设备152等之间的通信交互,以聚合和分析通信,诸如用于增加提供产品销售的可能性等。例如,顾客可能具有与产品相关的问题,其可以在顾客和商家(或代表商家的自动的基于处理器的代理)之间产生对话,其中,通信设施129分析交互并向商家提供关于如何提高销售概率的分析。
    37.电子商务平台100可以提供用于与顾客的安全财务交易的财务设施120,诸如通过安全卡服务器环境。电子商务平台100可以存储信用卡信息,例如在支付卡行业数据(pci)环境(例如,卡服务器)中,以便核对财务、向商家开账单、在电子商务平台100财务机构账户和商家的银行账户之间执行自动化票据交换所(ach)转账(例如,当使用资本时)等。这些系统可以具有sarbanes-oxley法案(sox)合规以及在它们的开发和操作中所需的高水平的勤勉。财务设施120还可以诸如通过借出资本(例如,借出资金、现金预付等)和提供保险来向商家提供财务支持。另外,电子商务平台100可以提供一组营销和合作伙伴服务,并且控制电子商务平台100和合作伙伴之间的关系。它们还可以将新的商家与电子商务平台100连接并将新的商家装载于电子商务平台100。这些服务可以通过使商家更容易地跨电子商务平台100工作来实现商家增长。通过这些服务,可以经由电子商务平台100向商家提供帮助设施。
    38.在一些实施例中,在线商店138可以支持大量独立管理的店面,并且针对各种产品每天处理大量交易数据。交易数据可以包括顾客联系信息、账单信息、运送信息、关于所购买产品的信息、关于所提供服务的信息、以及与通过电子商务平台100的业务相关联的任何其他信息。在一些实施例中,电子商务平台100可以将该数据存储在数据设施134中。交易数据可以被处理以产生分析132,其继而可以被提供给商家或第三方商务实体,从而诸如提供消费者趋势、营销和销售洞察力、用于改进销售的推荐、对顾客行为的评估、营销和销售建模、欺诈趋势等,其与在线商务有关,并且通过仪表板接口、通过报告等来提供。电子商务平台100可以存储关于业务和商家交易的信息,并且数据设施134可以具有增强、贡献、改善和提取数据的许多方式,其中,随着时间的推移,所收集的数据可以实现针对电子商务平台100的各方面的改进。
    39.再次参考图1,在一些实施例中,电子商务平台100可以被配置有用于内容管理、任务自动化和数据管理的商务管理引擎136以使得能够实现针对多个在线商店138的支持和服务(例如,与产品、库存、顾客、订单、合作、供应商、报告、财务、风险和欺诈等相关),但是可通过应用142a-b扩展,其使得能够实现适应日益增长的各种商家在线商店、pos设备、产品和服务所需的更大灵活性和定制过程,其中,应用142a可以在电子商务平台100或应用142b内部提供或者从电子商务平台100外部提供。在一些实施例中,应用142a可由提供平台100的同一方或由不同方来提供。在一些实施例中,应用142b可由提供平台100的同一方或由不同方来提供。商务管理引擎136可以通过诸如按顾客标识符、订单标识符、在线商店标识符等划分(例如,分片)功能和数据而被配置用于灵活性和可扩展性。商务管理引擎136可以适应商店特定的业务逻辑,并且在一些实施例中,可以包含管理器114和/或在线商店138。
    40.商务管理引擎136包括电子商务平台100的基本或“核心”功能,并且因此,如本文所述,并非支持在线商店138的所有功能都可能适于包括在内。例如,用于包括在商务管理引擎136中的功能可能需要超过核心功能阈值,通过该阈值可以确定功能是商务体验的核
    心(例如,对于大多数在线商店活动是共同的,诸如跨渠道、管理器接口、商家位置、行业、产品类型等),可跨在线商店138重复使用(例如,可跨核心功能重复使用/修改的功能),限于一次单个在线商店138的上下文(例如,实现在线商店“隔离原则”,其中,代码应当不能一次与多个在线商店138交互,从而确保在线商店138不能访问彼此的数据),提供交易工作负载等。维持对实现什么功能的控制可以使商务管理引擎136能够保持响应,因为许多所需特征要么由商务管理引擎136直接提供要么通过接口140a-b实现,例如通过其经由到应用142a-b和渠道110a-b的应用编程接口(api)连接的扩展,其中,接口140a可以被提供给电子商务平台100内部的应用142a和/或渠道110a,或者通过被提供给电子商务平台100外部的应用142b和/或渠道110b的接口140b。通常,平台100可包括接口140a-b(其可以是扩展、连接器、api等),其便于与其他平台、系统、软件、数据源、代码等的连接和通信。更一般地,这样的接口140a-b可以是商务管理引擎136的接口140a或平台100的接口140b。如果没有对商务管理引擎136中的限制功能给予关注,则可能会损害响应性,诸如通过经由慢速数据库的基础设施降级或非关键后端故障、通过诸如具有数据中心离线的灾难性基础设施故障、通过花费比预期更长的时间来执行的新代码等。为了防止或减轻这些情形,商务管理引擎136可被配置成维持响应性,诸如通过利用超时、排队、反向压力来防止降级的配置等。
    41.尽管隔离在线商店数据对于维护在线商店138与商家之间的数据隐私是重要的,但可能存在收集和使用跨商店数据的原因,诸如例如,利用订单风险评估系统或平台支付设施,这两者都需要来自多个在线商店138的信息以良好执行。在一些实施例中,不是违反隔离原则,而是可以优选将这些组件移出商务管理引擎136并移入其自己的电子商务平台100内的基础设施中。
    42.在一些实施例中,电子商务平台100可以提供平台支付设施120,其是利用来自商务管理引擎136的数据的组件的另一示例,但是可以位于外部以便不违反隔离原则。平台支付设施120可以允许与在线商店138交互的顾客使其支付信息由商务管理引擎136安全存储,使得他们仅必须输入其一次。当顾客访问不同的在线商店138时,即使他们以前从未去过那里,平台支付设施120也可以调用他们的信息以实现更快速和正确的结帐。这可以提供跨平台网络效果,其中,电子商务平台100随着更多商家加入而变得对其商家更有用,诸如因为存在更多的由于关于顾客购买的使用容易而更频繁地结账的顾客。为了最大化该网络的效果,给定顾客的支付信息可以从在线商店的结帐可检索,从而使该信息跨在线商店138全局可用。对于每个在线商店138来说,能够连接到任何其他在线商店138以检索存储在那里的支付信息将是困难的并且容易出错的。结果,平台支付设施可以在商务管理引擎136外部实现。
    43.对于未包括在商务管理引擎136内的那些功能,应用142a-b提供了向电子商务平台100添加特征的方式。应用142a-b可能能够访问和修改商家的在线商店138上的数据,通过管理器114执行任务,通过(例如,通过扩展/api而显露的)用户界面为商家创建新流等等。商家可以被允许通过应用搜索、推荐和支持128来发现和安装应用142a-b。在一些实施例中,核心产品、核心扩展点、应用和管理器114可以被开发以一起工作。例如,应用扩展点可以构建在管理器114内部,使得核心特征可以借助于应用被扩展,其可以通过扩展将功能递送给商家。
    44.在一些实施例中,应用142a-b可以通过接口140a-b向商家递送功能,诸如在应用
    142a-b能够将交易数据显露给商家的情况下(例如,app:“引擎,使用嵌入式app sdk在移动和web管理器中显露我的app数据),和/或在商务管理引擎136能够要求应用按需执行工作的情况下(引擎:“app,给予我用于该结帐的本地税务计算”)。
    45.应用142a-b可以支持在线商店138和渠道110a-b,提供商家支持,与其他服务整合等。在商务管理引擎136可以向在线商店138提供服务基础的情况下,应用142a-b可以为商家提供满足特定的并且有时是独特的需要的方式。不同的商家将具有不同的需要,并且因此可以受益于不同的应用142a-b。应用142a-b可以更好地通过电子商务平台100发现,通过开发应用分类(类别),所述应用分类(类别)使得应用能够根据它为商家执行的功能类型被标记;通过支持搜索、排名和推荐模型的应用数据服务;通过应用发现接口,诸如应用商店、主页信息卡、应用设置页面;等等。
    46.应用142a-b可以通过接口140a-b连接到商务管理引擎136,诸如利用api来向应用的功能(例如,通过rest、graphql等)暴露通过商务管理引擎136和在其内可用的功能和数据。例如,电子商务平台100可向面向商家和合作伙伴的产品和服务提供api接口140a-b,诸如包括应用扩展、过程流服务、面向开发者的资源等。随着顾客更频繁地使用移动设备来购物,与移动使用相关的应用142a-b可以受益于对api更广泛的使用,以支持相关增长的商务流量。通过使用应用和api(例如,如为应用开发所提供的)而提供的灵活性使得电子商务平台100能够更好地适应商家(以及通过内部api的内部开发者)的新的和独特的需要,而不需要对商务管理引擎136的持续改变,从而在商家需要时向他们提供他们所需要的东西。例如,可以通过运送或承运商服务api将运送服务122与商务管理引擎136整合,从而使得电子商务平台100能够提供运送服务功能,而不直接影响在商务管理引擎136中运行的代码。
    47.许多商家问题可以通过让合作伙伴通过应用开发来改进和扩展商家工作流来解决,诸如与后台操作(面向商家的应用142a-b)相关联的问题以及在线商店138(面向顾客的应用142a-b)中的问题。作为进行业务的一部分,许多商家将每天使用移动和web相关的应用来进行后台任务(例如,推销、库存、折扣、履行等)和在线商店任务(例如,与其在线商店相关的应用、用于快销、新产品出售等),其中,应用142a-b通过扩展/140 api a-b帮助使产品在快速增长的市场中易于查看和购买。在一些实施例中,合作伙伴、应用开发者、内部应用设施等可以设置有软件开发工具包(sdk),诸如通过在管理器114内创建将应用接口沙盒化的框架。在一些实施例中,管理器114可能没有对框架内发生了什么的控制也不知晓框架内发生了什么。sdk可以与用户界面工具包结合使用,以产生模仿电子商务平台100外观和感觉的接口,例如充当商务管理引擎136的扩展。
    48.利用api的应用142a-b可以按需拉取数据,但是它们通常还需要在发生更新时推送数据。更新事件可以以订阅模型来实现,诸如例如顾客创建、产品改变或订单取消。更新事件可以向商家提供关于商务管理引擎136的改变状态的所需更新,诸如用于同步本地数据库、通知外部整合合作伙伴等。更新事件可以实现该功能,而不必一直轮询商务管理引擎136以检查更新,例如通过更新事件订阅。在一些实施例中,当发生与更新事件订阅相关的改变时,商务管理引擎136就可以发布诸如对预定义的回调url的请求。该请求的主体可以包含对象的新状态和动作或事件的描述。更新事件订阅可以在管理器设施114中手动创建,或者自动创建(例如,经由api 140a-b)。在一些实施例中,更新事件可以排队并且与触发它们的状态改变异步地处理,这可以产生不是实时分发的更新事件通知。
    49.在一些实施例中,电子商务平台100可提供应用搜索、推荐和支持128。应用搜索、推荐和支持128可以包括开发者产品和工具以帮助应用的开发、应用仪表板(例如,用于向开发者提供开发接口、向管理器提供应用的管理、向商家提供应用的定制等)、用于安装和提供关于提供对应用142a-b的访问的许可的设施(例如,用于公共访问,诸如在安装之前必须满足标准,或者用于商家的私人使用)、应用搜索以使得商家易于搜索满足他们的在线商店138的需要的应用142a-b、应用推荐以向商家提供关于他们如何能够通过他们的在线商店138来改进用户体验的建议、对商务管理引擎136内的核心应用能力的描述等。这些支持设施可以由任何实体执行的应用开发来利用,包括开发其自己的应用142a-b的商家、开发应用142a-b的第三方开发者(例如,由商家签订合同、自己开发以提供给公众、签订合同以与电子商务平台100相关联地使用等)、或者由与电子商务平台100相关联的内部个人资源开发的应用142a或142b。在一些实施例中,应用142a-b可以被分配应用标识符(id),诸如用于链接到应用(例如,通过api)、搜索应用、进行应用推荐等。
    50.商务管理引擎136可以包括电子商务平台100的基本功能,并且通过api 140a-b将这些功能暴露给应用142a-b。api 140a-b可以实现通过应用开发构建的不同种类的应用。应用142a-b可能能够满足商家的各种各样需要,但是可以粗略地分为三类:面向顾客的应用、面向商家的应用、整合应用等。面向顾客的应用142a-b可以包括在线商店138或作为商家可以列出产品并让它们被购买的地方的渠道110a-b(例如,在线商店、用于快销的应用(例如,商家产品或来自第三方源的机会性销售机会)、移动商店应用、社交媒体渠道、用于提供批发购买的应用等)。面向商家的应用142a-b可以包括允许商家管理其在线商店138(例如,通过与web或网站或移动设备相关的应用)、运行其业务(例如,通过与pos设备相关的应用)、增长其业务(例如,通过与运送(例如,投递运送)相关的应用、使用自动化代理、使用过程流开发和改进)等的应用。整合应用可以包括提供参与业务运行的有用整合的应用,例如运送提供商112和支付网关。
    51.在一些实施例中,应用开发者可以使用应用代理来从外部位置获取数据并将其显示在在线商店138的页面上。这些代理页面上的内容可以是动态的、能够被更新的,等等。应用代理可以有用于显示图像图库、统计、定制表单和其他种类的动态内容。电子商务平台100的核心应用结构可以允许在应用142a-b中建立数量不断增加的商家体验,使得商务管理引擎136可以保持关注更普遍利用的商务业务逻辑。
    52.电子商务平台100通过策划的系统架构提供了在线购物体验,该架构使得商家能够以灵活且透明的方式与顾客连接。通过示例性的实施例购买工作流程可以更好地理解典型的顾客体验,其中,顾客在渠道110a-b上浏览商家的产品,将他们想要购买的东西添加到他们的购物车中,进行结账,并为他们的购物车的内容支付,从而为商家创建订单。然后,商家可以审阅并履行(或取消)该订单。然后产品被交付给顾客。如果顾客不满意,他们可以将产品退货给商家。
    53.在示例性实施例中,顾客可以在渠道110a-b上浏览商家的产品。渠道110a-b是顾客可以查看和购买产品的地方。在一些实施例中,渠道110a-b可以被建模为应用142a-b(可能的例外是在线商店138,其被整合在业务管理引擎136内)。推销组件可以允许商家描述他们想要销售什么以及他们在哪里销售它。产品和渠道之间的关联可以被建模为产品发布并且由渠道应用访问,诸如经由产品列表api。产品可以具有许多选项(如尺寸和颜色)以及将
    可用选项扩展到所有选项的特定组合的许多变体,如额外小和绿色的变体、或尺寸大和蓝色的变体。产品可以具有至少一个变体(例如,为没有任何选项的产品创建“默认变体”)。为了便于浏览和管理,产品可以被分组为集合,被提供产品标识符(例如,库存单位(sku))等。产品集合可以通过要么将产品手动分类为一个(例如,定制集合)、通过构建用于自动分类的规则集(例如,智能集合)等来构建。产品可以通过虚拟、增强或混合现实接口等作为2d图像、3d图像、旋转视图图像来查看。
    54.在一些实施例中,顾客可以将他们想要购买的东西添加到他们的购物车(在替选实施例中,可以直接购买产品,诸如通过购买按钮,如本文所述)。顾客可以将产品变体添加到他们的购物车。购物车模型可以是渠道特定的。在线商店138购物车可以由多个购物车明细物品组成,其中,每个购物车明细物品跟踪产品变体的数量。商家可以使用购物车脚本来基于其购物车的内容向顾客提供特定的促销。由于向购物车添加产品并不意味着来自顾客或商家的任何承诺,并且购物车的预期寿命可以是大约几分钟(而不是几天),所以购物车可以被存留到短暂的数据存储装置。
    55.然后,顾客进行结账。结账组件可以将web结账实现为面向顾客的订单创建过程。结账api可被提供为由某些渠道应用使用的面向计算机的订单创建过程,以代表顾客创建订单(例如,用于销售点)。结账可以根据购物车而创建,并且记录顾客的信息,例如电子邮件地址、账单和运送详情。在结帐时,由商家承诺定价。如果顾客输入其联系信息但并没有进行支付,那么电子商务平台100可以提供与顾客重新接入的机会(例如,在放弃的结账特征中)。由于这些原因,结账可以具有比购物车长得多的寿命(几小时或者甚至几天),并且因此被存留。结账可以基于顾客的运送地址来计算税款和运送成本。结帐可以将税款计算委托给计税组件,并将运送成本计算委托给递送组件。定价组件可以使商家能够创建折扣代码(例如,当在结账处输入时将新价格应用于结账处的物品的“秘密”字符串)。折扣可以由商家用来吸引顾客并评估营销活动的表现。折扣和其他定制价格系统可在同一平台片段之上实现,诸如通过价格规则(例如,在满足时暗示一组权利的一组先决条件)。例如,先决条件可以是诸如“订单小计大于$100”或“运送成本低于$10”的物品,并且权利可以是诸如“整个订单的20%折扣”或“产品x、y和z减$10”的物品。
    56.然后,顾客为他们的购物车的内容支付,从而为商家创建订单。渠道110a-b可以使用商务管理引擎136来从以及向消费者和商家移动金钱、货币或价值存储(例如美元或加密货币)。与各种支付提供商(例如,在线支付系统、移动支付系统、数字钱包、信用卡网关等)的通信可以在支付处理组件内实现。与支付网关106的实际交互可以通过卡服务器环境来提供。在一些实施例中,支付网关106可接受国际支付,诸如与领先的国际信用卡处理器整合。卡服务器环境可以包括卡服务器应用、卡槽、托管字段等。该环境可以充当敏感信用卡信息的安全关守。在一些实施例中,大部分过程可由支付处理作业来编排。商务管理引擎136可以支持许多其他支付方法,诸如通过非现场支付网关106(例如,其中顾客被重定向到另一网站)、手动(例如,现金)、在线支付方法(例如,在线支付系统、移动支付系统、数字钱包、信用卡网关等)、礼品卡等。在结账过程结束时,订单被创建。订单是商家和顾客之间的销售合同,其中,商家同意提供订单上列出的商品和服务(例如,订单明细物品、运送明细物品等),而顾客同意提供支付(包括税款)。该过程可以在销售组件中建模。不依赖于商务管理引擎136结帐的渠道110a-b可以使用订单api来创建订单。一旦创建了订单,就可以将订
    单确认通知发送给顾客,并且经由通知组件将下订单通知发送给商家。当支付处理工作开始时可以预留库存以避免超售(例如,商家可以根据每个变体的库存策略来控制这种行为)。库存预留可以具有短的时间跨度(几分钟),并且可能需要非常快速和可缩放以支持快销(例如,短时间内提供的折扣或促销,诸如以冲动购买为目标)。如果支付失败,则释放预留。当支付成功并创建了订单时,预留被转换成分配给特定位置的长期库存承诺。库存组件可以记录变体被存货的位置,并且跟踪启用了库存跟踪的变体的数量。它可以将产品变体(代表产品列表的模板的面向顾客的概念)与库存物品(代表其数量和位置被管理的物品的面向商家的概念)分离。库存水平组件可以跟踪可用于销售、提交到订单或从库存转移组件(例如,从供应商)传入的数量。
    57.然后,商家可以审阅并履行(或取消)订单。审阅组件可实现业务过程商家的使用以确保订单在实际履行之前适于履行。订单可能是欺诈性的,需要验证(例如,id检查),具有需要商家等待以确保他们将收到他们的资金的支付方法,等等。风险和建议可以被存留在订单风险模型中。订单风险可以从欺诈检测工具生成、由第三方通过订单风险api提交等。在进行履行之前,商家可能需要捕获支付信息(例如,信用卡信息)或等待接收它(例如,经由银行转帐、支票等)并将订单标记为已支付。商家现在可以准备用于递送的产品。在一些实施例中,该业务过程可以由履行组件实现。履行组件可以基于库存位置和履行服务将订单的明细物品分组到工作的逻辑履行单元中。商家可以审阅、调节工作单元、以及触发相关的履行服务(诸如通过在商家在盒子中挑选和打包产品时使用的手动履行服务(例如,在商家管理的位置处))、购买运送标签并输入它的跟踪号、或仅仅把物品标记为已完成。定制履行服务可以发送电子邮件(例如,不提供api连接的位置)。api履行服务可以触发第三方,其中,第三方应用创建履行记录。传统履行服务可以触发从商务管理引擎136到第三方的定制api调用(例如,由amazon的履行)。礼品卡履行服务可以提供(例如,生成号码)并激活礼品卡。商家可以使用订单打印机应用来打印装箱单。当物品被打包在盒子中并且准备好运送、被运送、跟踪、递送、验证为由顾客接收等时,履行过程可以被执行。
    58.如果顾客不满意,他们可将(一个或多个)产品退货给商家。业务过程商家可以经历由退货组件实现的“取消销售”物品。退货可由各种不同的动作组成,例如再上货,其中,被销售的产品实际上回到了企业中并且可再次销售;退款,其中,从顾客收取的钱被部分或全部退还;记下退款了多少钱的记账调节(例如,包括是否存在任何再进货费用,或未退还并留在顾客手中的货物);等等。退货可以表示对销售合同(例如,订单)的改变,并且其中电子商务平台100可以使商家知道关于法律义务(例如,关于税务)的合规问题。在一些实施例中,电子商务平台100可以使商家能够跟踪销售合同随时间的改变,诸如通过销售模型组件(例如,记录发生于物品的与销售有关的只能添加的基于日期的分类账)实现的。
    59.将电子商务平台100用于实体零售商店中的路线引导在电子商务平台100上具有商家账户的商家可以具有实体零售商店。商家可以具有或可以不具有在线商店。实体零售商店可能具有带有可穿过(例如可步行)路径(也称为可通行区域)的物理布局。实体零售商店内的产品可以可经由可通行区域来访问,并且产品位置和可通行区域两者都可以存储在电子商务平台100中。
    60.访客可以进入商家的实体零售商店以搜索特定产品,而无需知道该产品位于实体零售商店内的何处。访客可以被称为用户。访客可以具有电子商务平台100上的用户账户,
    并且具有存储在电子商务平台100中的相关联的用户简档。用户简档可以作为数据134的一部分存储在存储器中。用户简档可以存储用户特定信息,诸如用户的先前购买历史、和/或用户的偏好、和/或用户的服装尺寸、和/或用户与商家在电子商务平台上的先前交互(诸如文本或电子邮件交换)、和/或用户的地址信息、和/或用户的账单信息等。存储在用户简档中的一些信息可以与运行实体零售商店的商家相关联(例如,由商家向用户销售的产品的先前购买历史)。用户简档中的其他信息可能不与运行实体零售商店的商家特别相关(例如,用户购买的由其他商家在电子商务平台100上销售的产品的先前购买历史)。与用户简档相关联的用户可能过去从未访问过商家的实体零售商店和/或可能从未查看或购买过该商家所销售的任何产品,然而该人可能仍然具有存储在电子商务平台100中的用户简档,例如指示用户的偏好、在电子商务平台100上与其他商家的先前购买历史等的用户简档。如果用户没有用户简档,则当该人第一次进入商家的实体零售商店时可以创建该访客的用户简档,例如通过向用户分配唯一且新的用户id并且一旦获知(例如,如果该人进行了购买)就在用户简档中填充信息。
    61.电子商务平台100可以包括商店路线引擎,其通过在商店内生成实时路线引导来帮助访客在实体零售商店内找到特定目标产品。店铺定路线引擎还可以引导访客经过引擎确定为商家实体零售商店内销售的推荐产品的产品,其中推荐产品可以根据以下信息确定:目标产品,和/或用户特定的信息(例如,存储在电子商务平台100中的用户简档中的信息)和/或基于商家的标准。由商店定路线引擎生成的路线推荐可以基于访客在商家的零售商店中的物理位置、目标产品的位置以及一个或多个推荐产品的位置(例如,基于存储在电子商务平台100中的存储器中的产品库存和位置数据)将访客引导到目标产品。在一些实施例中,产品推荐规则和实体零售商店中的可通行区域的模型存储在电子商务平台100的存储器中,并且用于生成产品推荐。
    62.图3示出图1的电子商务平台100,但是在商务管理引擎136中具有商店定路线引擎202。商店定路线引擎202执行本文公开的商店定路线方法,例如为用户在实体零售商店中确定路线。例如,商店定路线引擎202可以确定与实体零售商店中的访客相关联的目标产品和用户简档,并且提供到达目标产品的路线引导,其中路线可以包括经过一个或多个推荐产品。商店定路线引擎202可以由一个或多个通用处理器实现,所述通用处理器执行存储在存储器中或存储在另一计算机可读介质中的指令。指令在被执行时使商店定路线引擎202执行商店定路线引擎202的操作。商店定路线引擎202用于向实体零售商店的访客提供到特定目标产品或位置的路线引导,例如如本文所描述的。替代地,商店定路线引擎202中的一些或全部可以使用专用电路来实现,诸如专用集成电路(asic)、图形处理单元(gpu)或经编程的现场可编程门阵列(fpga)。在一些实施例中,商店定路线引擎202可以位于电子商务平台100的外部。
    63.尽管可以使用在电子商务平台100中实现的商店定路线引擎202来实现下面描述的实施例,但是下面描述的实施例并不限于图1至3的特定的电子商务平台100,并且可以结合任何电子商务平台来使用。在一些实施例中,甚至不需要在电子商务平台上或与电子商务平台相关联的实现。例如,本文描述的功能可以被实现为独立的组件或服务(例如,在电子商务平台100外部),或者完全或部分地由实体零售商店中的本地计算设备(例如,用户设备)来实现。因此,将更一般地描述下面的实施例。
    64.用于实体零售商店中的店内路线引导的示例系统图4示出根据一个实施例的用于实体零售商店中的店内路线引导的系统。该系统包括商店定路线引擎302和至少一个实体零售商店340。仅示出单个实体零售商店340。
    65.商店定路线引擎302包括处理器304,其用于实现本文描述的由商店定路线引擎302执行的操作,例如诸如标识零售商店340中的可通行区域和基于特定信息(例如商店内的位置、其他推荐产品的位置)为在零售商店340中寻找目标产品的访客生成路线推荐的操作。处理器304可以由一个或多个通用处理器来实现,所述通用处理器执行存储在存储器(例如存储器308)中的指令。指令在被执行时使处理器304直接执行或替代地指示商店定路线引擎302执行商店定路线引擎302的操作。在其他实施例中,处理器304可以使用专用电路来实现,诸如经编程的现场可编程门阵列(fpga)、图形处理单元(gpu)或专用集成电路(asic)。
    66.商店定路线引擎302还包括网络接口306。网络接口306用于通过网络310进行通信,例如以与下面描述的商家设备320和/或用户设备330进行通信。取决于实现,网络接口310可以被实现为网络接口卡(nic)和/或计算机端口(例如,插头或线缆连接到的物理插口)和/或网络插座等。
    67.商店定路线引擎302还包括存储器308。图4中示出单个存储器308,但是在实现中存储器308可以是分布式的。存储器308存储在商店定路线引擎302中标识的每个用户的用户简档309、零售商店340中每个库存产品的产品库存和产品位置数据311、推荐规则313和可通行区域的模型315。图4中仅示出单个用户简档309。当用户第一次访问零售商店340时,或者可能在用户第一次访问零售商店340之前,例如如果用户使用软件应用(例如“购物app”)单独向商店定路线引擎302注册并创建简档,和/或当用户在另一商家的另一商店中购买产品时,可以建立用户简档309。产品库存和产品位置数据311包括零售商店340中库存的每个产品的记录,以及该产品在零售商店340中的位置。存储在存储器308中的推荐规则313是可以包含标准的规则,所述标准诸如目标产品、商家指定的标准和基于用户简档309的用户特定的标准,以便提供在产品库存数据311内找到的与零售商店340相关的其他产品的用户推荐。存储器308中的可通行区域的模型315包括零售商店340中已被确定为可通行(例如可步行)的路径,并且可以用于将用户引导至目标和/或推荐产品。可通行区域的模型315可以使用商家设备320来确定,如本文中进一步描述的。
    68.在一些实施例中,商店定路线引擎302可以在电子商务平台内部实现。在一些实施例中,处理器304、存储器308和/或网络接口306中的一些或全部可以位于商店定路线引擎302之外。
    69.零售商店340包括待售产品,例如产品342。在一些实施例中,每个产品可以包括允许该产品从其他产品或其他产品类型唯一地标识的特征。例如,特征可以是射频标识 (rfid)标签344或一些其他机器可读标记,诸如例如,某种形式的视觉机器可读标记,诸如例如,条形码或qr码。如稍后解释的,该特征(如果存在)可以可选地用于帮助确定产品在零售商店340中的位置。在一些实施例中,一个或多个无线发射器,例如信标346,可以存在于零售商店340中以与用户设备330和/或商家设备320无线通信。无线通信可以通过bluetooth

    ,例如蓝牙低功耗(le)。在一些实施例中,无线通信可以通过超宽带(uwb)。
    70.零售商店340包括商家设备320,其是由零售商店340的商家使用的计算设备。商家
    设备320可以是智能电话、膝上型计算机、平板计算机、眼镜或耳机,其可以被配置用于增强现实(ar)、混合现实(mr)或虚拟现实(虚拟现实),这取决于实现。商家设备320包括处理器322、存储器324、用户界面328和网络接口326。处理器324直接执行或指示商家设备320执行本文描述的商家设备320的操作,例如确定可通行区域的模型315以及零售商店340中产品的产品库存和位置数据311,并且通过网络310将该信息传送到商店定路线引擎302。处理器322可以由执行存储在存储器(例如存储器324)中的指令的一个或多个通用处理器来实现。指令在被执行时使处理器322直接执行或指示商家设备320执行本文描述的商家设备320的操作。在其他实施例中,处理器322可以使用专用电路来实现,诸如经编程的fpga、gpu或asic。用户界面328可以被实现为显示屏(其可以是触摸屏并且可能集成到诸如耳机或眼镜之类的ar、mr或vr设备(在本文中通常表示为“ar设备”)中)、和/或键盘、和/或鼠标、和/或指环、和/或扬声器等,这取决于实现。网络接口326用于通过网络通信,例如以可能通过网络310与商店定路线引擎302和/或信标346通信。网络接口326的结构将取决于商家设备320如何与网络对接。例如,如果商家设备320是移动电话、平板计算机或ar设备,则网络接口326可以包括具有天线的发射器/接收器以向网络发送无线传输/从网络接收无线传输。如果商家设备320是利用网络线缆连接到网络的个人计算机,则网络接口326可以包括网络接口卡(nic)和/或计算机端口(例如,插头或线缆连接到的物理插口)和/或网络插座等。
    71.访客可以在零售商店340中,并且该访客可能具有相关联的计算设备,其在图4中被标记为用户设备330。访客可以被称为“用户”。用户设备330是访客携带的移动电话,但是取决于场景,可以代替地是平板计算机、膝上型计算机、ar设备等。用户设备330包括处理器332、存储器334、用户界面338和网络接口336。处理器332直接执行或指示用户设备330执行本文描述的用户设备330的操作,例如与商店定路线引擎302通信以提供用户的用户id,可能与零售商店340中的信标(例如信标346)通信,接收到目标产品和/或位置的路线引导等,这取决于实现。处理器332可以由执行存储在存储器(例如存储器334)中的指令的一个或多个通用处理器来实现。指令在被执行时使处理器332直接执行或指示用户设备330执行本文描述的用户设备的操作。在其他实施例中,处理器332可以使用专用电路来实现,例如经编程的fpga、gpu或asic。取决于实现,用户界面338可以被实现为显示屏(其可以是触摸屏)、和/或键盘、和/或鼠标、和/或扬声器等。网络接口336用于通过网络进行通信,例如可能通过网络310与商店定路线引擎302和/或商家设备320和/或信标346进行通信。网络接口336的结构将取决于用户设备330如何与网络对接。例如,如果用户设备330是移动电话或平板计算机,则网络接口336可以包括具有天线的发射器/接收器以向网络发送无线传输/从网络接收无线传输。如果用户设备330是利用网络线缆连接到网络的膝上型计算机,则网络接口336可以包括网络接口卡(nic)和/或计算机端口(例如,插头或线缆连接到的物理插口),和/或网络插座等。
    72.在一些实施例中,商店定路线引擎302是电子商务平台,例如电子商务平台100的一部分。例如,商店定路线引擎302可以是图3中所示的商店定路线引擎202。然而,这不是必需的。商店定路线引擎302可以替代地由电子商务平台的另一组件提供,或者被实现为电子商务平台外部的独立组件或服务。在一些实施例中,图3的应用142a-b中的任一者或两者可以以可下载的应用的形式提供商店定路线引擎302,该可下载应用可用于与商家账户和/或用户(客户)帐户相关的安装。在一些实施例中,商店定路线引擎302的至少一部分可以在商
    家设备上实现,例如在图3的商家设备102或图4的商家设备320上实现。例如,商家设备可以作为软件应用在本地存储和运行商店定路线引擎302中的一些或全部。在一些实施例中,商店定路线引擎302的至少一部分可以在客户设备上实现,例如在图3的客户设备150或图4的用户设备330上实现。例如,客户设备可以作为软件应用在本地存储和运行商店定路线引擎302中的一些或全部。在一些实施例中,商店定路线引擎302中的一些或全部可以在零售商店340中的计算设备上实现,并且该计算设备可能是或可能不是与商家设备320相同的计算设备。图4将商店定路线引擎302示出为与商家设备320、用户设备330和实体零售商店340分开。下面描述的实施例将假设商店定路线引擎302与商家设备320、用户设备330和实体零售商店340分开,如所示。
    73.确定实体零售商店中的路线在存储器308中建立产品库存和位置数据311和可通行区域的模型315之后,商店定路线引擎302可以向零售商店340的访客提供用于到达商店340内的目标产品的推荐路线。存储在存储器308中的该数据可以与特定于访客的数据(例如,访客的位置可能连同来自用户简档309的信息)结合使用以便确定推荐路线,该推荐路线通过用户设备330的用户界面338实时呈现给访客。
    74.例如,用户fred可以进入实体零售商店340“jane的男装”,意图购买产品342,“男士的蓝色牛仔裤”。商店定路线引擎302可以帮助fred在jane的男装的实体零售商店340中找到男士的蓝色牛仔裤以及fred可能感兴趣的其他产品。
    75.图5提供了根据一些实施例的用于确定实体零售商店340中的路线的方法,其中执行本文描述的步骤以最终将用户引导到推荐和目标产品。方法500可以由与商店定路线引擎(例如,处理器或处理器的组合,诸如商店定路线引擎302中的处理器304)相关联的计算设备来执行。如下具体描述的方法500由商店定路线引擎302的处理器304执行,该处理器与零售商店340中的商家设备320和用户设备330通信。
    76.在方法500的步骤502,零售商店340中每个产品的位置被记录。如此记录的数据(“记录的数据”)可以作为产品库存和位置数据311保存在商店定路线引擎302的存储器308中。根据一些实施例,产品库存和位置数据311可以包括零售商店340的2d或3d模型,并且可以由使用商家设备320的在零售商店340中行走的商家使用本文描述的方法生成。例如,商家jane可以穿过她的实体零售商店340——jane的男装,并使用带有内置 rfid读取器的商家设备320扫描每个待售产品上的rfid标签。商家jane可以扫描男士的蓝色牛仔裤的rfid标签,并且男士的蓝色牛仔裤的位置可以由商店定路线引擎302基于商家jane的商家设备320在扫描时参考实体零售商店340中的定义的起始位置的位置来确定。男士的蓝色牛仔裤的位置存储在存储器308中的产品库存和位置数据311中。rfid标签的使用只是一个示例,例如可以替代地实现其他类型的技术,例如其他类型的信标,诸如bluetooth


    77.可通行区域的模型315在方法500的步骤504定义。可通行区域的模型315提供实体零售商店340内的可穿越(例如可步行)路径的映射,该映射存储在商店定路线引擎302的存储器308中。可以基于商家使用商家设备320穿越通过实体零售商店340(例如,在步骤502中记录每个产品的位置的同时)来确定模型。附加地或替代地,可以基于实体零售商店的映射和/或使用店内雷达确定的用户的交通模式等来确定模型,本文描述了其一些实施例。例如,商家jane可以通过首先定义商店的虚拟坐标表示然后用她的商家设备320在商店来回
    移动来定义她的实体零售商店340——jane的男装中的可通行区域的模型315。模型315可以假设jane穿越的商店区域是可通行区域,并且她没有穿越的区域被阻碍。
    78.接下来,在方法500的步骤506标识用户和他们的目标产品。使用商店定路线引擎302确定访客(诸如与用户设备330相关联的用户)的身份,以及访客正在搜索的产品,即目标产品。访客可以使用他们的用户设备330来访问与零售商店340相关联和/或与电子商务平台相关联的软件应用。软件应用可以与商店定路线引擎302通信或作为其一部分,并且访问保存的用户简档,诸如存储在存储器308中的用户简档309。访客可能能够基于存储在商店定路线引擎302的存储器308中的产品库存和位置数据311从他们的用户设备330上的相同应用标识他们的目标产品。例如,fred可以进入jane的男装的零售商店340并登录到商店的相关联的软件应用。商店定路线引擎302可以标识fred已经经由网络310登录到应用并调出他的用户简档309。通过fred的用户设备330的用户界面338,fred可以基于通过软件应用呈现给fred的jane的男装的库存来指示他的目标产品是男士的蓝色牛仔裤。目标产品可以由商店定路线引擎302经由网络310访问。
    79.在方法500的步骤508,确定一个或多个推荐产品。对于在步骤506中标识的特定用户,一个或多个推荐产品是该用户可能感兴趣的附加产品,并且可以由商店定路线引擎302基于以下各项中的至少一个来标识:目标产品、由商家指示的标准、或基于来自用户简档309 的信息的用户特定的标准。商店定路线引擎302可以使用存储在存储器308中的推荐规则313来向已经标识目标产品的访客推荐产品。例如,fred可能指示他正在jane的男装零售商店340中寻找男士的蓝色牛仔裤。商店定路线引擎302可以基于在fred的用户简档309上指出的对颜色蓝色的偏好和指示他最近没有购买过衬衫的fred的购买历史,将蓝色法兰绒衬衫标识为给fred的推荐产品。
    80.最后,在方法500的步骤510,沿着受一个或多个推荐产品影响的路线引导用户。商店定路线引擎302的处理器304可以基于可通行区域的模型315确定引导用户到他们的目标产品的路线,其中引导用户通过基于推荐规则313推荐的产品。商店定路线引擎302可以使用在用户设备338的用户界面338处提供的一个或多个指令来引导用户穿过零售商店340。例如,商店定路线引擎302可以通过fred的用户设备330上的软件应用(例如基于浏览器的应用或本地应用)向fred提供在jane的男装零售商店340内的实时引导。商店定路线引擎302可以引导fred穿过在去往fred的目标物品(其是男士的蓝色牛仔裤)的路上展示推荐产品(诸如蓝色法兰绒衬衫)的过道。
    81.在一些实施例中,方法500的步骤可以以不同的顺序执行。在一些实施例中,方法500的步骤中的一些可以部分或完全并行执行,例如步骤502和504可以并行执行。在一些实施例中,可能不执行方法500的步骤中的一些。
    82.记录商店中每个产品的位置方法500的步骤502记录零售商店340中每个产品的位置。为了能够将用户引导至目标产品和零售商店340中的其他推荐产品,必须知道商店中产品的位置。
    83.在一个实施例中,记录零售商店中产品的位置包括将零售商店的空间映射到虚拟坐标空间,其中在该空间中为每个产品分配一个(x,y,z)坐标。例如,商家可以用商家设备,诸如商家设备320,从初始位置(例如商店的前面)开始穿过他们的实体零售商店340。商家设备320可以是或包括条形码扫描仪或rfid扫描仪。初始位置被分配虚拟坐标空间的原点
    (0,0,0)。在一些实现中,原点可以与固定的机器可读标记相关联,诸如例如条形码或qr码,例如,商家可以通过扫描商店前面的指定虚拟空间的原点的特定机器可读标记(例如qr码)来开始记录其位置,商家然后从该原点开始穿过在商店。当商家设备320遍及商店移动时,商家设备320的位置被记录为虚拟坐标空间中相对于定义的原点的坐标点。商家设备320标识出现在每个位置的任何产品。
    84.在一些实现中,可以通过商家设备320读取每个产品的机器可读标记/代码(例如条形码或qr码)来标识产品。机器可读代码唯一地标识产品,并且在读取代码的情况下商家设备的位置可以用作该产品的位置。例如,如果当商家设备320扫描男士的蓝色牛仔裤的条形码时,商家jane的商家设备320处于jane的男装零售商店的虚拟坐标(235,456,10),则男士的蓝色牛仔裤在商店中的位置被捕获为坐标(235,456,10)。代替机器可读代码,可以替代地使用其他技术。例如,每个产品可以包括rfid标签,诸如产品342的rfid标签344。商家设备320可以包括接收由rfid标签发送的数字数据的rfid读取器。来自标签的数字数据唯一地标识产品,并且在读取rfid标签时商家设备320的位置被用作该产品的位置。如果商家设备320能够估计其与rfid标签的距离(例如,使用从rfid标签接收到的信号的接收信号强度),则估计的距离测量结果可以用于改善分配给产品的(x,y,z)位置坐标的准确度。
    85.在一些实现中,虚拟坐标空间是二维的并且不捕获产品所在的高度。
    86.在上面的示例中,需要跟踪商家设备320的物理位置,以便可以将物理位置映射到虚拟位置坐标,例如基于与初始位置的物理位移。确定商家设备320的物理位置的示例方式的非详尽列表包括:
    ●ꢀ
    室内定位系统(ips),例如通过使用三角测量;
    ●ꢀ
    gps;
    ●ꢀ
    信标技术。例如,信标,诸如零售商店340中的信标346,可以放置在商店周围。当商家设备320进入特定信标346的区域时,商家设备例如经由bluetooth

    接收来自该信标的信号传输。从该信标发送的信号包括该信标的标识符。存在信标标识符到商店中的物理位置的预定义映射;
    ●ꢀ
    计算机视觉,其可以与商家设备上的其他传感器结合;
    ●ꢀ
    各种以上示例方式相结合,诸如例如以提高准确度。
    87.例如,可以如下实现计算机视觉的使用。当商家设备320移动时,商家设备320的相机不断地捕获图像。分析捕获的图像以跟踪从一个图像到下一个图像的相机位置的变化。例如,可以分析每个图像以寻找图像中的特征点,诸如表面、边缘和/或对象。所标识的特征点可以用于确定相对于那些特征点的位置,并确定该位置如何从一个图像到下一个图像变化。其他信息也可以用于跟踪从一个图像到下一个图像的位置变化,诸如来自加速度计和/或陀螺仪的定向和/或旋转数据;商家提供的信息(例如,货架、箱柜和其他固定物品的已知物理尺寸)等。可以相对于原点测量所跟踪的位置变化。
    88.在涉及计算机视觉以确定商家设备320的位置的另一实现中,可以将在使用商家设备320的实时扫描中捕获的实体零售商店340的图像与先前进行的商店的图像扫描的图像进行比较。例如,增强现实(ar)框架可以用于使用利用商家设备的相机馈送和/或光检测和测距(lidar)传感器捕获的深度、表面和位置信息执行实体零售商店340的完全扫描。实时捕获的图像可以与从先前的深入扫描获知的商店内的位置进行比较。将实时捕获的图像
    与存储在存储器中的先前深入扫描图像进行比较,而不是与实时流中较早捕获的图像进行比较,可以减少系统的时间和处理器要求。
    89.在另一个实施例中,可以使用分配给实体零售商店340内的展示或存储单元的唯一标识符将零售商店中产品的位置记录并保存为商店定路线引擎302的存储器308中的产品库存和位置数据311。产品所在的展示或存储单元可以是已知的,并且映射可以将每个产品与该产品驻留在其中或其上的展示或存储单元的唯一标识符相关联。代替存储每个产品的(x,y,z)坐标位置,如在较早解释的一些实施例中,可以在产品库存和位置数据311中存储货架、架子或箱柜号。还可以存储零售商店340的地图,该地图记录了每个唯一的展示和存储单元的物理位置。例如,男士的蓝色牛仔裤所在的展示单元可以被标识为货架1037,因此可以使用标识符1037来存储与男士的蓝色牛仔裤相关的位置数据。
    90.在又另一实施例中,商店的物理布局和/或商店中的产品位置可以是相对静态的,使得可以例如在商店创建时预定义商店的详细模型和产品位置。模型可以是2d或3d。模型和产品位置可以基于以上描述的实施例中的任何实施例的方法生成,或者替代地基于另一种方法生成,诸如在商店定路线引擎302的存储器308中手动输入产品库存和位置数据311。
    91.定义可通行区域的模型方法500的步骤504涉及定义可通行区域的模型,诸如定义零售商店340的可通行区域的模型315。通过零售商店340的可通行区域的不同路线(例如可步行路径)的确定用于将用户引导至商店340内的目标产品和推荐产品。
    92.在一些实施例中,商店的可通行区域被划分为多个段,每个段表示一个分立区域。段将被称为单元。单元尺寸可以被预定义并且可以相对小(例如10cm x 10cm)。有时,单元可以替代地表示3d体积,例如3d坐标空间中的框。在商店布局模型中不存在单元的无论什么地方,假设用户无法穿越该位置,例如由于诸如货架之类的障碍物,或者因为该位置受到限制或不包含商品。注意,如本文使用的“可通行区域”包括2d区域或3d区域。例如,取决于实现,零售商店的可通行区域可以是零售商店的特定3d体积。作为另一个示例,取决于实现,零售商店的可通行区域可以是地板空间的特定2d区域。
    93.每个单元与商店中的一个位置(例如虚拟坐标)相关联。例如,单元中心的虚拟坐标可以定义为单元的位置。
    94.图6是根据一个实施例的零售商店340中的可通行区域的示例2d模型600。模型600将零售商店340的空间映射到2d虚拟坐标空间。零售商店340可以是jane的男装,并且模型600可能已经由商家jane使用她的商家设备320建立。模型600可以作为模型315存储在商店定路线引擎302的存储器308中。模型600的虚拟原点(0,0)可以表示jane的男装的实体零售商店的入口,并且模型600中出现的单元表示jane穿越通过的商店中的可步行路径。例如,模型600中的所示单元(180,-140)表示jane的男装内相对于商店的入口的位置。模型600中没有单元的空间可以表示商店中不包含商品的区域,诸如存储和展示、收银机区域、试衣间等。
    95.存在若干方式,可以以它们将表示可穿越区域的单元映射到可通行区域的模型。如下描述这些方法中的一些。
    96.在实施例中,商家在扫描产品时带着他们的商家设备320穿越实体零售商店340,并且商家设备320的位置被假设在可通行区域中。可以在商家设备320移动经过的位置填充
    单元,其中每个单元的位置被定义为创建单元时商家设备320的位置。
    97.图7是根据实施例的商家设备320导航实体零售商店340中的可通行区域的虚拟坐标表示的示例。模型700显示商家从原点(0,0)开始,并穿越通过商店的可通行区域。商家的路径由商家持有的商家设备320记录并在模型700中映射为指示可通行区域的单元。
    98.模型700可以假设商店内没有被单元填充的区域不是可通行区域。然而,在一些实施例中,当商家设备320(或一个或多个买家/访客设备)在商店中移动时,可以添加附加的单元,例如,当商家在他们的日常活动中在商店中移动时,商家设备320可以在很长时间段内保持跟踪和添加单元。
    99.在另一个实施例中,可通行区域的模型315中的单元可以手动定义,例如基于商店布局的地图。例如,如果商店布局相对静态,则可以基于货架、试衣间等的已知位置手动创建模型,该模型指示不可通行区域。可以为可通行区域手动定义任何期望粒度的单元。
    100.在又另一实施例中,当人们遍及商店移动时可以检测交通模式。例如,雷达可以用于确定人们正在哪里移动。存在交通的区域被假设为可通行区域并被划分为单元。没有交通的区域被假设为不可通行/无法通行的区域。通常,可通行区域可以从不可通行区域推断出来,或者反之亦然。
    101.在又另一实施例中,可通行区域和/或不可通行区域可由客户设备,例如用户设备330确定。例如,用户设备330可能正在运行商店的应用,该应用将与用户设备的位置相关的信息中继回到商店定路线引擎302。可以假设用户设备330的位置是零售商店340的可通行区域。
    102.标识用户及他们的目标产品在方法500的步骤506,商店定路线引擎302标识用户设备330的用户以及用户正在寻找的目标产品。
    103.在一个实施例中,用户使用他们的用户设备330(例如使用他们的移动设备)访问软件应用(“app”)。该应用可以是基于web/浏览器的应用、本机应用或混合应用。该应用可以是商家特定的和/或与电子商务平台(诸如电子商务平台100)相关联。用户提供他们的登录详细信息,其标识用户(例如,经由用户id)。用户具有存储在存储器中的用户简档,诸如商店定路线引擎302的存储器308中的用户简档309。用户简档309可以包括关于用户的详细信息,包括偏好、购买历史、浏览历史等。
    104.图8示出根据一个实施例的用户“fred”的示例用户简档309。用户被分配了一个唯一的用户id 57468556,其将用户与商店定路线引擎302中标识的其他用户区分开来。用户简档309可以包括以下信息:诸如个人信息802(例如用户的姓名、年龄、用户id等);和/或账单信息810(例如用户的信用卡信息);和/或偏好804(例如用户的偏好颜色、材料、产品、兴趣等);和/或购买历史806;和/或浏览历史808(例如先前在商家的网站和/或电子商务平台上的其他商家的网站上查看的产品的浏览历史)。例如,fred的用户简档指示他的偏好材料是法兰绒,并且他最近购买并浏览了法兰绒衬衫的产品网页。图8中示出的信息只是一个示例。可以包括附加的或不同的信息,例如与用户与一个或多个商家进行的先前交易相关的信息。
    105.购买历史806可以是零售商店340特定的和/或与零售商店340相关联的商家特定的。在一些实施例中,对于从在商店定路线引擎302上具有商家帐户或可访问商店定路线引
    擎302的任何商家进行的任何购买,可以记录用户的购买历史806。在图8的示例中,商家 jane是经营零售商店340的商家。用户fred先前曾从商家jane处购买过蓝色牛仔裤和法兰绒衬衫。在图8中没有指示这些先前的产品是在零售商店340中还是通过另一种方法(例如经由jane的在线商店)从商家jane购买的。该指示可以作为购买历史806的一部分被包括在内。在图8的示例中,在购买历史806中指示用户fred先前从另一商家(商家kathy)购买了钱包。在该示例中,商家kathy与商家jane没有关系,除了两个商家都向商店定路线引擎302注册之外,例如两个商家都在商店定路线引擎302上具有商家帐户或可访问商店定路线引擎302。商家jane可能有权或者可能无权访问与商家kathy相关的购买历史,这取决于权限设置。类似地,浏览历史808可能仅是商家jane特定的,例如仅包括用户fred在商家jane的网站上进行的产品查看。替代地,浏览历史808还可以包括用户对其他商家的在线商店的浏览历史。
    106.每当用户fred执行提供关于用户fred的附加信息的动作时,例如当fred进行附加购买或执行附加在线浏览时,可以更新存储在用户简档309中的信息。用户简档309也可以由用户fred手动更新,例如用户fred可以使用安装在用户fred的用户设备330上或可经由用户fred的用户设备330访问的软件应用来手动更新他的偏好。
    107.关于用户的信息,诸如来自用户简档309的信息,可以用于确定推荐产品,该推荐产品可以用于确定以下路线:沿着该路线将用户引导到目标产品。
    108.通过经由用户设备330可访问的软件应用,用户可以能够访问商家的产品库存和位置数据311并查看零售商店340中待售的产品。用户可以基于可用库存选择目标产品。
    109.图9示出根据一个实施例的零售商店340的产品库存和位置数据311的示例。用户可以经由用户设备330而可访问存储在商店定路线引擎302的存储器308中的产品库存和位置数据311。可以为库存的每个产品存储的示例字段包括:产品名称902、产品描述904、产品id 906(例如产品库存量单位(sku))、库存的产品数量908等。还存储了产品在商店 340中的位置910。位置可以存储为零售商店340的3d空间中的(x,y,z)坐标,如图9 所示的示例中的情况。例如,图9示出在jane的男装的零售商店中的待售产品的产品库存和位置数据。数据中列出的第一个产品是男士的蓝色牛仔裤,其通过它们的材料、颜色和尺寸进行描述。该产品的关联sku被列出为“jx1524bj34”,数据指示在商家jane的零售商店的3d模型中坐标(235,456,10)处有四双库存。
    110.可以替代地使用表示每个产品的位置的其他方式,例如通过指定商店中的区域、货架号、箱柜号等。如果同一产品位于商店中的多个位置(例如,一些在地板上不去一些在储藏室中),那么存储器中可以有两个单独的条目,例如,如图9中表格的前两行所示。图9中的数据可以在产品被销售时、在新产品到达时以及在产品的位置改变的情况下更新。存储的详细信息是实现特定的,图9中的表格格式只是一个示例。
    111.关于用户的信息,诸如在用户简档309中找到的信息、目标产品和零售商店中待售的其他产品,诸如产品库存和位置数据311,可以用于确定一个或多个推荐产品。路线引导然后可能受到目标和推荐产品的影响。
    112.确定一个或多个推荐产品实体零售商店340中的可通行区域在方法500的步骤504处确定,并且可能存在通过可通行区域的多条路线,可以采用所述多条路线来到达目标产品。商店定路线引擎302可
    以引导用户所沿的特定路线可能受到推荐产品的位置的影响。
    113.方法500的步骤508涉及确定一个或多个推荐产品。存储在用户简档309中的与用户相关联的信息和产品库存和位置数据311连同推荐规则313一起可以用于推荐用户可能有兴趣购买的产品。
    114.对于特定用户,可以基于以下因素推荐产品,诸如:用户特定标准,和/或目标产品,和/或商家所指示的标准。
    115.可以基于存储在商店定路线引擎302的存储器308中的与用户相关联的用户简档309来确定用户特定标准。用户简档,诸如图8的简档309,可以包括用户的偏好、购买历史、浏览历史等。例如,如果用户的购买历史显示他们购买鞋子的频率很高,那么鞋子可能是推荐产品。作为另一个示例,如果fred在jane的男装网站上的在线浏览历史指示fred查看jane的男装销售的特定黑色法兰绒衬衫,那么该黑色法兰绒衬衫可能是推荐产品。
    116.如在方法500的步骤506确定的目标产品也可以或替代地由商店定路线引擎302使用以确定补充推荐产品。例如,如果fred的目标产品是男士的蓝色牛仔裤,那么通常与牛仔裤一起穿戴的皮带可能被确定为推荐产品。
    117.同样,商家所指示的标准也可以或替代地由商店定路线引擎302使用来确定用户的推荐产品。无论特定用户和/或目标产品如何,商家都可以定义一个或多个推荐产品。这些推荐产品可以是商家希望向进入其实体零售商店340的任何用户销售或强调的产品。例如,商家可能会推荐打折或清仓的产品、季节性产品或商家可能希望从商店的库存中清除的任何产品,诸如去年的模型或呆滞库存。
    118.在一些实施例中,推荐规则被定义并用于推荐产品。这些推荐规则可以是存储在商店定路线引擎302的存储器308中的推荐规则313。推荐规则可以是在满足一定条件时推荐特定产品或产品类型或类别的决策做出逻辑的单元。推荐规则可以采用“如果-那么(if-then)”语句的形式。一些推荐规则可能仅基于目标产品,例如“如果目标产品是男士的蓝色牛仔裤,那么推荐腰带”。一些推荐规则可以附加地或替代地基于与用户相关联的用户简档309中的用户特定信息,例如“如果用户先前购买过男士的正装衬衫,那么推荐领带”或“如果目标产品是正装鞋子并且用户先前购买过男士的正装衬衫,那么推荐男士的正装裤”。一些推荐规则可以附加地或替代地基于用户的购买和/或浏览历史以及具有类似购买和/或浏览历史的其他用户购买的产品,例如“如果查看绿色法兰绒衬衫的用户最终在jane的男装零售商店中购买了黑色法兰绒衬衫,那么向查看绿色法兰绒衬衫的用户推荐黑色法兰绒衬衫”。协同过滤和其他类似方法的使可以用来生成这样的推荐规则。一些推荐规则可以附加地或替代地基于商家定义的规则,例如“如果袜子清仓,那么推荐袜子”或“如果目标产品是产品类别外套,那么推荐当前打折的户外运动装备”或“如果目标产品是正装鞋子并且用户先前购买过男士的正装衬衫,那么推荐j.k. renold正装裤”(例如因为该品牌正装裤对商家来说利润率很高)。
    119.取决于实现,可以以不同方式生成推荐规则。例如,推荐规则可以是由商家定制创建的,例如使用商家设备320的用户界面328。作为另一个示例,可以基于其他商家使用的为那些其他商家带来了积极的结果(诸如高销售转化)的推荐规则为商家添加推荐规则。这些推荐规则可以使用与在与目标产品相同的行业内使用的类似的产品、产品类别或其他产品相关联的聚合数据来确定。可以使用与商店定路线引擎302相关联的应用从若干商家收集
    聚合数据。若干商家可以在同一个电子商务平台(例如电子商务平台100)上,并且电子商务平台上的商店定路线引擎302或另一个应用可以收集聚合数据并从聚合数据中确定一个或多个推荐规则。作为另一个示例,推荐规则可以由目标产品领域的专家(诸如服装店中产品推荐的时尚专家)手动提供。
    120.沿着确定的路线引导用户方法500的步骤510涉及沿着受一个或多个推荐产品影响的路线引导用户。商店定路线引擎302的处理器304可以确定引导用户通过零售商店340以到达目标产品的路线,并且在用户设备330的用户界面338处向用户实时呈现路线引导。将用户引导至目标产品可以在商店外的初始位置处开始,例如,如果用户在访问app时在家,则从用户的家开始。然而,在任何情况下,一旦用户在零售商店340内,可能有从零售商店340内的那个位置到目标产品的多条路线。到达目标产品的路线可以包括如下路线:经过零售商店340中的一个或多个推荐产品而不将路线延伸超出从用户的当前位置到目标产品的最短路径太远。
    121.在一些实施例中,可通行区域的每个单元被分配一个成本值,并且可以选择一条路线作为使成本最小化的路线。替代地,代替使成本最小化,可以选择一条路线作为导致成本低于阈值或低于到目标产品的一个或多个替代路线的成本的路线。在一些实施例中,可以实施诸如a*(“a-star”)算法之类的算法来在使成本最小化的意义上确定最佳路径。a*算法是本领域已知的图遍历和路径搜索算法。a*算法找到从指定原点(例如用户的位置)到目的地(例如目标产品)可用的路径,然后在使成本最小化的意义上确定所有已确定路径中的最佳路径。
    122.默认可能是将成本值分配给单元使得最短路径具有最低成本(假设用户将希望到目标产品的可能的最短路线)。图10是具有分配给单元的成本值的可通行区域的模型1000的示例。模型1000示出实体零售商店340的可通行区域315的2d模型,其包括目标产品 1002在商店内的位置和用户1004的当前位置。模型1000中的每个单元都分配了一个介于 1和10之间的成本值,其中值10是最高成本。例如,模型1000可能是jane的男装零售商店的模型,其中fred正在搜索他的男士的蓝色牛仔裤的目标产品。模型1000显示fred在商店入口处的位置、男士的蓝色牛仔裤的位置以及与穿越通过实体零售商店340的每个单元以便到达目标物品相关联的成本。
    123.然而,在一些实现中,可以不同地分配单元成本值或对其加权以偏爱经过一个或多个推荐产品的路线。图11是具有分配给单元的成本值的可通行区域的模型1100的示例,其中成本值受推荐产品的影响。模型1100示出零售商店340的可通行区域的模型,包括目标产品1102的位置、用户1104的初始位置和推荐产品1106的位置。相对于图10的模型1000,推荐产品1106附近的单元成本值具有较低的关联成本,例如0或1比对2的值,从而使得用户更有可能将被沿具有推荐产品1106的过道引导,因为这样做导致与到目标产品1102 的替代路线相比使成本最小化或降低成本的路线。例如,模型1100可以是实时模型,其用于经由用户设备330指示fred将他引向jane的男装中的男士的蓝色牛仔裤,示出为目标产品1102。商店定路线引擎302可以确定蓝色法兰绒衬衫是推荐产品,示出为图11中的推荐产品1106。产品库存和位置数据311用于确定推荐产品1106的位置。模型1100提供与穿越通过jane的男装零售商店内的可通行区域相关联的成本,并降低在到男士的蓝色牛仔裤的途中沿着具有蓝色法兰绒衬衫的过道行走的成本。
    124.还可以或替代地基于推荐的强度/类别和/或推荐产品是否在最短路径上来分配每个推荐产品周围的单元的成本值。例如,图12是具有分配给单元的成本值的可通行区域的模型1200的示例,其中存在多个推荐产品,每个产品位于不同位置。每个推荐产品的位置(以及目标产品的位置)可以从产品库存和位置数据311中确定。模型1200包括零售商店340内的可通行区域315的模型,包括目标产品1202的位置、用户1204的初始位置和四个推荐产品1206a至1206d的位置。推荐产品1206b和1206c被认为是“高度推荐的”,使得与这些产品附近的单元相关联的成本值低于图10和11的模型中这些单元的成本,并且低于如果产品被推荐但不是“高度推荐的”则可能分配的值。
    125.推荐产品1206a和1206d被归类为“正常推荐”。
    [0126]“高度推荐的”产品可以是满足多个条件(例如多个推荐规则)的产品。例如,“高度推荐的”产品可以是由于用户的过去购买历史以及目标产品和商家标准而被推荐的产品(例如,如果用户频繁购买鞋子并且目标产品是钱包并且鞋子打折了,则鞋子是高度推荐的)。
    [0127]
    推荐产品1206a不在到目标产品1202的最短(或相对较短)路径上,并且推荐类别是“正常”。因此,分配给推荐产品1206a周围的单元的成本值不改变。推荐产品1206b也不在到目标产品1202的最短(或相对较短)路径上,但是分配给推荐产品1206b周围的单元的成本值仍然降低,因为推荐类别是“高度推荐的”。沿着推荐产品1206d的过道引导的单元在成本上降低,但没有沿着推荐产品1206c的过道引导的单元那么多,因为推荐产品1206c是高度推荐的。
    [0128]
    例如,fred可能正在jane的男装零售商店中搜索男士的蓝色牛仔裤,并且商店定路线引擎302可以推荐产品:蓝色法兰绒衬衫、棕色皮带、绿色格子衬衫和白色t恤。蓝色法兰绒衬衫和棕色皮带可以是“高度推荐的”产品1206b和1206c,部分基于使用在用户简档309中找到的关于fred的偏好的信息。商店定路线引擎302可以分配低成本值以在到男士的蓝色牛仔裤的途中穿越蓝色法兰绒衬衫和棕色皮带附近的单元。
    [0129]
    尽管未示出,但在一些实施例中,单元成本值可以沿着没有推荐产品的路线和/或沿着包括被确定为不太期望向用户展示的产品的路线增加(例如,如果产品具有低库存和/或产品不补充目标产品和/或预测用户将不会对该产品感兴趣,例如因为用户最近刚购买了该产品)。
    [0130]
    在一些实施例中,可以实施附加的检查以将总体物理路线距离限制为与到目标产品的最短可能路线的最大偏差(例如,与到目标产品的最短路线的时间/距离相比,增加的路线距离不能超过10%或1额外分钟的步行时间)。在这样的实施例中,可以拒绝最小成本路线并且最终可以由算法选择更高成本(但物理上更短)的路线以呈现给用户。
    [0131]
    为了引导用户,需要确定用户在商店中的物理位置。用户设备330的位置可以用作用户的位置,并且可以实现上面关于商家设备320描述的相同方法来跟踪用户设备330的位置,例如:室内定位系统(ips)和/或gps(如果适用的话)和/或信标技术和/或计算机视觉。在计算机视觉的方面,在一个实施例中,商家可以预先填充零售商店340的数字图像的数据库和相关联的物理位置,并且使用数据来训练计算机视觉算法,例如使用机器学习。经训练的计算机视觉算法然后可以接受由用户设备330的相机捕获的商店的图像并且返回关于用户设备330在商店中的位置的决策。
    [0132]
    用户设备330的位置可以映射到与商家定义的相同的虚拟坐标系。例如,用户可以在一个或多个固定位置扫描qr码或条形码以将用户设备330与特定虚拟坐标相关联,并且用户设备330的任何后续移动都相对于该虚拟坐标进行测量以跟踪用户在虚拟坐标空间中的位置。
    [0133]
    将不同的成本值分配给不同的单元只是一种示例实现。其他实现是可能的。例如,每个推荐产品可能与特定的过道、货架或箱柜号相关联。如果商店布局模型揭示显示推荐产品的特定过道、货架或箱柜号介于用户和目标产品之间,则引导用户经过该特定过道、货架或箱柜号。
    [0134]
    可以经由用户设备330的用户界面338通过显示方向和/或可听地宣布此类方向和/或可能使用增强现实(ar)或混合现实(mr)来向用户提供实际路线引导。在一些实施例中,在用户设备330上显示方向可以通过或类似于google maps

    视觉导航方向(等)的室内地图版本和/或通过在用户界面338上提供文本方向(诸如“左转”)来实现。例如,可以在用户的设备330的屏幕上显示诸如箭头之类的视觉引导,例如叠加在由用户的设备330的相机捕获的图像的顶部上。例如,如果用户设备330是诸如由用户穿戴的ar眼镜之类的ar设备,则箭头可以被显示为ar眼镜上的数字ar对象。当用户沿着路线行走时,箭头的方向会更新。
    [0135]
    图13是根据一个实施例的使用ar(或其变体,诸如mr)提供推荐路线的用户设备330的用户界面338。用户的用户设备330的用户界面338包括向用户提供沿路线的实时引导的显示器1300,其中引导用户的箭头叠加在实体零售商店340的捕获图像的顶部上。例如,属于用户fred的用户设备330上的显示器1300可以用于将fred引导至他的指定目标物品。显示器1300可以包括jane的男装零售商店340的图像捕获,其中箭头作为将fred引导到男士的蓝色牛仔裤的位置的数字ar对象。
    [0136]
    在一些实现中,当用户走过推荐产品时,可以在用户设备330的用户界面338处呈现将用户的注意力引向推荐产品的消息,例如视觉或听觉消息(例如“注意,我们的鞋子这周打折了”)。在一些实现中,除了视觉和/或听觉消息之外,还可以向用户提供触觉通知。
    [0137]
    图14示出根据一个实施例的图13的变体,其中强调了推荐产品。与图13中类似,图14中的显示器1300提供由用户设备330的相机捕获并通过用户界面338显示的图像。然而,图14还包括指示用户正在经过推荐产品的视觉消息1400。例如,示出在fred 的用户设备330上的显示器1300可以示出jane的男装零售商店340中的路线引导。到目标产品——男士的蓝色牛仔裤的推荐路线可能涉及经过一个或多个推荐产品,诸如蓝色法兰绒衬衫。显示器1300通过使用视觉消息1400通知fred他正在经过推荐产品,其陈述“您可能对这件蓝色法兰绒衬衫感兴趣”。在一些实施例中,消息1400可以包括超链接,当该超链接由fred通过用户界面338选择时,检索并显示提供与推荐产品有关的产品信息的网页。
    [0138]
    附加方法下面描述另外的示例方法步骤,以便补充和/或进一步详述上面的解释中的一些。并非以下描述的所有步骤在所有实施例中都是必需的。而且,步骤中的一些而是可以由其他步骤代替。在以下示例中,假设商家是较早介绍的商家jane。商家jane正在经营实体零售商店340 jane的男装,并使用商家设备320。假设访问商店的人是较早介绍的用户fred,具有用户设备330并且具有图8中所示的用户简档309。
    [0139]
    图15是根据一个实施例的计算机实现的方法1500。该方法可以由计算设备,例如
    商店定路线引擎302执行。在图15的方法1500中,步骤被描述为由商店定路线引擎302的处理器304执行,但这只是一个示例。例如,该方法可以替代地由另一个实体执行,该实体可能或者可能不是电子商务平台的一部分。
    [0140]
    在步骤1502,处理器304从用户设备输入获得目标产品的标识。目标产品由零售商店(例如零售商店340)中的商家(例如商家jane)销售。目标产品的标识源自用户设备处的输入。例如,商店定路线引擎302的处理器304基于通过用户设备330的用户界面338的输入获得目标产品的标识,其中目标产品可以是存储在产品库存和位置数据311中的产品。例如,fred可以进入jane的男装零售商店340,并通过他的用户设备330上的软件应用输入他的目标产品为“男士的蓝色牛仔裤”。商店定路线引擎302然后可以将男士的蓝色牛仔裤标识为目标产品。
    [0141]
    在一些实现中,步骤1502可以替代地涉及标识实体零售商店340中的目标位置,而不是标识目标产品。例如,用户可能希望在零售商店内或商店的特定区段内找到客户服务台。作为示例,用户fred可能希望在jane的男装零售商店340中找到“休闲装”区段。fred可以通过他的用户设备330上的软件应用输入这个区段作为他在零售商店340中的目标位置。
    [0142]
    在步骤1504,商店例程引擎302的处理器304检索与用户设备相关联的用户简档。用户简档存储关于用户的信息。例如,商店定路线引擎302的处理器304可以确定存储在存储器308中的与到实体零售商店340的访客的用户设备330相关联的用户简档309。例如,用户fred可以在他的用户设备330上登录到与jane的男装零售商店相关联的软件应用,用户fred然后检索fred的用户简档309。fred的用户简档包括个人信息802、偏好804、浏览和购买历史808和806以及帐单信息810。例如,fred的用户简档309指示fred更喜欢颜色蓝色并且最近购买了一件绿色法兰绒衬衫。
    [0143]
    替代地,在方法1500的一些实施例中可能不执行步骤1504,并且商店定路线引擎302的处理器304可以执行确定推荐产品和后续推荐路线的操作,而无需特别了解商店的访客。
    [0144]
    在步骤1506,基于以下中的一个或多个获得推荐产品:目标产品、来自与用户设备相关联的简档的信息和/或商家提供的标准。在一些实施例中,商店定路线引擎302的处理器304可以使用与用户偏好804和/或浏览和/或购买历史806和808相关的信息,诸如来自图8中的用户简档309的信息,来确定推荐产品。推荐产品也可以或替代地基于目标产品,例如通常一起使用的物品,和/或基于由商家设置的标准来确定,例如,商家可以基于他们移动库存的期望来推荐物品。推荐规则313可以与确定的标准结合使用以在满足某些条件时推荐特定产品、产品类型或类别。例如,商店定路线引擎302中的处理器304可以基于来自他的用户简档309的信息向商家fred推荐蓝色法兰绒衬衫,这指示他对颜色蓝色和法兰绒材料的偏好,以及他的目标产品——男士的蓝色牛仔裤,他可能想要一件新衬衫来搭配它。
    [0145]
    然后当用户设备在零售商店中移动时执行步骤1508到1512。
    [0146]
    在步骤1508,当用户设备在零售商店中移动时接收用户位置数据。用户位置数据指示用户设备的位置。可以使用较早描述的位置确定方法(例如ips、gps和/或信标技术,诸如信标346)中的一个或多个,经由用户设备330和商店定路线引擎302之间的无线通信来确定用户位置数据。
    [0147]
    在步骤1510,例如基于用户位置数据和/或目标产品的位置和/或推荐产品的位置
    来生成沿着特定路线引导用户设备的指令。在一些实施例中,商店定路线引擎302的处理器304基于用户设备330的当前位置确定可以经过零售商店340中的多个推荐产品之一的一个或多个推荐路线。可以使用实体零售商店340中的可通行区域的模型315生成特定路线,其中单元用于指示可通行区域,以及从用户设备的原始位置到商店中目标产品的位置的最佳路径的确定。例如,商店定路线引擎302可以基于fred的用户设备330在jane的男装零售商店340中的当前位置来确定将fred引导到男士的蓝色牛仔裤的路线。生成的一个或多个指令可以将fred直接引导到他的目标产品,例如图10中所示的路线,和/或可以引导fred经过为fred推荐的产品,诸如蓝色法兰绒衬衫、棕色皮带等,诸如图11和12的路线。
    [0148]
    在步骤1512,发送在步骤1510中生成的指令以在用户设备处输出。例如,商店定路线引擎302将路线引导指令发送到用户设备330以向用户提供实时指令以在零售商店340内找到目标产品。该指令可以使用视觉导航方向和/或文本方向通过用户设备330上的用户界面338而呈现,并且可以使用ar技术。发送的指令还可以包括视觉和/或音频和/或触觉反馈以通知用户他们正在经过推荐或目标产品。例如,图13和14示出在诸如属于fred的用户设备的用户设备330上的诸如jane的男装的零售商店的ar图像扫描。界面上提供了一个箭头,用于在他的目标产品——男士的蓝色牛仔裤的方向上引导fred。在图14中,向fred提供视觉消息1400以指示他正在经过推荐产品。
    [0149]
    在一些实施例中,在步骤1510中确定的特定路线可以与存储在存储器中的多个连续段相关联。在一些实施例中,连续段中的每个段可以对应于零售商店的响应不同的可通行区域。可以为每个段分配相应的成本值。同样,方法1500还可以包括基于到目标产品的替代路线的段之间的成本值的比较来生成沿着特定路线引导用户设备的多个指令。例如,算法,诸如较早描述的a*算法,可以用于评估分配给可通行区域的模型315中的段(单元)的成本值,以便确定从用户设备的位置到目标产品的最佳路径。与到目标产品的其他路线相比,可以选择降低成本或使成本最小化的路线。可以通过比较到目标产品的替代路线之间的成本值来执行确定所选择的路线。图11中示出可通行区域的模型的示例,其中段具有分配的成本值。图11的模型1100指示在到目标产品的途中穿越通过商店的可通行区域的成本。与不经过推荐产品1106的替代路线相比,经过推荐产品1106的路线具有较低的成本。
    [0150]
    在一些实施例中,至少基于目标产品的位置为每个段分配相应的成本值。应用于可通行区域的模型315的算法可以分配成本值,使得使用户更接近目标产品的段具有较低的相关联的成本。例如,在图10中,用户1004左侧的段被分配了成本值3,而用户1004右侧的段被分配了成本值2,因为目标产品1002位于用户1004的右侧。
    [0151]
    在一些实施例中,段中的至少一个的成本值基于目标产品的位置和推荐产品的位置两者。商店定路线引擎302的处理器304可以执行算法,使得它结合产品推荐信息以确定特定段的成本值。例如,如果推荐产品不存在于该位置,则直接在推荐产品前面的段可以被分配比相同段将被分配的成本值更低的成本值,即使它不位于用户的当前位置和目标产品位置之间的直接路径上。例如,图12中的可通行区域的模型包括与每个段相关联的成本,其中成本受推荐产品的位置影响。直接在推荐产品1206c前面的段被分配成本值0,因为它们经过推荐产品并且不需要用户偏离到达目标产品1202的短路径。穿越通过推荐产品附近的段的降低的成本为商店定路线引擎302提供激励(例如,在降低总体成本的意义上)以引导用户设备330经过推荐产品。
    [0152]
    在一些实施例中,沿着其引导用户设备的特定路线经过一组段,每个段的成本值低于替代路线上的替代段的成本值,其中该组段包括特定段。在一些实施例中,推荐产品可能靠近特定段,并且特定段的成本值可能低于推荐产品不靠近特定段的情况。例如,图 10和11的可通行区域的模型是同一实体零售商店340的模型。模型1100中推荐产品1106 前面的段被分配成本值0。然而,在不存在推荐产品的模型1000中,同一段被分配成本值2。
    [0153]
    在一些实施例中,推荐产品是第一推荐产品,并且方法1500还包括基于以下各项中的一个或多个获得第二推荐产品:来自与用户设备相关联的简档的信息、目标产品和/或由商家提供的标准。该方法还可以包括基于目标产品的位置和第一推荐产品的位置两者为第一段分配第一成本值;并且,基于目标产品的位置和第二推荐产品的位置两者为第二段分配第二成本值。在一些实施例中,第一成本值可以被分配与第二成本值不同的值:这基于:(i)第一推荐产品与第二推荐产品属于不同的类别;和/或(ii)第一推荐产品在到目标产品的第一路径上,所述第一路径比第二推荐产品所位于的到目标产品的第二路径更短。例如,商店定路线引擎302的处理器304可以基于在步骤1502中标识的目标产品、在步骤1504中检索到的存储在用户简档309中的信息以及商家确定的信息,例如激励商家移动的库存,来推荐第二产品。在图12的模型1200中,第一推荐产品可以是推荐产品1206c并且第二推荐产品可以是推荐产品1206a。直接在第一推荐产品1206c前面的第一段可以被分配成本值0,并且直接在第二推荐产品1206a前面的第二段可以被分配成本值9。第一段的分配成本值可以低于第二段的成本,因为第一推荐产品归入“高度推荐的”类别,并且第二推荐产品归入“普通推荐”类别。替代地和/或附加地,第一段的分配成本值可以低于第二段的成本,因为第一段沿着到目标产品1202的较短路径定位。例如,第一推荐产品可以是蓝色法兰绒衬衫,并且第二推荐产品可以是红色格子衬衫。基于在他的用户简档309上找到的信息,蓝色法兰绒衬衫可以被更高度地推荐给fred,并且蓝色法兰绒衬衫可以沿着从fred的当前位置到男士的蓝色牛仔裤的较短路径定位。
    [0154]
    在一些实施例中,基于第一推荐产品与第二推荐产品属于不同的类别,第一成本值被分配与第二成本值不同的值,其中第一推荐产品属于第一类别并且第二推荐产品属于第二类别。在一些实施例中,第一类别可以是推荐基于来自与用户设备相关联的简档的信息和目标产品两者。例如,商店定路线引擎302的处理器304可以确定针对目标产品是男士的蓝色牛仔裤的fred的两个推荐产品可以是蓝色法兰绒衬衫和红色格子衬衫。蓝色法兰绒衬衫可以是属于第一类别的产品,因为与用户fred相关联的用户简档309指示他对颜色蓝色和法兰绒材料的偏好,并且这样的衬衫可能与他正在实体零售商店340中寻找的男士的蓝色牛仔裤很搭配。在图12中,第一推荐产品可以被认为是“高度推荐的”并且具有较低的相关联的第一成本值。例如,蓝色法兰绒衬衫可能是模型1200中的推荐产品1206c,其中产品前面的段的成本为0。相比之下,推荐产品1206a可能是红色格子衬衫,其中产品前面的段的成本是9。
    [0155]
    在一些实施例中,第二推荐产品靠近第二段,并且第二段的第二成本值与第二推荐产品不靠近第二段的情况相同。例如,红色格子衬衫可能是图12中的推荐产品1206a。直接在产品前面的段的成本具有相关联的成本值9。图11提供了同一实体零售商店340的模型,其中第二推荐产品尚未被标识为用户的推荐产品。提到的第二段的成本值仍然是9。
    [0156]
    在一些实施例中,方法1500还可以包括通过监视商家设备通过零售商店的移动并
    将商家设备的不同物理位置映射到不同段来获得多个连续段中的至少一些。例如,确定包括目标产品在内的产品在实体零售商店340中的位置可能涉及商家带着商家设备320穿越通过零售商店以还确定商店340内的可通行区域的模型315。可通行区域的模型315可以包括段,这些段通过识别商家设备320移动通过具有例如通过ips、gps、信标技术或计算机视觉技术确定的相关联的位置的区域来填充。
    [0157]
    在一些实施例中,方法1500还可以包括将引导用户设备的指令实现为用户设备的屏幕上增强或混合现实数字图像形式的视觉引导。在该方法的步骤1512处在用户设备330处输出的指令可以被提供为用户界面338上的ar图像,诸如图13和14中所示的ar图像。例如,fred 的用户设备330上的显示器1300可以示出jane的男装340零售商店的ar表示,其中箭头叠加在商店图像的顶部以提供沿特定路线到目标产品(诸如男士的蓝色牛仔裤)的引导。
    [0158]
    在一些实施例中,方法1500还可以包括基于用户位置数据和推荐产品的位置确定用户设备靠近推荐产品,并且响应于确定用户设备靠近推荐产品,发送消息用于在用户设备处输出以引起对推荐产品的注意。例如,用户设备330可以经由在网络310上的无线通信将其位置传送到商店定路线引擎302,其中可以例如通过ips等确定用户设备330在零售商店340中的位置。存储在商店定路线引擎302的存储器308中的产品库存和位置数据311的使用可以用于确定用户设备330在推荐产品附近。指示用户设备330在推荐产品附近的消息可以被发送给用户并经由用户设备的用户界面338显示给用户,诸如图14中的消息1400。例如,图14的显示器1300可以是jane的男装零售商店的ar表示,其中fred正在搜索男士的蓝色牛仔裤。该指令正在沿着商店中的一条路线引导fred,并且消息1400可能看起来通知他:他正在经过可能感兴趣的产品——蓝色法兰绒衬衫。
    [0159]
    在一些实施例中,来自与用户设备相关联的简档的信息包括用户的购买历史,并且至少基于购买历史生成推荐产品。例如,可以基于保存在用户简档309中的购买历史806向用户fred推荐产品。fred的购买历史806指示他最近从商家jane购买了一件绿色法兰绒衬衫。作为结果,商店定路线引擎302的处理器304可以推荐与绿色法兰绒衬衫相似的产品,诸如蓝色法兰绒衬衫,他还没有拥有它,但它由相似的织物制成。
    [0160]
    在一些实施例中,来自与用户设备相关联的用户简档的信息包括用户在线查看的一个或多个产品的指示,并且推荐产品至少基于用户在线查看的一个或多个产品的指示而生成。例如,可以基于保存在fred的用户简档309中的浏览历史808向用户fred推荐产品。fred的浏览历史指示:他最近在过去7天内在线查看了红色和黑色法兰绒衬衫两者。因此,商店定路线引擎302可以推荐红色和/或黑色法兰绒衬衫。例如,推荐规则313之一可以是“如果用户在过去7天内在线查看过产品,则推荐产品”。
    [0161]
    在一些实施例中,提供了一种用于执行以上描述的方法的系统。该系统可以包括存储器(例如存储器308)来存储信息,诸如目标产品的指示和/或商店中可通行区域的模型315,其包括多个连续段,等。系统还可以包括至少一个处理器(例如处理器304)以执行如下操作:诸如获得由商家在零售商店中销售的目标产品的标识,获得推荐产品,以及生成沿特定路线引导用户的指令。在一些实施例中,至少一个处理器指示传输指令用于在用户设备处输出,例如通过将指令合并到消息中并将消息发送到网络接口(例如网络接口306)以传输到用户设备。如果系统部分或完全地在用户设备处实现,则指示传输指令用于在用户设
    备处输出可以涉及在用户设备内将指令发送到用户设备的用户界面以用于在用户设备处输出(例如显示)。在一些实施例中,提供了一种计算机可读介质,其上存储有计算机可执行指令,所述指令当由计算机执行时使计算机执行以上描述的方法步骤。
    [0162]
    注意,如本文所用,表述“a或b中的至少一个”可与表述“a和/或b”互换。它是指你可以在其中选择的列表:a或b,或a和b两者。类似地,本文所用的“a、b或c中的至少一个”可与“a和/或b和/或c”或“a、b和/或c”互换。它是指你可以在其中选择的列表:a或b或c,或a和b两者,或a和c两者,或b和c两者,或a、b和c的全部。相同的原则适用于格式相同的较长列表。
    [0163]
    结论尽管已经参考本发明的具体特征和实施例描述了本发明,但是在不脱离本发明的情况下可以对其进行各种修改和组合。因此,说明书和附图应被简单地看作是对由所附权利要求限定的本发明的一些实施例的说明,并且被认为覆盖了落入本发明的范围内的任何和所有修改、改变、组合或等同物。因此,尽管已经详细描述了本发明及其优点,但是在不背离由所附权利要求限定的本发明的情况下,可以在此进行各种改变、替换和变更。此外,本技术的范围并不旨在限于说明书中描述的过程、机器、制造、物质组成、装置、方法和步骤的特定实施例。如本领域普通技术人员从本发明的公开内容中可以容易理解的,根据本发明,也可以利用目前存在的或以后将开发的、执行与本文所述的相应实施例基本相同的功能或实现与本文所述的相应实施例基本相同的结果的过程、机器、制造、物质组成、设备、方法或步骤。因此,所附权利要求旨在将这些过程、机器、制造、物质组成、设备、方法或步骤包括在其范围内。
    [0164]
    此外,本文中例示的执行指令的任何模块、组件或设备都可以包括或以其他方式访问用于存储信息的非暂时性计算机/处理器可读存储介质,诸如计算机/处理器可读指令、数据结构、程序模块和/或其他数据。非暂时性计算机/处理器可读存储介质的示例的非穷举列表包括磁带盒、磁带、磁盘存储或其他磁存储设备、诸如压缩盘只读存储器(cd-rom)、数字视频盘或数字多功能盘(dvd)、blu-ray disc

    或其他光学存储之类的光盘、以任何方法或技术实现的易失性和非易失性、可移动和不可移动介质、随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存或其他存储器技术。任何这样的非暂时性计算机/处理器存储介质都可以是设备的一部分或者可接入或可连接到该设备上。本文描述的任何应用或模块可使用可由这样的非暂时性计算机/处理器可读存储介质存储或以其他方式保持的计算机/处理器可读/可执行指令来实现。
    [0165]
    本教导还可以扩展到以下编号条款中的一个或多个的特征。
    [0166]
    条款1.一种计算机实现的方法,包括:获得由商家在零售商店中销售的目标产品的标识,该标识源自用户设备处的输入;基于以下各项中的至少一个获得推荐产品:目标产品、来自与用户设备相关联的简档的信息或商家提供的标准;和当用户设备在零售商店中移动时:接收指示用户设备的位置的用户位置数据,
    基于用户位置数据、目标产品的位置和推荐产品的位置生成沿着特定路线引导用户设备的指令,以及发送指令用于在用户设备处输出。
    [0167]
    2.根据条款1所述的计算机实现的方法,其中所述特定路线与存储在存储器中的多个连续段相关联,其中所述多个连续段中的每个段对应于零售商店的响应不同的可通行区域,其中为每个段分配相应的成本值,并且其中该方法还包括:基于到目标产品的替代路线的段之间的成本值的比较,生成沿着特定路线引导用户设备的多个指令。
    [0168]
    3.根据条款2所述的计算机实现的方法,其中至少基于目标产品的位置为每个段分配相应的成本值。
    [0169]
    4.根据条款3所述的计算机实现的方法,其中所述段中的至少一个的成本值基于目标产品的位置和推荐产品的位置两者。
    [0170]
    5.根据条款4所述的计算机实现的方法,其中沿着其引导用户设备的特定路线经过一组段,每个段的成本值低于替代路线上的替代段的成本值,其中该组段包括特定段,其中推荐产品靠近特定段,并且其中特定段的成本值低于推荐产品不靠近特定段的情况。
    [0171]
    6.根据条款4所述的计算机实现的方法,其中推荐产品是第一推荐产品,并且其中该方法还包括:基于以下各项中的至少一个获得第二推荐产品:来自与用户设备相关联的简档的信息、目标产品或商家提供的标准;基于目标产品的位置和第一推荐产品的位置两者为第一段分配第一成本值;基于目标产品的位置和第二推荐产品的位置两者为第二段分配第二成本值;其中第一成本值被分配与第二成本值不同的值,这基于:(i)第一推荐产品与第二推荐产品属于不同的类别;和/或(ii)第一推荐产品在到目标产品的第一路径上,所述第一路径比第二推荐产品所位于的到目标产品的第二路径更短。
    [0172]
    7.根据条款6所述的计算机实现的方法,其中基于第一推荐产品与第二推荐产品属于不同的类别,第一成本值被分配与第二成本值不同的值,其中第一推荐产品属于第一类别,其中第二推荐产品属于第二类别,并且其中第一类别是推荐基于来自与用户设备相关联的简档的信息和目标产品两者。
    [0173]
    8.根据条款6所述的计算机实现的方法,其中第二推荐产品靠近第二段,并且其中第二段的第二成本值与第二推荐产品不靠近第二段的情况相同。
    [0174]
    9.根据条款3所述的计算机实现的方法,还包括通过监视商家设备通过零售商店的移动并将商家设备的不同物理位置映射到不同段来获得多个连续段中的至少一些。
    [0175]
    10.根据条款1所述的计算机实现的方法,其中引导用户设备的指令被实现为用户设备的屏幕上增强现实数字图像形式的视觉引导。
    [0176]
    11.根据条款1所述的计算机实现的方法,还包括:基于用户位置数据和推荐产品的位置,确定用户设备靠近推荐产品;响应于确定用户设备靠近推荐产品:发送消息以在用户设备处输出,该消息用于引起对推荐产品的注意。
    [0177]
    12.根据条款1所述的计算机实现的方法,其中来自与用户设备相关联的简档的信
    息包括用户的购买历史,并且至少基于购买历史生成推荐产品。
    [0178]
    13.根据条款1所述的计算机实现的方法,其中来自与用户设备相关联的简档的信息包括用户在线查看的一个或多个产品的指示,并且推荐产品至少基于用户在线查看的一个或多个产品的指示生成。
    [0179]
    14.一种系统,包括:存储由商家在零售商店中销售的目标产品的标识的存储器,该标识源自用户设备处的输入;至少一个处理器,用以:从存储器中获得目标产品的标识;基于以下各项中的至少一个获得推荐产品:目标产品、来自与用户设备相关联的简档的信息或商家提供的标准;和当用户设备在零售商店中移动时:接收指示用户设备的位置的用户位置数据,基于用户位置数据、目标产品的位置和推荐产品的位置,生成沿着特定路线引导用户设备的指令,以及指示发送指令用于在用户设备处传输。
    [0180]
    15.根据条款14所述的系统,其中特定路线与存储在存储器中的多个连续段相关联,其中多个连续段中的每个段对应于零售商店的响应不同的可通行区域,其中为每个段分配相应的成本值,并且其中所述至少一个处理器进一步:基于到目标产品的替代路线的段之间的成本值的比较,生成沿着特定路线引导用户设备的多个指令。
    [0181]
    16.根据条款15所述的系统,其中至少基于目标产品的位置为每个段分配相应的成本值。
    [0182]
    17.根据条款16所述的系统,其中所述段中的至少一个的成本值基于目标产品的位置和推荐产品的位置两者。
    [0183]
    18.根据条款17所述的系统,其中沿着其引导用户设备的特定路线经过一组段,每个段的成本值低于替代路线上的替代段的成本值,其中该组段包括特定段,其中推荐产品靠近特定段,并且其中特定段的成本值低于推荐产品不靠近特定段的情况。
    [0184]
    19.根据条款17所述的系统,其中推荐产品是第一推荐产品,并且其中至少一个处理器进一步:基于以下各项中的至少一个获得第二推荐产品:来自与用户设备相关联的简档的信息、目标产品或商家提供的标准;基于目标产品的位置和第一推荐产品的位置两者为第一段分配第一成本值;基于目标产品的位置和第二推荐产品的位置两者为第二段分配第二成本值;其中第一成本值被分配与第二成本值不同的值,这基于:(i)第一推荐产品与第二推荐产品属于不同的类别;和/或(ii)第一推荐产品在到目标产品的第一路径上,所述第一路径比第二推荐产品所位于的到目标产品的第二路径更短。
    [0185]
    20.根据条款19所述的系统,其中基于第一推荐产品与第二推荐产品属于不同的类别为第一成本值分配与第二成本值不同的值,其中第一推荐产品属于第一类别,其中第
    二推荐产品属于第二类别,并且其中第一类别是推荐基于来自与用户设备相关联的简档的信息和目标产品两者。
    [0186]
    21.根据条款19所述的系统,其中第二推荐产品靠近第二段,并且其中第二段的第二成本值与第二推荐产品不靠近第二段的情况相同。
    [0187]
    22.根据条款16所述的系统,其中所述至少一个处理器进一步通过监视商家设备通过零售商店的移动并将商家设备的不同物理位置映射到不同段来获得多个连续段中的至少一些。
    [0188]
    23.根据条款14所述的系统,其中引导用户设备的指令被实现为用户设备的屏幕上增强现实数字图像形式的视觉引导。
    [0189]
    24.根据条款14所述的系统,其中所述至少一个处理器进一步用以:基于用户位置数据和推荐产品的位置,确定用户设备靠近推荐产品;响应于确定用户设备靠近推荐产品:发送消息以在用户设备处输出,该消息用于引起对推荐产品的注意。
    [0190]
    25.一种其上存储有计算机可执行指令的计算机可读介质,所述计算机可执行指令当由计算机执行时,使计算机执行包括以下各项的操作:获得由商家在零售商店中销售的目标产品的标识,该标识源自用户设备处的输入;基于以下各项中的至少一个获得推荐产品:目标产品、来自与用户设备相关联的简档的信息或商家提供的标准;和当用户设备在零售商店中移动时:接收指示用户设备的位置的用户位置数据,基于用户位置数据、目标产品的位置和推荐产品的位置生成沿着特定路线引导用户设备的指令,以及发送指令用于在用户设备处输出。

    技术特征:
    1.一种计算机实现的方法,包括:获得由商家在零售商店中销售的目标产品的标识,该标识源自用户设备处的输入;基于以下各项中的至少一个获得推荐产品:目标产品、来自与用户设备相关联的简档的信息、或商家提供的标准;和当用户设备在零售商店中移动时:接收指示用户设备的位置的用户位置数据,基于用户位置数据、目标产品的位置和推荐产品的位置生成沿着特定路线引导用户设备的指令,以及发送指令用于在用户设备处输出。2.根据权利要求1所述的计算机实现的方法,其中,所述特定路线与存储在存储器中的多个连续段相关联,其中所述多个连续段中的每个段对应于存储在存储器中的零售商店的可通行区域的定义模型内的相应不同的可通行区域。3.根据权利要求1或2所述的计算机实现的方法,其中,优选地至少基于所述目标产品的位置为每个段分配相应的成本值,并且其中所述方法进一步包括:基于到目标产品的替代路线的段之间的成本值的比较,生成沿着特定路线引导用户设备的多个指令。4.根据权利要求3所述的计算机实现的方法,其中,所述段中的至少一个的成本值基于目标产品的位置和推荐产品的位置两者。5.根据权利要求4所述的计算机实现的方法,其中,沿着其引导用户设备的特定路线经过一组段,每个段的成本值低于替代路线上的替代段的成本值,其中该组段包括特定段,其中推荐产品靠近特定段,并且其中特定段的成本值低于推荐产品不靠近特定段的情况。6.根据权利要求4所述的计算机实现的方法,其中,所述推荐产品是第一推荐产品,并且其中所述方法还包括:基于以下各项中的至少一个获得第二推荐产品:来自与用户设备相关联的简档的信息、目标产品或商家提供的标准;基于目标产品的位置和第一推荐产品的位置两者为第一段分配第一成本值;基于目标产品的位置和第二推荐产品的位置两者为第二段分配第二成本值;其中第一成本值被分配与第二成本值不同的值,这基于:(i)第一推荐产品与第二推荐产品属于不同的类别;和/或(ii)第一推荐产品在到目标产品的第一路径上,所述第一路径比第二推荐产品所位于的到目标产品的第二路径更短。7.根据权利要求6所述的计算机实现的方法,其中,基于第一推荐产品与第二推荐产品属于不同的类别,第一成本值被分配与第二成本值不同的值,其中第一推荐产品属于第一类别,其中第二推荐产品属于第二类别,并且其中第一类别是推荐基于来自与用户设备相关联的简档的信息和目标产品两者。8.根据权利要求6所述的计算机实现的方法,其中,所述第二推荐产品靠近第二段,并且其中第二段的第二成本值与所述第二推荐产品不靠近第二段的情况相同。9.根据任一项前述权利要求所述的计算机实现的方法,还包括通过经由监视商家设备通过零售商店的移动并将商家设备的不同物理位置映射到不同段来获得多个连续段中的至少一些从而定义模型。
    10.根据权利要求9所述的计算机实现的方法,还包括将产品在零售商店中的位置作为产品库存和位置数据存储在存储器中,产品的位置是在监视商家设备通过零售商店的移动期间确定的。11.根据任一项前述权利要求所述的计算机实现的方法,其中,引导用户设备的指令被实现为所述用户设备的屏幕上增强现实数字图像形式的视觉引导。12.根据任一项前述权利要求所述的计算机实现的方法,还包括:基于用户位置数据和推荐产品的位置,确定用户设备靠近推荐产品;响应于确定用户设备靠近推荐产品:发送消息以在用户设备处输出,该消息用于引起对推荐产品的注意。13.根据任一项前述权利要求所述的计算机实现的方法,其中,来自与用户设备相关联的简档的信息包括以下各项中的至少一个:用户的购买历史,并且至少基于购买历史生成推荐产品;或者用户在线查看的一个或多个产品的指示,并且至少基于用户在线查看的一个或多个产品的指示生成推荐产品。14.一种系统,包括:存储由商家在零售商店中销售的目标产品的标识的存储器,该标识源自用户设备处的输入;至少一个处理器;并且其中该系统被配置为执行任一项前述权利要求所述的方法。15.一种计算机程序,其在被计算机执行时使计算机执行权利要求1至13中任一项所述的方法。

    技术总结
    本发明公开了用于店内路线推荐的计算机实现的系统和方法。商家可以经营零售商店,用户能够亲自访问该零售商店以便查看和购买产品。当用户访问商店时,用户可能不知道期望的产品(“目标产品”)位于哪里。计算机技术可以帮助将用户实时引导到目标产品。在一些实施例中,可通行区域的模型和零售商店中产品的位置可以例如由商家设备确定。在一些实施例中,当用户访问零售商店时,计算机生成产品推荐,例如基于用户特定的信息,并且为用户确定零售商店中的路线。在一些实施例中,可以使用模型基于目标产品、用户在商店中的位置以及一个或多个推荐产品来确定零售商店中的路线。个推荐产品来确定零售商店中的路线。个推荐产品来确定零售商店中的路线。


    技术研发人员:J
    受保护的技术使用者:秀铺菲公司
    技术研发日:2021.09.23
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-11274.html

    最新回复(0)