Telecommunication networks provide, among other functions, Internet, voice, and many other services for customers that may have different possible service requirements. Such communications networks generally include one or more wire centers dispersed in the regions serviced by the network. A wire center connects to various sites, such as living units, business units, and the like, associated with customers. The wire center is connected to such sites with one or more communications nodes, such as cross connects. Each of the communications nodes may involve a different node type, such as copper-fed internet protocol (CoIP), fiber to the node (FTTN), fiber to the home/fiber to the premise (FTTH/FTTP), etc. The node type generally dictates the type of services that may be provided to a customer.
The various sites at which services are enabled may include location data (e.g., geographic coordinates and/or addresses), which may be stored in association with the various sites in one or more network site storage systems. Determining the services available from a communications network at a customer site or location often references the address of the customer. However, site addresses are often unreliable or do not accurately reflect a particular geographic location. As an example, many addresses are not assigned to a residential building until a person moves into the building and may take several months for address databases to be updated. A homeowner that moves into a newly built home may have to wait several months to receive an address. If the homeowner requests communication services at the home, a network manager or automated system may be unable to determine if such services are available to the home. As another example, large plots of land may be associated with a single address correlated to a position along a street. However, the availability of services across the entire plot of land may differ from that available at the address location. For these and other examples, associating site addresses with an available service of a communications network has potential for significant inaccuracies, leading to inefficient operation of the communications network.
It is with these observations in mind, among others, that aspects of the present disclosure were conceived.
The present disclosure describes a system and method for providing network service location validation and remediation. The network site validation and remediation system may determine possible inaccurate site location data and cause one or more mitigation actions to be performed based on the determination of the inaccurate location data. Accuracy of site location is determined based on a combination of rules, where an accuracy score is used to provide a measure of confidence that a site's location data (e.g., address and/or geocoordinates) accurately reflects the physical location where a network connection is provided and thus, where service exists or potentially can be deployed. The one or more mitigation actions may cause inaccurate site location data to be corrected with accurate location data determined by the system.
According to an aspect, a method is provided, comprising: retrieving, from one or more network site storage systems, existing location data of a plurality of sites, wherein each site comprises a potential service location for telecommunications services and the existing location data for each of the plurality of sites comprises at least existing geocoordinates and an existing address; determining external location data for the plurality of sites based on the existing location data, wherein determining external location data for the plurality of sites comprises, for each site, at least two of: determining occupancy data for the site; determining geocode data for the site; determining reverse-geolocation data for the site; determining one or more possible alternate addresses for the site; determining parcel data for the site; determining building data for the site; and determining business location data for the site; determining accuracy scores for the existing location data, each accuracy score indicating a level of confidence that the existing location data for a site is accurate, wherein determining the accuracy score for each site comprises at least two of: determining a parcel match score for the parcel data, where the parcel match score is a measure of a match between the existing address and a parcel address; determining a building match score for the building data, where the building match score is a measure of a match between the existing geocoordinates and building boundaries; determining a geocode match score for the geocode data, where the geocode match score is a measure of a match between the existing geocoordinates and geocode coordinates; determining a reverse-geocode match score for the reverse geocode data, where the reverse geocode match score is a measure of a match between the existing address and a reverse-geocode address; determining an occupancy match score for the occupancy data, where the occupancy match score is a measure of a match between a site unit count of a location aggregation including the site and an occupiable unit count; and determining a business match score for the business data, where the business match score is a measure of a number of businesses within a threshold distance of the site; based on determining an accuracy score indicating a set of the existing location data is accurate, validating the existing location data; and based on determining an accuracy score indicating a set of the existing location data is not accurate, automatically causing at least one mitigation action to be performed.
According to an aspect, a system is provided, comprising: at least one processor; and memory storing instructions that, when executed by the at least one processor, cause the system to: retrieve, from one or more network site storage systems, existing location data of a plurality of sites, wherein each site comprises a potential service location for telecommunications services and the existing location data for each of the plurality of sites comprises at least existing geocoordinates and an existing address; determine external location data for the plurality of sites based on the existing location data, wherein determining external location data for the plurality of sites comprises, for each site, at least two of: determine occupancy data for the site; determine geocode data for the site; determine reverse-geolocation data for the site; determine one or more possible alternate addresses for the site; determine parcel data for the site; determine building data for the site; and determine business location data for the site; determine accuracy scores for the existing location data, each accuracy score indicating a level of confidence that the existing location data for a site is accurate, wherein determining the accuracy score for each site comprises at least two of: determine a parcel match score for the parcel data, where the parcel match score is a measure of a match between the existing address and a parcel address; determine a building match score for the building data, where the building match score is a measure of a match between the existing geocoordinates and building boundaries; determine a geocode match score for the geocode data, where the geocode match score is a measure of a match between the existing geocoordinates and geocode coordinates; determine a reverse-geocode match score for the reverse geocode data, where the reverse geocode match score is a measure of a match between the existing address and a reverse-geocode address; determine an occupancy match score for the occupancy data, where the occupancy match score is a measure of a match between a site unit count of a location aggregation including the site and an occupiable unit count; and determine a business match score for the business data, where the business match score is a measure of a number of businesses within a threshold distance of the site; based on determining an accuracy score indicating a set of the existing location data is accurate, validate the existing location data; and based on determining an accuracy score indicating a set of the existing location data is not accurate, automatically cause at least one mitigation action to be performed.
According to an aspect, a computer-readable storage medium is providing storing instructions that, when executed by a computer, cause the computer to: retrieve, from one or more network site storage systems, existing location data of a plurality of sites, wherein each site comprises a potential service location for telecommunications services and the existing location data for each of the plurality of sites comprises at least existing geocoordinates and an existing address; determine external location data for the plurality of sites based on the existing location data, wherein determining external location data for the plurality of sites comprises, for each site, at least two of: determine occupancy data for the site; determine geocode data for the site; determine reverse-geolocation data for the site; determine one or more possible alternate addresses for the site; determine parcel data for the site; determining building data for the site; and determine business location data for the site; determine accuracy scores for the existing location data, each accuracy score indicating a level of confidence that the existing location data for a site is accurate, wherein determining the accuracy score for each site comprises at least two of: determine a parcel match score for the parcel data, where the parcel match score is a measure of a match between the existing address and a parcel address; determine a building match score for the building data, where the building match score is a measure of a match between the existing geocoordinates and building boundaries; determine a geocode match score for the geocode data, where the geocode match score is a measure of a match between the existing geocoordinates and geocode coordinates; determine a reverse-geocode match score for the reverse geocode data, where the reverse geocode match score is a measure of a match between the existing address and a reverse-geocode address; determine an occupancy match score for the occupancy data, where the occupancy match score is a measure of a match between a site unit count of a location aggregation including the site and an occupiable unit count; and determine a business match score for the business data, where the business match score is a measure of a number of businesses within a threshold distance of the site; based on determining an accuracy score indicating a set of the existing location data is accurate, validate the existing location data; and based on determining an accuracy score indicating a set of the existing location data is not accurate, automatically cause at least one mitigation action to be performed.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Non-limiting and non-exhaustive examples are described with reference to the following figures.
In the following detailed description, references are made to the accompanying drawings that form a part hereof, and in which are shown by way of illustrations specific embodiments or examples. These aspects may be combined, other aspects may be utilized, and structural changes may be made without departing from the present disclosure. Examples may be practiced as methods, systems, or devices. Accordingly, examples may take the form of a hardware implementation, an entirely software implementation, or an implementation combining software and hardware aspects. The following detailed description is therefore not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims and their equivalents.
The present disclosure describes systems and methods to provide validation and remediation of serviceable network site locations. For example, serviceable sites of a communications network may be represented in association with geographic location data (e.g., addresses and/or geographic coordinates/geocoordinates) in one or more inventory systems. Having accurate information about the locations of service-enabled sites may be useful for efficiently operating the communications network. For instance, accurate site location data includes location data stored in association with sites in the communication network, where the location data accurately reflects physical locations where network connections are provided and thus, where service exists or potentially can be deployed. When site location data is correct, an accurate number of service-enabled units may be determined based on the stored site data. For instance, site data may be utilized by various systems for internal and external reporting, such as for reporting of material nonpublic information. As another example, accurate location data ensures a customer is able to order communications services and can receive the communications services through an uninterrupted purchase flow. As another example, accurate location data improves efficiency for install and repair activities (e.g., technicians are dispatched to correct geospatial locations).
Alternatively, when site location data is inaccurate, the communications network may operate inefficiently. As an example, when location data stored in association with sites in the communication network does not accurately reflect physical locations where network connections are provided and thus, where service exists or potentially can be deployed, a customer may not be able to order communications services and receive the communications services through an uninterrupted purchase flow. For instance, determining whether requested services are available to an address provided by a customer, potential customer, or site manager may entail a time-consuming and intensive study of the capabilities of corresponding nodes and/or equipment installed in a connected node. Thus, in some examples, a service-enabled site may not be recognized or approved for requested services, and installation of the service may not be initiated to the location. For example, many new addresses for newly built structures are not recognized for several months until after the structure becomes occupied. This may create a situation where services may be available at a site before the address becomes official. Further, large plots of land may be associated with a single address correlated to a position along a street. However, the availability of services across the entire plot of land may differ from that available at the address location. Similarly, addresses may be entered into various site inventory systems differently. For example, some inventory systems may spell out each part of an address (“West” for W., “Street” for St.), while others may use abbreviations for some parts of the address. In other examples, site location data may be incorrectly input into some inventory systems (e.g., a unit may be missed, an additional unit may be included, or something may be misspelled).
For these and other reasons, accuracy of location data for sites in a network is helpful for effective operation of the network. Thus, aspects of the present disclosure describe a network site validation and remediation system and method that may be implemented for providing validation and remediation of serviceable site locations in a network. The network site validation and remediation system may determine possible inaccurate site location data and cause one or more mitigation actions to be performed based on the determination of the inaccurate location data. The one or more mitigation actions may cause inaccurate site location data to be corrected with accurate location data determined by the automated system and/or confirmed by user interaction. One example mitigation action includes automatically determining alternate addresses and/or geocoordinates for sites with inaccurate location data. Another example mitigation action includes automatically removing site location data that may be determined to be inaccurate. Another mitigation action may include automatically correcting site location data with determined alternate addresses and/or geocoordinates. Another mitigation action may include automatically providing one or more determinations made by the system (e.g., inaccurate site location data, alternate location data, mitigation action recommendations) to a separate mitigation system for correcting inaccurate site location data. For example, the network site validation and remediation system and method may ensure customers/site managers are able to order and receive communications services through an uninterrupted purchase flow, where previously they may have not qualified for service due to the incorrect location data. Additionally, accurate site data allows for accurate internal and external reporting of service-enabled units in a communications network.
With reference now to
Generally, each of the wire centers 102 includes central office switches providing connection to the network 104 and deploying network components enabling telecommunications services for the end user 108. In one implementation, one or more communications nodes, such as cross connects or other network connection devices, communicate data between the wire center 102 and one or more sites 124a, 124b, 124c (collectively, sites 124) associated with the end users 108 via one or more trunks, fibers, and/or other transmission channels between points. According to examples, a “site” 124 may be a location where a network connection is provided. Thus, a site 124 generally refers to that where service exists or potentially can be deployed. In other words, the sites 124 may include a potential service location. In some examples, each of the sites 124 may involve a connection with a physical building, such as a business or residence, associated with one or more of the end users 108. For example, the site 124 may be a living unit that is a single-family home or a living unit that is part of a multiple dwelling unit, such as an apartment complex. In some examples, a site 124 may be a business unit that is a single commercial unit or part of a multiple unit commercial complex. For simplicity,
One or more of the communications nodes 112a-112c (collectively, nodes 112) has a node type determined based on the type of networking equipment installed at the node. For example, the node type may be copper-fed internet protocol (CoIP), Fiber to the Node (FFTN), Fiber to the Premises (FTTP) (also referred to as Fiber to the House (FTTH)), and/or the like. In the illustrative, non-limiting example shown in
There are benefits and drawbacks to each of these node types. The CoIP node type of the first node 112a and the FTTN node type of the second node 112b each involve the copper twisted pairs 130 and 132, with each channel of the copper twisted pairs 130 and 132 communicating in opposite directions between the nodes 112a/112b and each of the sites 124a/124b, respectively. In these cases, the node 112a/112b includes a box housing the connection to the wire center 102 and the pair of connections for each site. The FTTN node type of the second node 112b deploys the DSL equipment closer in physical proximity to the sites 124c than the CoIP node type of the first node 112a, reducing signal attenuation and increasing internet speed. To facilitate the closer proximity, however, a power pedestal and equipment cabinet are deployed at the third node 112b, increasing operational costs.
On the other hand, the FTTP node type of the third node 112c eliminates the need for the power pedestal and equipment cabinet. The GPON architecture involved with the third node 112c utilizes one fiber 122 providing two-way communication between the sites 124c and the wire center 102.
In an example purchase flow for requesting and obtaining a particular service or services provided by the communication network 104 to the site 124, a customer or site manager may request a particular service or services provided by the network. In some examples, the customer or site manager may contact a network managing device 312 via a user interface provided by a computing device as part of requesting network services. Via the user interface, the customer/site manager may input the address associated with the site 124. In examples, the network managing device 312 may determine whether the received address is associated with a site 124 in one or more network site storage systems, which are herein referred to as one or more network site data source(s) 320. The network managing device 312 may provide the received address to one or more network site data sources 320 to obtain associated existing site data. When the address is matched to a site 124 stored in a network site data source 320, the network managing device 312 may provide the customer/network manager particular service options for the associated site 124. For instance, a correlation of the address to location data in the existing site data indicates that the correlated site 124 is a service-enabled unit. The network managing device 312 may further provide an approval for a requested network service, which may initiate installation of that service to the site 124. In another example, the network managing device 312 may provide a listing of all available services from which the customer/site manager may select to install at the site 124. In yet another example, the network managing device 312 may provide a listing of upcoming services and potential installation dates for when those services are available for the site 124. Further, the network managing device 312 may indicate that a particular service is not available for the site 124 and provide a reason for the unavailability of the service.
In other examples, the existing network site data may include inaccurate data, such as inaccurate location data (e.g., one or both of geocoordinates and address). When the network site data source 320 includes inaccurate site location data, the network managing device 312 may be unable to accurately determine if such services are available to the address input by the customer/site manager without a time-consuming and intensive study of the capabilities of the corresponding nodes 112 and/or equipment installed in a connected node. In some examples, the network managing device 312 may thus be unable to provide an approval for a requested network service, and installation of the service may not be initiated to the site 124. In some examples, network site data is utilized by various systems for internal and external reporting. For these and other reasons, accuracy of the network site data may be significant for operation of the network 104. Thus, the network site validation and remediation system 350 may be implemented for providing validation and remediation of serviceable network site locations.
In general, the network site validation and remediation system 350 may include an existing site data preprocessor 302, an external data processor 304, an accuracy scoring engine 306, and a site location mitigator 310. It should be appreciated that the system 300 may have different components, additional components, or fewer components than those described herein. For instance, two or more components of the network site validation and remediation system 350 may be combined into a single component. In some examples, the existing site data preprocessor 302 may obtain and preprocess existing network site data. In further examples, the external data processor 304 is in communication with one or more external data sources to acquire and match various data from one or more external data sources to existing network site data. For instance, existing network site data may include location data (e.g., existing geocoordinates and/or existing addresses) of a plurality of sites 124 in a communications network 104. The existing network site data may be stored in one or a combination of inventory systems, which are herein referred to as network site data sources 320. In some examples, the existing site data preprocessor 302 is configured to aggregate a set of existing network site data to a location level (e.g., a unique set of street address and geocoordinate values). In some examples, a unique location-level data aggregation (sometimes referred to generally as a “location”) may include one site 124, which may be associated with a site identifier (ID). For instance, a single-family home having a particular street address may be determined as one site 124 and may have a unique site ID.
In other examples, a unique location-level data aggregation or “location” may include a plurality of sites 124. For instance, a multi-dwelling unit (MDU) may include a plurality of occupiable units, where each unit may include a separate network connection. Thus, the location may include a plurality of distinct sites 124 corresponding to the plurality of units of the MDU. According to aspects, the unique location-level data aggregations may reduce the amount of processing required to validate the existing network site data. For instance, searches for various data are performed with external data sources at the location level (e.g., unique set of street address and geocoordinates) rather than at the individual site-level (e.g., an apartment or suite number). Thus, the number of searches for matching external data are reduced. As an example, an MDU, such as a high-rise apartment complex, may have 100 units. Rather than performing 100 queries with each external data source (e.g., for each site 124 corresponding to each unit), the existing site data preprocessor 302 may aggregate the units into a location-level site aggregation, where a single query is performed for each external data source for the location (e.g., the apartment complex). According to examples, the existing site data preprocessor 302 may further record a number of sites 124 that are determined to be associated with each location-level data aggregation.
According to examples, the external data processor 304 may be in communication with one or more external data sources to acquire and match data from the one or more external data sources to existing network site data. The one or more external data sources, for example, may include one or more external occupancy data sources 322, one or more external geolocation data sources 324, one or more external address data sources 326, one or more external parcel data sources 328, one or more external building data sources 330, and one or more external business data sources 332. Other external data sources are possible and are within the scope of the present disclosure. In some examples, the external data processor 304 may access one or more of the external data sources via an Application Programming Interface (API) to request and obtain various external data.
At operation 404, location-level site aggregations may be determined. For example, the existing site data preprocessor 302 may preprocess received existing site location data and aggregate the data to location-level site aggregations or locations. According to an example, a location-level site aggregation includes a unique set of street address and geocoordinates) and may include one or more sites.
At operation 406, occupancy data for may be determined for a set of location-level site aggregations. In some examples, the external data processor 304 is configured to communicate with one or more external occupancy data sources 322 to obtain and match occupiable unit data from the one or more external occupancy data sources 322 to location data of the set of site locations. An example occupancy data source 322 may include a consumer data and/or demographic data source that is configured to provide information about the number of occupiable units associated with a particular location. For instance, for the example MDU described above, external occupancy data received from the one or more external occupancy data sources 322 may indicate that 100 occupiable units are associated with the street address and/or geocoordinates corresponding to the MDU. In some examples, for each of the location-level existing site data aggregations in the set, the external data processor 304 may provide the existing street address and/or geocoordinates included in the location data to the one or more external occupancy data sources 322. In response, the external data processor 304 may receive, for each location, the number of associated occupiable units.
At operation 408, external geolocation data (e.g., geocode data) may be determined for the set of location-level site aggregations. In some examples, the external data processor 304 may communicate with one or more external geolocation data sources 324 to determine external geolocation data (e.g., geocode and/or reverse geocode data) based on existing site location data. Example geolocation data sources 324 may include one or more private or public geocoders operable to receive addresses and output geocode coordinates that correspond to a given physical location. For example, one or more third parties may maintain geolocation information of the Earth, including topographical maps, satellite images, street information, and the like, which are mapped to latitude and longitude coordinate values. The third-party geolocation information may be made available to others via an API. For instance, the external data processor 304 may provide location addresses to one or more external geolocation data sources 324 to receive estimated latitude and longitude geocode coordinate values of the addresses. In some examples, one or more external geolocation data sources 324 may provide one or more satellite images or other maps of the area surrounding the provided addresses. In some examples, one or more external geolocation data sources 324 may further provide accuracy level information representing a level of confidence of the determined geocode coordinates matching the supplied address.
In some examples, one or more external geolocation data sources 324 may provide rooftop-level accurate geolocation data (e.g., geocode coordinates), and the accuracy level information may include an indication (e.g., a rooftop-level accuracy flag) that identifies the associated geolocation data as being rooftop-level accurate. For instance, rooftop-level accurate geolocation data may include geocoordinates of a building on a property determined to be located at a received existing location address.
At operation 410, reverse geolocation data (e.g., reverse geocode data) may be determined for the set of location-level site aggregations. In some examples, one or more external geolocation data sources 324 may provide reverse geocoding services, by which geocoordinates describing a location may be received and converted into an address. For example, the external data processor 304 may provide existing geocoordinates corresponding to the plurality of location-level existing site data aggregations to one or more external geolocation data sources 324. In response, the one or more external geolocation data sources 324 may determine and provide addresses that correspond to the existing geocoordinates. In some examples, one or more external geolocation data sources 324 may include, with the addresses, accuracy level information associated with the determined addresses, where the accuracy level information may represent a level of confidence of the determined address matching the supplied geocoordinates. For instance, the address may be determined to be associated with a building located at the received geolocation coordinates.
At operation 412, alternate addresses may be determined for the set of location-level site aggregations. In some examples, the external data processor 304 may communicate with one or more external address data sources 326 to determine possible alternate addresses to existing addresses of the plurality of location-level existing site data aggregations. For instance, alternate addresses may include addresses that are determined as closely matched to existing location addresses based on specified criteria. Alternate addresses may include addresses that may not be matched to a location address due to various common matching errors. For instance, more than one city or town name may be associated with a particular street address in various external data sources, street names may be misspelled, and the like. Thus, in some examples, the external data processor 304 communicate with one or more external address data sources 326 to request and obtain a set of addresses within a threshold distance (e.g., nearby addresses, such as addresses with a 100 ft, 250 ft, or 500 ft radius) of an existing location address. The external data processor 304 may further perform one or more address matching processes to determine whether any of the obtained addresses that are within the threshold distance “match” the existing location address based on specified criteria. For instance, the external data processor 304 may utilize fuzzy string matching and/or abbreviation tables to determine a match score of a nearby address to the existing location address based on the specified criteria. In some examples, the external data processor 304 may use the Levenshtein distance method to determine the match score of a string match between a nearby address and an existing location address. A nearby address with a match score above a defined threshold may be determined as a possible alternate address to the existing location address (and associated site addresses). In some examples, the external data processor 304 may determine alternate addresses based on whether house numbers of a nearby address and existing address match exactly. As an example, 123 N Main St may be determined as a possible alternate address to 123 Main St, while 124 Main St may not be determined as a possible alternate address.
At operation 414, parcel data may be determined for the set of location-level site aggregations. Parcel data, for example, may include geocoordinates of the outer boundaries of a parcel corresponding to a location's address. In some examples, the external data processor 304 may communicate with one or more external parcel data sources 328 to determine parcel data corresponding to existing location data. For instance, the external data processor 304 may provide addresses corresponding to the plurality of location-level data aggregations to one or more external parcel data sources 328 and request parcel data associated with the existing location addresses. In some examples, parcel data received from one or more external parcel data sources 328 may indicate more than one parcel matches existing geolocation location data. In such cases, as part of determining parcel data, the external data processor 304 may select a smallest sized parcel as a closest match. If multiple similarly sized parcels match existing location data, the external data processor 304 may select the parcel with the best string match (e.g., highest match score) between the addresses. Determining the string match score between addresses may utilize methods including but not limited to the Levenshtein distance method.
At operation 416, building data may be determined for the set of location-level site aggregations. Building data, for example, may include geocoordinates associated with a footprint of one or more buildings located at an address, where the geocoordinates may represent a point (e.g., a central point) or outer boundaries of a building footprint. In some examples, the external data processor 304 may communicate with one or more external building data sources 330 to determine building data based on existing location data. In some examples, the external data processor 304 may provide addresses and/or geocoordinates corresponding to the plurality of location-level data aggregations to one or more external building data sources 330 and request and receive building data associated with the corresponding locations.
At operation 418, business data may be determined for the set of location-level site aggregations. Business data, for example, may include addresses of businesses (e.g., including small businesses) located within a threshold distance of an address corresponding to a location-level data aggregation. For instance, businesses within a threshold distance of a site 145 may be identified to provide validation of the existing location data in cases where there are more units than the occupancy data would suggest. In some examples, the external data processor 304 may provide existing location data (e.g., addresses and/or geocoordinates) corresponding to the plurality of location-level data aggregations to one or more external business location data sources 332 and request and receive business location data within a threshold distance of the locations.
At operation 420, accuracy scores may be determined for the existing location data corresponding to the set of location-level site data aggregations. The accuracy scores provide a measure of confidence that the location data (e.g., address and/or geocoordinates) of a site 124 accurately reflects the physical location where a network connection is provided and thus, where service exists or potentially can be deployed. According to some examples, accuracy scores may be determined based on an evaluation of a combination of the above-determined data using various heuristic rules. Example rules are described below with reference to
At decision operation 422, a determination may be made as to whether existing location data is accurate based on the determined accuracy scores. In some examples, an accuracy score determined for a location-level site data aggregation may be evaluated against an accuracy threshold, where the accuracy threshold is represented as a numeric value within a range of numeric values, a classification within a range of classifications (e.g., low, medium, and high classifications), or the like. For instance, accuracy scores above the accuracy threshold are determined to satisfy the accuracy threshold, thus indicating a high level of confidence that the existing address and/or geocoordinates associated with one or more sites 124 at the location are accurate. At operation 424, location data with an accuracy score that satisfies the accuracy threshold is determined to be accurate and may be validated as being in a usable format for one or more downstream processes (e.g., a purchase flow, reporting of service-enabled units, etc.). In some examples, the location data may be stored and marked as accurate with a timestamp of when the accuracy of the location information was last verified. In some examples, stored, verified location data may be scheduled for periodic re-verification based on such timestamp.
Alternatively, an accuracy score below the accuracy threshold (e.g., a numeric value, a low or medium classification) may be determined to not satisfy the accuracy threshold, indicating that the corresponding existing address and/or geocoordinates associated of the site(s) 124 may be inaccurate. For example, when the accuracy score is determined to not satisfy the accuracy threshold, at operation 426, a set of inaccurate existing location data is determined and then further processed as explained below.
At operation 428, one or more mitigation actions may be determined for location data that is determined to be inaccurate. In some examples, the site location mitigator 310 is configured to receive the determinations made by the accuracy scoring engine 306 and determine one or more mitigation actions to be performed. At operation 430, the one or more mitigation actions may be performed. For example, a mitigation action may include one or a combination of: determining alternate site location data, updating existing site location data stored in one or more network site data sources 320, notifying an administrative user or third party to further analyze inaccurate existing site location data, etc. For instance, incorrect existing site location data may be removed and/or updated to correct location data to ensure location-data consumers (e.g., other people or processes) are utilizing correct location information. Example mitigation actions are described below.
At operation 504, for each location, a determination may be made as to whether parcel data matches existing location data. For example, in some implementations, the accuracy scoring engine 306 may determine a parcel match score for measuring a degree of match between parcel data determined by the external data processor 304 (e.g., as described above with reference to operation 414 of method 400) and existing location data. In some examples, the parcel match score is determined based at least in part on whether the existing geocoordinates for a location are within the outer boundaries of the associated parcel by a threshold distance. For instance, geocoordinates that are determined to be located within the outer parcel boundaries may be assigned a higher parcel match score, indicating a higher level of match. Alternatively, geocoordinates that are determined to be located outside the outer parcel boundaries may be assigned a lower parcel match score that indicate a lower level of (or no) match.
At operation 506, for each location, a determination may be made as to whether building data matches existing location data. For example, in some implementations, the accuracy scoring engine 306 may determine a building match score for measuring a degree of match between building data determined by the external data processor 304 (e.g., as described above with reference to operation 416 of method 400) and existing location data. In some examples, the building match score is determined based at least in part on whether the geocoordinates corresponding to the existing site location data are within or near the footprint of the one or more buildings. For instance, the external data processor 304 may determine whether the existing geolocation coordinates of a location-level site data aggregation are within a threshold distance of a point or outer boundaries of a building located at the location. For instance, geocoordinates that are determined to be located within the outer building boundaries may be assigned a higher building match score, indicating a higher level of match. Alternatively, geocoordinates that are determined to be located outside the outer building boundaries may be assigned a lower building match score that indicate a lower level of (or no) match.
For instance in the example 600 depicted in
With reference again to the example method 500 depicted in
For instance, in the example 700 depicted in
With reference again to
For instance, and as further depicted in
According to another example 800 depicted in
As another example, a determination may be made that existing geocoordinates 802 may be within parcel boundaries 804 by the first threshold distance, but the existing location address 810 and the address of the parcel (e.g., as used by one or more external parcel data sources 328), which is herein referred to as a parcel address 814, may not match. For example, the parcel match score may be determined based at least in part on results of one or more address matching processes to determine whether the parcel address 814 matches the existing location address 810 within a match score threshold (e.g., as determined using methods described above). As another example, a determination may be made that the existing location address 810 may not match a reverse geocode address 812 (e.g., an address determined by reverse geocoding) within a match score threshold (e.g., as determined using one or more address matching processes). As an example, when a combination of the above determinations is made, the accuracy scoring engine 306 may determine that the existing location data (e.g., existing location address 810 address and/or existing geocoordinates 802) associated with the location-level data aggregation has a medium accuracy score 825. For instance, the medium accuracy score 825 may be below an accuracy threshold, indicating that the existing location data associated with the one or more sites 124 at the location may be inaccurate and/or that the existing location data may need to be further analyzed.
With reference again to the example method 500 depicted in
According to an example 900 depicted in
According to another example 1000 and with reference now to
With reference again to the example method 500 depicted in
For instance, and with reference now to an example 11 depicted in
With reference now to another example 12 depicted in
With reference again to the example method 500 depicted in
With reference now to an example 1300 depicted in
In some examples, the site location mitigator 310 may further determine whether geocode coordinates 1308 received from one or more external geolocation data sources 324 meet a match threshold. According to an example implementation, when geocode coordinates 1308 are received from only one external geolocation data source 324 for the location, a determination may be made whether the geocode coordinates 1308 have a geocode accuracy level 1319 above a specified accuracy level threshold and/or whether accuracy level information received with the geocode coordinates 1308 includes an indication (e.g., a rooftop-level accuracy flag 1321) identifying the geocode coordinates as being rooftop-level accurate. When the geocode coordinates 1308 satisfy the accuracy level threshold and/or are rooftop-level accurate, the geocode coordinates 1308 may be determined to be the alternate coordinates to the existing geolocation coordinates 1302.
In other examples, and as depicted in
According to another example 1500 depicted in
With reference now to the example 1600 depicted in
In some examples, the network site validation and remediation system 350 may be further configured to validate alternate geocoordinates. For instance, for each location for which alternate location data was determined, the external data processor 304 may acquire and match data from external data sources to the alternate coordinates and/or alternate address using various method described above. For example, the external data processor 304 may determine external occupancy data for a location corresponding to the alternate location data (e.g., such as in operation 406 of method 400). The external data processor 304 may further determine external geocode data for the location corresponding to the alternate location data (e.g., such as in operation 408 of method 400). The external data processor 304 may further determine reverse geocode data for the location corresponding to the alternate location data (e.g., such as in operation 410 of method 400). The external data processor 304 may further determine sub-alternate addresses for the location corresponding to the alternate location data (e.g., such as in operation 412 of method 400). The external data processor 304 may further determine parcel data for the location corresponding to the alternate location data (e.g., such as in operation 414 of method 400). The external data processor 304 may further determine building data for the location corresponding to the alternate location data (e.g., such as in operation 416 of method 400). The external data processor 304 may further determine business data for the location corresponding to the alternate location data (e.g., such as in operation 418 of method 400).
In some examples, the accuracy scoring engine 306 may evaluate the data determined by the external data processor 304 and make various determinations and to determine accuracy scores for the alternate location data. In some examples, the accuracy scoring engine 306 may determine whether alternate location data matches the determined parcel data for the location (e.g., such as in operation 504 of method 500). In some examples, the accuracy scoring engine 306 may determine whether alternate location data matches the determined building data for the location (e.g., such as in operation 506 of method 500). In some examples, the accuracy scoring engine 306 may determine whether alternate location data matches the determined geocode data for the location (e.g., such as in operation 508 of method 500). In some examples, the accuracy scoring engine 306 may determine whether alternate location data matches the determined reverse geocode data for the location (e.g., such as in operation 510 of method 500). In some examples, the accuracy scoring engine 306 may determine whether alternate location data matches the determined occupancy data for the location (e.g., such as in operation 512 of method 500). In some examples, the accuracy scoring engine 306 may determine whether alternate location data matches the determined business data for the location (e.g., such as in operation 512 of method 500).
In some examples, a determination may be made as to whether alternate location data is accurate based on accuracy scores determined according to a combination of above-described rules (e.g., such as in operation 516 of method 500) to evaluate various aspects of the alternate location data. In some examples, a determination may be made as to whether a sub-alternate address determined for a location is more than a threshold distance from the alternate address determined for the location. When the sub-alternate address and the alternate address are over the threshold distance apart, the network site validation and remediation system 350 may be further configured to validate the sub-alternate geocoordinates for the location.
In some examples, the site location mitigator 310 may be configured to automatically replace existing geocoordinates with the determined alternate (or sub-alternate) coordinates. For instance, alternate location data may replace existing location data in one or more network site data sources 320, thus replacing incorrect/less-accurate data with updated verified accurate location data. The alternate location data may be associated with the one or more site ID's of the sites 124 included in the location-level data aggregation. In other examples, the site location mitigator 310, may be configured to generate a notification corresponding to the existing geocoordinates and the determined alternate coordinates. For instance, the notification may be displayed to an administrative user to remove incorrect or less-accurate existing geocoordinates from one or more network site data sources 320 and replace the incorrect/less-accurate data with updated verified accurate location data. Thus, new serviceable location data may be added to one or more network site data sources 320 based on the verified accurate data determined for a site 124. As such, customers/site managers may be enabled to order and receive communications services through an uninterrupted purchase flow, where previously they may have not qualified for service due to the incorrect/less-accurate existing geocoordinates. Additionally, accuracy of internal and external reporting may be increased as the accuracy of the site data on which the reporting is based is verified.
The computing device 1900 may include at least one processing unit 1910 and a system memory 1920. The system memory 1920 may include, but is not limited to, volatile storage (e.g., random access memory), non-volatile storage (e.g., read-only memory), flash memory, or any combination of such memories. The system memory 1920 may also include an operating system 1930 that controls the operation of the computing device 1900 and one or more program modules 1940. The program modules 1940 may be responsible for performing one more of the operations of the methods described above for providing robust network connectivity. A number of different program modules and data files may be stored in the system memory 1920. While executing on the processing unit 1910, the program modules 1940 may perform the various processes described above. One example program module 1940 includes the network site validation and remediation system 350.
The computing device 1900 may also have additional features or functionality. For example, the computing device 1900 may include additional data storage devices (e.g., removable and/or non-removable storage devices) such as, for example, magnetic disks, optical disks, or tape. These additional storage devices are labeled as a removable storage 1960 and a non-removable storage 1970.
Examples of the disclosure may also be practiced in an electrical circuit comprising discrete electronic elements, packaged or integrated electronic chips containing logic gates, a circuit utilizing a microprocessor, or on a single chip containing electronic elements or microprocessors. For example, examples of the disclosure may be practiced via a system-on-a-chip (SOC) where each or many of the components illustrated in
When operating via a SOC, the functionality, described herein, may be operated via application-specific logic integrated with other components of the computing device 1900 on the single integrated circuit (chip). The disclosure may also be practiced using other technologies capable of performing logical operations such as, for example, AND, OR, and NOT, including but not limited to mechanical, optical, fluidic, and quantum technologies.
The computing device 1900 may include one or more communication systems 1980 that enable the computing device 1900 to communicate with other computing devices 1995 such as, for example, routing engines, gateways, signings systems and the like. Examples of communication systems 1980 include, but are not limited to, wireless communications, wired communications, cellular communications, radio frequency (RF) transmitter, receiver, and/or transceiver circuitry, a Controller Area Network (CAN) bus, a universal serial bus (USB), parallel, serial ports, etc.
The computing device 1900 may also have one or more input devices and/or one or more output devices shown as input/output devices 1990. These input/output devices 1990 may include a keyboard, a sound or voice input device, haptic devices, a touch, force and/or swipe input device, a display, speakers, etc. The aforementioned devices are examples and others may be used.
The term computer-readable media as used herein may include computer storage media. Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, or program modules.
The system memory 1920, the removable storage 1960, and the non-removable storage 1970 are all computer storage media examples (e.g., memory storage). Computer storage media may include RAM, ROM, electrically erasable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other article of manufacture which can be used to store information and which can be accessed by the computing device 1900. Any such computer storage media may be part of the computing device 1900. Computer storage media does not include a carrier wave or other propagated or modulated data signal.
Communication media may be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” may describe a signal that has one or more characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.
The description and illustration of one or more aspects provided in this application are not intended to limit or restrict the scope of the disclosure as claimed in any way. The aspects, examples, and details provided in this application are considered sufficient to convey possession and enable others to make and use the best mode of claimed disclosure. The claimed disclosure should not be construed as being limited to any aspect, example, or detail provided in this application. Regardless of whether shown and described in combination or separately, the various features (both structural and methodological) are intended to be selectively rearranged, included or omitted to produce an embodiment with a particular set of features. Having been provided with the description and illustration of the present application, one skilled in the art may envision variations, modifications, and alternate aspects falling within the spirit of the broader aspects of the general inventive concept embodied in this application that do not depart from the broader scope of the claimed disclosure.
This application claims the benefit of U.S. Provisional Application No. 63/483,621 filed Feb. 7, 2023, entitled “Network Site Determination in a Telecommunications Network, which is incorporated herein by reference in its entirety.
| Number | Date | Country | |
|---|---|---|---|
| 63483621 | Feb 2023 | US |