METHODS, APPARATUSES, AND SYSTEMS FOR FACILITATING MANAGEMENT AND/OR AUTOMATION OF DIRECT MAIL CAMPAIGNS AND OTHER BULK/HIGH VOLUME MAILINGS
20180005336 · 2018-01-04
Inventors
Cpc classification
G06Q10/107
PHYSICS
G06Q10/0637
PHYSICS
International classification
G06Q10/06
PHYSICS
Abstract
Methods, apparatuses, and systems for facilitating and/or automating project specification, vendor/supplier selection, packaging/processing, and/or mailing for bulk or direct mail campaigns are described herein. Via computer-facilitated techniques, a project manager (or other authorized user) of a mail campaign electronically provides various project information (e.g., project type, design specifications and quantities of materials, mailing list(s), deadlines). Multiple authorized suppliers of services germane to direct mail campaigns (e.g., print shops, lettershops) electronically access the project information and in turn provide respective bids to perform at least some services required by the project. The methods, apparatuses, and systems may also generate logistical recommendations to the user for the bulk or direct mail campaign based on the processed data and on logistical information obtained from a variety of sources.
Claims
1. An apparatus for outputting digitally-rendered logistical options for a bulk mail project, the apparatus comprising: a processor; a communication interface operatively coupled to the processor; a mail campaign processing engine implemented on the processor and configured to receive, via the communication interface, at least one project specification for a bulk mail project from a client device via a communication interface, the mail campaign processing engine configured to generate a supplier bidding estimate for each qualified supplier in a list of qualified suppliers; and a decision engine implemented on the processor and configured to: receive, from the mail campaign processing engine, the at least one project specification and the supplier bidding estimates, receive at least one recipient mail file, retrieve, from a postal logistics database communicatively coupled to the communication interface, mailing cost parameters for a plurality of mailing scenarios, calculate the plurality of mailing scenarios based on the at least one project specification, the supplier bidding estimates, the at least one recipient mail file, the list of qualified suppliers, and the mailing cost parameters, rank each of the plurality of mailing scenarios based on recommendation criteria, and transmit a signal to a client device, the signal including instructions to render at least a portion of the plurality of mailing scenarios at a project management user interface displayed at the client device.
2. The apparatus of claim 1, wherein the mail campaign processing engine is configured to: retrieve a plurality of supplier records from a database, compare at least one supplier capabilities field of each supplier record of the plurality of supplier records with the at least one project specification, and generate the list of qualified suppliers using the comparison of the at least one supplier capabilities field of each supplier record and the at least one project specification.
3. The apparatus of claim 1, wherein the mail campaign processing engine is configured to calculate the supplier bidding estimate via retrieving supplier bid records for each qualified supplier in the list of qualified suppliers and averaging a subset of the supplier bid records, the subset including supplier bid records for previous bulk mailing projects with attributes matching attributes specified in the project specification.
4. The apparatus of claim 1, wherein each of the at least one recipient mail file is presorted by one of the decision engine or an external processing entity, such that records in each of the at least one recipient mail file are concentrated based on one of 1) a geographic proximity to a plurality of mail entry points, or 2) a frequency of zip codes in each of the at least one recipient mail file.
5. The apparatus of claim 1, wherein: the recommendation criteria includes the geographic efficiency of the mailing scenario, and the decision engine uses the recommendation criteria to apply a higher ranking to a subset of mailing scenarios from the plurality of mailing scenarios, the subset of mailing scenarios including at least one mailing scenario that includes at least one qualified supplier from the list of qualified suppliers that is geographically located in at least one geolocation associated with at least one geographic segment derived from the at least one recipient mail file.
6. The apparatus of claim 1, wherein: the recommendation criteria includes the supplier efficiency of the mailing scenario, and the decision engine uses the recommendation criteria to provide a higher ranking to each mailing scenario from the plurality of mailing scenarios that includes a quantity of qualified suppliers below a predetermined supplier efficiency threshold.
7. The apparatus of claim 6, wherein the predetermined threshold is one qualified supplier.
8. The apparatus of claim 1, wherein the decision engine is further configured to: apply a risk score to each mail scenario from the plurality of mail scenarios based on a quantity of suppliers involved in each mail scenario from the plurality of mail scenarios, wherein the risk score indicates a risk of the bulk mailing project not being delivered on time.
9. A method for outputting digitally-rendered logistical options for a bulk mail campaign, the method comprising: A) electronically receiving, at a mail campaign processing engine implemented on a processor, at least one project specification and at least one mail file for a bulk mail campaign; B) electronically generating, via the mail campaign processing engine, supplier bids information for the bulk mail campaign via processing the at least one project specification and the at least one mail file; C) electronically providing the supplier bids information for the bulk mail campaign, the at least one project specification, and the at least one mail file to a decision engine implemented by the processor; D) electronically obtaining, at the decision engine and from a postal logistics database communicatively coupled to the decision engine via a communications interface operatively coupled to the processor, logistical information at the decision engine and generating at least one hypothetical mailing scenario via applying the logistical information to the supplier bids information and recipient mailing data from the at least one mail file; E) electronically generating, via the decision engine, at least one logistical recommendation for a user based on a ranking of the at least one hypothetical mailing scenario using recommendation criteria; and F) electronically providing the at least one logistical recommendation to the user.
10. The method of claim 9, wherein the logistical information includes at least one of a supplier profile, postage costs, logistical costs, logistics scenarios, postage scenarios, trucking scenarios, USPS points of entry, and geolocation data.
11. The method of claim 9, wherein the supplier profile includes at least one of supplier name, supplier contact information, supplier parent company, supplier locations, supplier data compliance capabilities, supplier data security compliance and/or capabilities, data handling requirements, required certifications, production methods, production preferences, hours of operation, general capacity per location, supplier rating, supplier special qualifying status, bulk mail preferences by location, cloud membership, quantity minimums and maximums, black-out dates, and location.
12. The method of claim 9, wherein processing the at least one mail file includes presorting the at least one mail file by one of the decision engine or an external processing entity, and based on the geolocation of each entry in the mail file, by sorting entries in the mail file based on their geographic proximity to at least one mail entry point.
13. The method of claim 9, wherein the supplier bids information includes information related to production costs of the bulk mail campaign.
14. The method of claim 9, wherein the at least one logistical recommendation includes at least one optimized logistical option for the bulk mail campaign, wherein the at least one optimized logistical option for the bulk mail campaign is optimized based on at least one of a geographic density of the at least one processed mail file, the supplier profile, the supplier bid information, and a project schedule extracted from the at least one project specification.
15. The method of claim 9, wherein supplier bids are generated for a plurality of suppliers selected based on processing the at least one project specification and the at least one mail file via the mail campaign processing engine.
16. The method of claim 9, wherein: the ranking is determined by determining the extent to which a hypothetical mailing scenario from the at least one hypothetical mailing scenario optimizes the recommendation criteria, and the recommendation criteria include one of geographical efficiency, supplier quantity efficiency, or supplier capability.
17. A method for outputting digitally-rendered logistical options for a bulk mail project using geographic segments, the method comprising: receiving, at a decision engine module implemented by a processor, a project specification and a recipient mail file for a bulk mail project; calculating a frequency of each zip code for each recipient of the plurality of recipients listed in the recipient mail file; ranking each zip code in the recipient mail file based on the frequency of each zip code; selecting a subset of the zip codes based on the rank of each zip code, the subset of the zip codes corresponding to a first subset of recipients from the plurality of recipients; generating a plurality of geographic segments, each geographic segment of the plurality of geographic segments associated with a zip code in the subset of zip codes; adding each recipient from a second subset of recipients from the plurality of recipients into a geographic segment of the plurality of geographic segments based on the geographic information of each recipient from the second subset of recipients, the second subset of recipients being different from the first subset of recipients; calculating a geographic density of the recipient mail file via calculating a percentage of recipients from the plurality of recipients that are in each geographic segment of the plurality of geographic segments; calculating a plurality of mail scenarios based at least on the geographic density of the recipient mail file; and sending a portion of the plurality of mail scenarios to a bulk mail project administrator, the portion of the plurality of mail scenarios satisfying recommendation criteria.
18. The method of claim 17, wherein the recommendation criteria includes a mailing cost threshold and a risk score threshold.
19. The method of claim 17, wherein the plurality of geographic segments are a first plurality of geographic segments and the geographic density is a first geographic density, the method further comprising: for each zip code from the subset of zip codes, associating a mail entry point in geographical proximity to the zip code; generating a second plurality of geographic segments, the second plurality of geographic segments including a geographic segment for each of the mail entry points associated with each zip code from the subset of zip codes; adding each recipient from the plurality of recipients into at least one of the geographic segments in the second plurality of geographic segments, based on a geographic proximity of each recipient to the mail entry point associated with the at least one geographic segment; calculating a second geographic density of the recipient mail file via calculating a percentage of recipients from the plurality of recipients that are in each geographic segment in the second plurality of geographic segments; calculating a plurality of mail scenarios based at least on the second geographic density of the recipient mail file; and sending a portion of the plurality of mail scenarios to a bulk mail project administrator.
20. The method of claim 17, wherein: calculating a plurality of mail scenarios further includes applying a risk score to each mail scenario from the plurality of mail scenarios, and the risk score indicates a risk of the bulk mailing project not being delivered on time.
21. The method of claim 20, wherein the risk score has a positive effect on the mail scenario when a quantity of suppliers involved in each mail scenario from the plurality of mail scenarios is below a predetermined threshold.
22. The method of claim 20, wherein the risk score has a positive effect on the mail scenario when the geographic distance between a mail entry point and each supplier in a set of suppliers involved in each mail scenario from the plurality of mail scenarios is below a predetermined threshold.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0039] The drawings are for illustrative purposes and are not intended to limit the scope of the inventive subject matter described herein. The drawings are not necessarily to scale; in some instances, various aspects of the disclosure herein may be shown exaggerated or enlarged in the drawings to facilitate an understanding of different features. In the drawings, like reference characters generally refer to like features (e.g., functionally similar and/or structurally similar elements).
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
DETAILED DESCRIPTION
[0057] Following below are more detailed descriptions of various concepts related to, and embodiments of, inventive methods, apparatuses and systems for facilitating management and/or automation of bulk mail or direct mail campaigns. It should be appreciated that various concepts introduced above and discussed in greater detail below may be implemented in any of numerous ways, as the disclosed concepts are not limited to any particular manner of implementation. Examples of specific implementations and applications are provided primarily for illustrative purposes.
[0058]
[0059]
[0060] In one example, the bulk mailing management system may comprise two separate, independently scalable hardware devices, i.e., an application server and a database server. The bulk mailing management application server 208 and the bulk mailing management database server 209 can both include at least one processor and at least one memory each. The bulk mailing management database 219 is hosted on the bulk mailing management database server 209 and can be configured to store client data (e.g., supplier lists, project specifications, project templates, and/or other project manager data), and can interact with the bulk mailing management application server 208, and in turn the client device 202, to aid the project manager in defining portions of a project specification. The bulk mailing management database can also be configured to store supplier data (e.g., project bids, and/or other supplier-related data), and can interact with the bulk mailing management application server 208, and in turn the supplier device 226 to aid the supplier in bidding on and/or otherwise fulfilling bulk mail projects.
[0061] The bulk mailing management application server 208 can also include a number of modules implemented in hardware (e.g., in a circuit and/or other hardware device including at least one memory and/or at least one processor), software (e.g., in software code, a software object, and/or the like) implemented on hardware, such as a memory and/or a processor, or both hardware and software. Example modules include a data processing component 214, a bid submission component 216, a bid invitation component 220, a project specification compilation component 224, and a decision engine 206. The bulk mailing management application server 208 can use data in the bulk mailing management database 219 and the modules to obtain bulk mail project specification data, solicit project bids from suppliers, process project bids received from suppliers, and provide information about the project bids to a project manager, e.g., via the project management user interface 222. In some implementations, the bulk mail management application server 208 can be implemented on a platform such as ASP.NET, Ruby on Rails, or similar, with a backend Microsoft SQL Server 2012, PostgreSQL, MySQL, or similar for its database. A Simple Mail Transfer Protocol (SMTP) server can be used for sending email and SMS notifications. An ASP.NET or similar routing system, with standard .ASPX Web Form pages and .ASCX Web Controls, or similar dynamic markup technologies, with dedicated CSS style sheets can be used to route data to and/or from the bulk mail management application server, to generate user interfaces within the project management user interface, and/or for specifying the layout of pages hosted at the bulk mail management application server. In some implementations, each of the data processing component 214, a bid submission component 216, a bid invitation component 220, and a project specification compilation component 224 can be components of a mail campaign processing engine 204 implemented by the processor 210 and configured to process supplier bids and/or project specifications, as described below. The decision engine 206 (described in more detail in
[0062] The bulk mailing management database 219 can include multiple tables including data (e.g., project manager data, supplier data, project specification data, bid data, and/or other data) used throughout the system. For example, an Organization table 219a includes fields such as, but not limited to: OrganizationID, OrganizationTypelD, OrganizationName, TaxID, TaxExempt, Address1, Address2, Address3, City, StateCode, Zip, DateCreated, SupplierListType, Phone, Extension, and/or Mobile. The organization table may support and/or track multiple client and/or supplier business accounts. A User table 219b includes fields such as, but not limited to: UserID, OrganizationID, RoleID, Email, Password, Salt, Title, FirstName, LastName, Phone, Extension, Mobile, MobileProviderName, UseAlternateAddress, Address1, Address2, Address3, City, StateCode, Zip, DateCreated, and/or DateActivated. The user table may support and/or track multiple user accounts.
[0063] A PasswordResetRequest table 219c includes fields such as, but not limited to: PasswordResetRequestID, UserID, ResetCode, and/or DateCodeSent. The PasswordResetRequest table may support and/or track multiple requests for resetting passwords. A MobileProvider table 219d includes fields such as, but not limited to: MobileProviderName and/or MobileProviderEmailSuffix. The MobileProvider table may support and/or track multiple mobile providers. An OrganizationSuppliers table 219e includes fields such as, but not limited to: OrganizationSupplierID, CustomerOrganizationID, SupplierOrganizationID, and/or the like. The OrganizationSuppliers table may support and/or track multiple suppliers. A State table 219f includes fields such as, but not limited to: StateCode and/or StateName. The State table may support and/or track multiple states and/or provinces.
[0064] A Project table 219g includes fields such as, but not limited to: ProjectID, ProjectName, OrganizationID, ProjectTypeID, CloneType, OriginProjectID, PrimaryPMUserID, ProjectDescription, DateCreated, HoldDate, ReadyForBidsDate, BidCutoffDateEntered, BidReviewAutoSetDate, BidsSelectedDate, BidsAwardedDate, MailDateEntered, MaillDroppedDate, and/or CompletedDate. The Project table may support and/or track multiple direct mail projects. A ProjectSuppliers table 219h includes fields such as, but not limited to: OrganizationID, ProjectID and/or Declined. The ProjectSuppliers table may support and/or track project suppliers. A ProjectPMs table 219i includes fields such as, but not limited to: ProjectID and/or PMUserID. The ProjectPMs table may support and/or track multiple project managers (PMs). A ProjectType table 219j includes fields such as, but not limited to: ProjectTypeID, ProjectTypeName, and/or Immutable. The ProjectType table may support and/or track multiple project types. A ProjectProperty table 219k includes fields such as, but not limited to: ProjectPropertyID, ProjectID, CategoryID, [Key], and/or Value. The State table may support and/or track multiple project properties and/or details. A ProjectDocument table 2191 includes fields such as, but not limited to: ProjectDocumentID, DocumentID, ProjectID, AddedDate, AddedByUderID, ReviewRequired, ReviewDueDate, ReviewedByUserID, ReviewedDate, ReviewResponse, and/or ReviewComments. The ProjectDocument table may support and/or track multiple project documents.
[0065] A Document table 219m includes fields such as, but not limited to: DocumentID, Name, Description, Type, Document Size, DocumentSmallBlob, DocumentFileContentID, and/or DocumentFileContent. The Document table may support and/or track multiple project documents. A ProjectDocumentAccess table 219n includes fields such as, but not limited to: ProjectDocumentID, and/or SupplierOrganizationID. The ProjectDocumentAccess table may support and/or track permissions to access project documents.
[0066] A ProjectComponent table 2190 includes fields such as, but not limited to: ProjectComponentID, ProjectID, ComponentID, ComponentName, and/or Customize. The ProjectComponent table may support and/or track multiple project components. A Component table 219p includes fields such as, but not limited to: ComponentID, and/or ComponentName. The Component table may support and/or track multiple project components. A ProjectComponentData table 219q includes fields such as, but not limited to: ProjectComponentPropertyData, ProjectComponentID, ProkectComponentDataCategoryID, [Key], and/or Value. The ProjectComponentData table may support and/or track project component data. A ComponentTemplates table 219r includes fields such as, but not limited to: ComponentTemplateID, ComponentID, OrganizationID, TemplateName, and/or TemplateDescription. The ComponentTemplates table may support and/or track multiple component templates.
[0067] A ComponentTemplateData table 219s includes fields such as, but not limited to: ComponentTemplateDataPropertyID, ComponentTemplateID, ComponentDataCategoryID, [Key], and/or Value. The ComponentTemplateData table may support and/or track component template data. A ComponentTemplateDataCategory table 219t includes fields such as, but not limited to: ProjectComponentDataCategoryID, and/or ProjectComponentDataCategoryName. The ComponentTemplateDataCategory table may support and/or track project template category data.
[0068] A ProjectQuantity table 219u includes fields such as, but not limited to: ProjectQuantityID, ProjectID, Selected, OriginalQuantityValueID, AwardedQuantityValueID, and/or FinalQuantityValueID. The ProjectQuantity table may support and/or track multiple mailing quantities for projects. A ProjectQuantityValue table 219v includes fields such as, but not limited to: ProjectQuantityValueID, Quantity, DataProcessing, Postage, and/or Shipping. The ProjectQuantityValue table may support and/or track extra financial line items. A ProjectPrintQuantity table 219w includes fields such as, but not limited to: ProjectPrintQuantityID, ProjectComponentID, ProjectQuantityID, OriginalPrintQuantity, AwardedPrintQuantity, and/or FinalPrintQuantity. The ProjectPrintQuantity table may support and/or track print quantities for various project components.
[0069] A BidInfo table 219x includes fields such as, but not limited to: BidInfoID, OrganizationID, ProjectID, DateSaved, DateSubmitted, and/or DateSelected. The BidInfo table may support and/or track bidding information for suppliers. A BidLettershop table 219y includes fields such as, but not limited to: BidLettershopID, ProjectQuantityID, BidInfoID, Selected, OriginalValue, AwardedValue, and/or FinalValue. The BidLettershop table may support and/or track bidding information for lettershops. A BidPrint table 219z includes fields such as, but not limited to: BidPrintID, BidInfoID, ProjectQuantityID, ProjectComponentID, Selected, OriginalValue, AwardedValue, and/or FinalValue. The BidPrint table may support and/or track print bid values for each invited supplier for each project component. A BidAdditionalCostsDiscounts table 219aa includes fields such as, but not limited to: BidAdditionalCostsDiscountsID, BidInfoID, ProjectQuantityID, OriginalValue, AwardedValue, and/or FinalValue. The BidAdditionalCostsDiscounts table may support and/or track additional costs for suppliers bidding on project components.
[0070] A Log table 219bb includes fields such as, but not limited to: LogID, ApplicationName, ApplicationVersion, MachineName, ClassName, Method, EventName, EventAction, ExceptionSource, ExceptionMessage, Form, URL, ExceptionStackTrace, ReferrerURL, IPAddress, InnerExceptionMessage, Emailed, and/or DateCreated. The Log table may support and/or track multiple records pertaining to unhandled exceptions. An Event table 219cc includes fields such as, but not limited to: EventID, ModifierUserID, Timestamp, ObjectID, ObjectType, EventType, Notification, Task, EmailList, SMSList, Context, and/or NewValue. The Event table may support and/or track multiple records pertaining to system notifications, messages, and/or tasks.
[0071] The bulk mailing management database 219 can also store supplier profiles including information relevant to suppliers users can select for bulk mailing projects. Supplier profiles can include a company name, parent company information, if any (e.g., parent company name, industry, and/or other information), a primary contact name, a primary contact phone number, a primary contact email address, a primary contact business address, a supplier industry (e.g., a standard industrial classification (SIC) or North American Industry Classification System (NAICS) code), a supplier's postal compliance capabilities (e.g., Intelligent Mail Barcode (IMb) for USPS postal services, and/or similar formats and/or information used to address rules and/or mandates applied by a particular postal system), the supplier's central phone number, a number of the supplier's locations, and/or list of locations, the supplier's finance and/or billing contact name, phone number, and email address, the supplier's data compliance capabilities, a Health Insurance Portability and Accountability Act (HIPAA) compliance status, a financial data management status, contact information (e.g., name, phone number, email address, and/or the like) of an entity handling the supplier's data compliance, compliance data (including documentation of compliance, a start and expiration date of compliance, and/or other related information), security compliance data (e.g., data security capabilities, documentation of security compliance, start and expiration dates of security compliance, and a name, phone number, and/or email address for the entity handling the supplier's data security), next compliance assessment date(s) for the supplier, the supplier's cloud membership (e.g., where the supplier stores its data), billing agreements, special qualifying statuses of the supplier (e.g., Union status, including union name, women-owned, minority-owned, and/or other such statuses), preferred bulk mail projects (e.g., postcards, letter packs, envelopes, and/or the like) for each supplier location, production preferences (e.g., digital printing and/or inkjet printing) for each supplier location, the supplier's hours of operations, each supplier location's general capacity for handling bulk mailing projects, supplier blackout dates, and a supplier rating.
[0072] The data processing component 214 can receive data (e.g., project specification data, project specification template data, supplier list data) and/or a number of other types of data, e.g., via the at least one processor 210, and can format the data such that the data can be stored in the bulk mail management database 219, displayed in the project management user interface 222, and/or otherwise used by various modules of the bulk mailing management application server 208. The bid submission component 216 can facilitate bidding on project specifications, e.g., via providing bid functionality to the supplier, receiving supplier bids, e.g., via the at least one processor 210, and/or processing the supplier bid such that it can be stored in the bulk mail management database 219, and/or such that the supplier bid can be presented to the project manager. The bid submission component 216 can also enforce a bidding period time limit for supplier bids. The bid invitation component 220 can take project specification data provided by the project manager and, e.g., via the at least one processor 210, can format the project specification data such that it can be sent to a supplier, and such that the supplier can return a bid for the project. The project specification compilation component 224 can construct the project specification creation interface, e.g., displayed to the project manager via the project management user interface 222, and can receive the data the project manager provides for the project, and/or determine whether portions of the project specification being defined by the project manager are complete and/or do not contain other errors as described in
[0073] The project management user interface 222 can be a user interface accessible by either the client device 202 and/or the supplier device 226, and can be hosted by and/or accessed from the bulk mailing management application server 208. The project management user interface 222 can receive inputs from the project manager and/or the supplier, and can provide the information to the bulk mailing management application server 208 and ultimately to the bulk mail management database 219 for processing. Additionally, the project management user interface 222 can display data from either the bulk mailing management application server 208 or the bulk mail management database 219 to the project manager and/or the supplier, e.g., via one or more Graphical User Interfaces (GUIs) designed to display project specification data, project bid data, and/or other related data. In some implementations, the project management user interface 222 can be implemented in HyperText Markup Language (HTML), CSS, JavaScript scripting language, and/or similar languages and/or platforms for specifying client-side web interfaces. In some implementations, the project management user interface 222 can be run within a web browser (including but not limited to Google Chrome, Internet Explorer, Firefox, and Safari) and/or similar software. The system settings for the bulk mail management application server 208 can be configured in a Web.config or similar file or set of files, including but not limited to customization for bulk mail management database connection settings and SMTP server settings.
[0074]
[0075] The project management user interface 222 can send the project specification information to a bulk mailing management application server 208, which can in turn transmit the project specification information to the bulk mailing management database server 209 for storage within the bulk mailing management database 219. The bulk mailing management application server 208 can identify 308 suppliers to which to provide bid invitations, e.g., based on the project manager-provided list, and/or based on a project manager-curated subset of the project manager-provided list. The bulk mailing management application server 208 can then send 310 a bidding invitation to the identified suppliers. The suppliers can send bids via the project management user interface 222 to the bulk mailing management application server 208, which in turn can transmit the bid information to the bulk mailing management database server 209 for storage within the bulk mailing management database 219. The bulk mailing management application server 208 can aggregate 312 the bids received from the suppliers. In some implementations, suppliers can bid on an entire bulk mailing project, and/or on portions of the bulk mailing project (e.g., can bid exclusively on bulk mailing inserts for the bulk mailing project, and/or the inserts and envelope portions of a bulk mailing project, but not a main letter portion of a bulk mailing project). The bulk mailing management application server 208 can also optionally determine the least expensive bids obtained from the bids submitted. After a predetermined bidding period has expired, the bulk mailing management application server 208 can present 314 the aggregated bids to the project manager, e.g., via the project management user interface 222. The project management user interface 222 can optionally highlight the least expensive portions of the bids received from the suppliers, and/or can recommend to the user which bids to accept (e.g., based on the prices submitted). The bulk mailing management application server 208 can receive 316 the bid portion selections from the project manager, and can send a selection message to the one or more suppliers who submitted the bid portions. The selection message can include which portion of the bulk mailing project the one or more suppliers have been selected to fulfill, and/or the price agreed upon for fulfilling the portion of the bulk mailing project. The one or more suppliers can optionally confirm 318 with the bulk mailing management application server 208 that the one or more suppliers received a selection message, and/or can inform the bulk mailing management application server 208 when the one or more suppliers have processed and/or mailed out the bulk mailing project.
[0076]
[0077]
[0078] The project management user interface 222 can store 514 information about the bidding period and/or other bidding criteria, e.g., by sending the data to the bulk mailing management database 219. The bulk mailing management application server 208 can send 5016 a bidding invitation to the at least one supplier specified by the project manager, the bidding invitation including the at least one bidding criterion. If at least one supplier has responded to the bidding invitation 518, the bulk mailing management application server 208 can store 520 the supplier's bid in the bulk mailing management database 219, and can provide 522 the bid to the project manager, via providing the project management user interface 222 such that the project management user interface 222 can display the bid to the project manager in a GUI. If the bidding period has not expired 524 (e.g., if the current date and/or time is still before the deadline for submitting bids), the bulk mailing management application server 208 can continue to determine whether other suppliers have responded to a bidding invitation. If a supplier has not yet responded to the bidding invitation, the bulk mailing management server 208 can continue to determine if the bidding period has expired. If the bidding period has expired 524, then, referring to
[0079]
[0080] Referring to
[0081] Referring to
[0082] The bulk mailing management server 208 may process the project manager's data and provide it to the suppliers which the project manager provided and/or selected, e.g., via the processes described above. Referring to
[0083] Once having access to various project specifications, referring to
[0084] Referring to
[0085]
[0086] For example, in some implementations a user may provide one or more project specifications 1705 and mail files 1710 to a mail campaign processing engine 204 configured to carry out the process outlined in steps 110-140 of
[0087] The mail files 1710 can contain recipient names and addresses, and can be used to determine the geographic density of the bulk mailing project. The geographic density of the bulk mailing project can aid estimation of postage costs, delivery timelines for various suppliers, and other aspects of the mailing process. In some implementations, the bulk mailing management application server 208, or an external processing entity 1765, can presort the data in the mail files 1710 (e.g., can organize the data in the mail files 1710 based on geographical location of the recipients, and/or based on other criteria). The mail files can optionally be further processed (e.g., via the decision engine 206 or via external processing entity 1765) by using the project specifications 1705 to determine descriptions and/or starting postage rates for the specified projects. In some implementations, the external processing entity 1765 can provide the presorted mail files 1710, or the processed mail files mail files 1725, to the decision engine 206 for processing. In other implementations, the mail campaign processing engine 204 can provide the presorted mail file 1710 to the decision engine 206, and the decision engine 206 can process the mail file 1710. In other implementations, the mail campaign processing engine 204 can send an unsorted instance of the mail file 1710 to the decision engine 206, and the decision engine 206 can sort and/or process the unsorted mail file 1710.
[0088] For example, if the bulk mailing management application server 208 is presorting the mail file and/or a set of mail files 1710, the bulk mailing management application server 208 can first normalize the mail file(s) 1710 to ensure that the data is in the same format. For example, the bulk mailing management application server 208 can edit the information such that the names and addresses appear in the same format (e.g., such that all names are listed first name, then last name, and/or the like), and/or such that different recipient entries are separated using the same separators (e.g., such that each recipient is separated by a particular code and/or symbol, and/or a similar separator). The bulk mailing management application server 208 can then clean the mail file(s) 1710 by removing duplicate recipients, recipients which are listed as deceased or no longer at the listed address on an external data source, recipients listed on a Do Not Mail list obtained from an external source, and/or other recipients the bulk mailing management application server 208 determines can be removed from the list. The bulk mailing management application server 208 can then determine the number of recipients which share zip codes, which cities and/or zip codes appear most frequently in the mail file(s) 1710, and determine the geographic density of the recipients based on this information. The mail file(s) 1710 can also be sorted based on the geographic density; for example, recipients can be sorted into geographic segments around the nearest mail entry points (e.g., nearest mail entry points to each recipient, or nearest mail entry points to a predetermined number of areas with the highest geographic density). The bulk mailing management application server 208 can use mapping software and/or a similar process for determining distance to mail entry points, to determine how to arrange the recipients into geographic segments. The bulk mailing management application server 208 can also determine geographic density of the mail file(s) by dividing the mail file(s) into geographic segments, and calculating the number and/or percentage of recipients within each of the geographic segments.
[0089] In some implementations, the mail campaign processing engine 204 and decision engine 206 can provide a secure manner in which to receive and/or process project specifications 1705, mail files 1710, and/or other sensitive data. For example, the mail campaign processing engine 204 can be configured to send an encrypted form of a mail file or project specification to the decision engine 206. The decision engine 206 can be configured to decrypt the files and process them, e.g., using a private key, and/or a similar decryption mechanism. The decision engine 206 can also be configured to process the configured files to generate mailing scenarios. By using encryption on the mail file and project specification, and by processing the files within the decision engine 206, the bulk mailing management application server 208 can prevent loss of recipient confidentiality (e.g., can prevent outside parties from obtaining full access to personal client and/or recipient data), and/or can provide a secure manner for processing multiple mailing scenarios without compromising the data in the mail file and project specification. In some implementations, users can specify privacy rules (e.g., whether the mail files can be shared with external parties, whether the data is encrypted and with which method of encryption, and/or other such rules).
[0090] The mail campaign processing engine 204 may pass supplier bids obtained (e.g., using the process described in
[0091] The decision engine 206 may also communicate with a third-party postal logistics server 1770 and/or a postal logistics database 1745 in order to obtain further information (e.g., may provide the weight of the project, the deadline for the project, and the distance over which various portions of the project must be shipped 1740, to obtain price estimates 1750 for the various shipping permutations available to the user based on his or her available list of qualified suppliers). The third-party postal logistics server 1770 can also use a list of qualified and/or certified suppliers, in conjunction with the distance, weight, and other information, to calculate estimated mailing costs for the bulk mailing project. In some implementations the decision engine 206 can obtain the distance, weight, qualified suppliers, stored postal pricing information, and/or other data from the bulk mailing management database 219 (shown in
[0092] The decision engine 206 may use these price estimates, as well as other inputs, to generate a recommendation 1755 to a user, which may include a ranking of mail scenarios and/or shipping permutations based on the recommended and/or qualified suppliers for the project, may include a recommendation on how to distribute pieces and/or portions of the project amongst various locations and/or suppliers. Mail scenarios and/or shipping permutations (collectively referred to herein as mail scenarios) can be hypothetical and/or simulated mailing events, e.g., generated using qualified supplier information, price information, project details, and/or geographical data. For example, to calculate a mail scenario, the decision engine 206 can select a particular qualified supplier, and/or set of qualified suppliers, and can calculate including the cost to produce and the cost to mail the bulk mailing project to the recipients in the mail files, assuming the selected one or more qualified suppliers were selected to fulfill the bulk mailing project. The geographical locations of the recipients, the project details, and other such data can affect the cost to produce and/or mail the bulk mailing project, and/or can affect a risk associated with a particular scenario. The mailing scenario can then be provided to the user, such that the user can determine whether or not to implement the mailing scenario by selecting the qualified suppliers noted in the mailing scenario.
[0093] To make a recommendation, for example, the decision engine 206 may use the net cost of shipping a portion of a project in one location with one supplier, versus shipping the same portion of the project in another location with a different supplier, to recommend a location and supplier to ship with in order to lower total shipping costs. The decision engine 206 can also assign risk factors to suppliers, e.g., based on the timing or quality of a supplier's previous work and/or ability to complete the bulk mailing project. The risk factors can further impact recommendations that the decision engine 206 can provide to a user. For example, a supplier farther away from a large portion of recipients of the bulk mailing project may have a higher risk score than a supplier closer to the largest concentration of recipients, as the distance can pose a potential delivery timing risk. As another example, a scenario recommending use of multiple suppliers may have a higher risk score than a scenario recommending a single supplier.
[0094] For example, the decision engine 206 can, for each supplier in the set of qualified suppliers, generate a cost to produce each component of a bulk mailing project at the supplier by obtaining information about the supplier's mailing costs due to its geographical location, its production costs, and/or other costs that the decision engine 206 can determine from the supplier's past bidding information and/or current project bid. The decision engine 206 can further calculate assembly and delivery costs for the project, based on assembly logistics, assembly costs, postage costs, logistics costs, and/or other related costs. The decision engine 206 can select multiple suppliers from the set of qualified suppliers and generate hypothetical mailing scenarios using multiple combinations of suppliers and calculating mailing costs and/or other costs arising from selecting the multiple suppliers for the project. The decision engine 206 can also assign risk scores to each mailing scenario, e.g., based on the number of suppliers which are included in a mailing scenario, the complexity of the processes involved in the mailing scenario, and/or other factors. For example, a mailing scenario involving a large number of suppliers and a complex assembly process may be assigned a higher risk scores than a mailing scenario involving a single supplier and a streamlined assembly process, e.g., due to the number of parties involved and a higher possibility of delays.
[0095] The decision engine 206 can temporarily store each mailing scenario result, e.g., in the bulk mailing management database 219, and/or can store each mailing scenario result in memory. The decision engine 206 can use timeline data (e.g., deadlines specified in the project specification) to calculate the full cost of each mailing scenario (e.g., the cost of supplier production within the timeline, the cost of assembly and quality control within the timeline, the cost of mailing within the timeline, and/or other time-sensitive costs). The decision engine 206 can also determine whether the project involves contention (e.g., whether the date is a popular date for mailing, such as a holiday), and may also adjust mailing costs based on recalculating delivery dates based on an estimated effect of the degree of contention for bulk mailing projects at the provided deadline, and/or by recalculating mailing costs by estimating a new deadline for mailing the bulk mailing project, using the estimated effect of the degree of contention for the provided deadline. The decision engine 206 can then select mailing scenarios which involve the lowest risk and/or the lowest costs, and/or which are most likely to meet a specified delivery deadline, and can provide these scenarios to the user. The decision engine 206 can provide a predetermined number of recommendations to the user to review. The user can specify further limits, e.g., can specify a risk score threshold such that mailing scenarios which exceed the risk score threshold are not provided as recommendations, and/or can specify a price threshold such that mailing scenarios with a total cost exceeding the price threshold are not provided as recommendations.
[0096] The recommendations can be based on scenarios and/or permutations generated using multiple perspectives of a bulk mailing process. As a first example, the decision engine 206 may generate mailing scenarios centered on geographic efficiency to make recommendations on how to produce and distribute the bulk mailing project. The decision engine 206 can identify concentrations of recipients in particular geographic locations, and can generate a recommendation to hire suppliers local to those geographic locations, to lower postage and logistics costs. For example, if most recipients are located in Boston, Mass., and in New York, N.Y., the decision engine 206 may recommend, based on a calculation of a set scenarios incorporating the price and risk data for each supplier, that a user select a supplier located in Boston, and a supplier located in New York, to fulfill the bulk mailing project.
[0097] As a second example, the decision engine 206 can generate mailing scenarios centered on supplier capabilities as a main factor in determining a recommendation for the bulk mailing project. The decision engine 206 can determine specializations of certain suppliers, and/or can identify which suppliers are most efficient when producing particular components of bulk mailing projects (e.g., based on particular certifications, machinery, and/or other factors), and can generate a recommendation to hire suppliers whose capabilities best match the scope of the bulk mailing project. For example, if a user's bulk mailing project involves mailing an envelope and an insert, the decision engine 206 can determine which of the suppliers deemed qualified to fulfill the bulk mailing project would best handle envelope printing, and which would best handle insert printing. The decision engine 206 can then recommend that the user select the supplier who is most efficient at printing envelopes, and the supplier which is most efficient at handling printing, to handle the bulk mailing project together. Dividing the bulk mailing project in this manner can improve quality, and/or bulk discounts provided to the user by particular suppliers for particular bulk mailing components.
[0098] As a third example, the decision engine 206 can generate mailing scenarios centered on recommending a single supplier to handle the entire bulk mailing project, e.g., to mitigate risk of components and/or portions of the project being mailed after the desired delivery date due to distributed responsibilities of a number of suppliers. For example, the decision engine 206 can determine a single supplier which would be more efficient on the whole, e.g., based on its geographic location, its quantity discounts, and/or its efficiency in handling the particular needs of the bulk mailing project.
[0099] In some implementations, the user can specify recommendation criteria, which can include how the decision engine can focus mailing scenario recommendations for a particular project (e.g., can indicate that recommendations should focus on which mailing scenario is most geographically efficient, which mailing scenario is most supplier efficient (e.g., in terms of the number of suppliers involved), and/or which mailing scenario puts higher weight on supplier capabilities and how project portions are assigned based on supplier capabilities). The decision engine 206 can provide a pre-determined number of recommendations based on analyzing a number of mailing scenarios. In some implementations, the user can specify types of mailing scenarios to analyze (e.g., can specify that the user prioritizes geographic efficiency over supplier capability efficiency), and the decision engine 206 can provide recommendations directed to geographic efficiency. In other implementations, the decision engine 206 can infer the user's preferences, e.g., using past supplier selection behavior of the user to generate estimations of which criteria the user most often in general, and/or with respect to particular types of bulk mailing projects which share characteristics with the bulk mailing project being processed by the decision engine 206. In other implementations, the decision engine 206 can provide multiple recommendations to the user at once, with at least one of the multiple recommendations corresponding to each of the above approaches, and/or similar approaches.
[0100] In some implementations, the decision engine 206 can be configured to select and process a recommended mailing scenario automatically, e.g., without user verification and/or input. For example, the decision engine 206 can receive bulk mailing project templates and/or default instructions from a user. The user, for example, can specify printing settings for all envelopes, and/or can specify instructions for how to select a mailing scenario to execute (e.g., whether to focus on cost savings, whether to focus on in-market timing, and/or when to focus on other criteria). The decision engine 206 can then automatically generate project specifications based on the bulk mailing project template when a user specifies that she would like to create a new project using the template. The decision engine 206 can further use the project specification, as well as a mail file provided by the user and/or other data as described above, to automatically generate mailing scenarios, and to automatically select a mailing scenario to execute. The decision engine 206 can then automatically send requests to the suppliers included in the selected mailing scenario to fulfill the project, without requiring the user to accept and/or select mailing scenario recommendations.
[0101] The decision engine 206 can also review previously-generated mailing scenarios, user selection of supplier recommendations, and other data processed or generated by the decision engine 206 to improve future recommendations. For example, the decision engine 206 can review past user selections of supplier recommendations to determine factors common in the supplier recommendations (e.g., whether the recommendations, on average, cited the lowest total cost of the mailing scenarios calculated at the time, and/or similar factors) to use in generating future supplier recommendations for the particular user. The decision engine 206 can also analyze pricing data from post offices and/or suppliers to project future costs of mailing and/or producing bulk mailing projects, to provide more accurate pricing calculations for supplier recommendations.
CONCLUSION
[0102] While various embodiments have been described and illustrated herein, a variety of other means and/or structures for performing the function and/or obtaining the results and/or one or more of the advantages described herein, and each of such variations and/or modifications is deemed to be within the scope of the disclosure. More generally, all parameters, dimensions, materials, and configurations described herein are meant to be examples and that the actual parameters, dimensions, materials, and/or configurations will depend upon the specific application or applications. It is, therefore, to be understood that the foregoing embodiments are presented by way of example only.
[0103] The above-described embodiments can be implemented in any of numerous ways. For example, embodiments of designing and making the mobile configuration files and mobile application layouts disclosed herein may be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers.
[0104] Further, it should be appreciated that a computer may be embodied in any of a number of forms, such as a rack-mounted computer, a desktop computer, a laptop computer, or a tablet computer. Additionally, a computer may be embedded in a device not generally regarded as a computer but with suitable processing capabilities, including a Personal Digital Assistant (PDA), a smart phone or any other suitable portable or fixed electronic device.
[0105] Also, a computer may have one or more input and output devices. These devices can be used, among other things, to present a user interface. Examples of output devices that can be used to provide a user interface include printers or display screens for visual presentation of output and speakers or other sound generating devices for audible presentation of output. Examples of input devices that can be used for a user interface include keyboards, and pointing devices, such as mice, touch pads, and digitizing tablets. As another example, a computer may receive input information through speech recognition or in other audible format.
[0106] Such computers may be interconnected by one or more networks in any suitable form, including a local area network or a wide area network, such as an enterprise network, and intelligent network (IN) or the Internet. Such networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks.
[0107] The various methods or processes (e.g., of designing and making the mobile configuration files and mobile application layouts disclosed above) outlined herein may be coded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and/or programming or scripting tools, and also may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine.
[0108] In this respect, various inventive concepts may be embodied as a computer readable storage medium (or multiple computer readable storage media) (e.g., a computer memory, one or more floppy discs, compact discs, optical discs, magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, or other non-transitory medium or tangible computer storage medium) encoded with one or more programs that, when executed on one or more computers or other processors, perform methods that implement the various embodiments of the invention discussed above. The computer readable medium or media can be transportable, such that the program or programs stored thereon can be loaded onto one or more different computers or other processors to implement various aspects of the disclosure discussed above.
[0109] The terms “program” or “software” are used herein in a generic sense to refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects of embodiments as discussed above. Additionally, it should be appreciated that according to one aspect, one or more computer programs that when executed perform methods described herein need not reside on a single computer or processor, but may be distributed in a modular fashion amongst a number of different computers or processors to implement various aspects of the present invention.
[0110] Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Typically the functionality of the program modules may be combined or distributed as desired in various embodiments.
[0111] Also, data structures may be stored in computer-readable media in any suitable form. For simplicity of illustration, data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields with locations in a computer-readable medium that convey relationship between the fields. However, any suitable mechanism may be used to establish a relationship between information in fields of a data structure, including through the use of pointers, tags or other mechanisms that establish relationship between data elements.
[0112] Also, various aspects of the description discussed herein may be embodied as one or more methods, of which an example has been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
[0113] All definitions, as defined and used herein, should be understood to control over dictionary definitions, definitions in documents incorporated by reference, and/or ordinary meanings of the defined terms.
[0114] The indefinite articles “a” and “an,” as used herein in the specification and in the claims, unless clearly indicated to the contrary, should be understood to mean “at least one.”
[0115] The phrase “and/or,” as used herein in the specification and in the claims, should be understood to mean “either or both” of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with “and/or” should be construed in the same fashion, i.e., “one or more” of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the “and/or” clause, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, a reference to “A and/or B”, when used in conjunction with open-ended language such as “comprising” can refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to both A and B (optionally including other elements); etc.
[0116] As used herein in the specification and in the claims, “or” should be understood to have the same meaning as “and/or” as defined above. For example, when separating items in a list, “or” or “and/or” shall be interpreted as being inclusive, i.e., the inclusion of at least one, but also including more than one, of a number or list of elements, and, optionally, additional unlisted items. Only terms clearly indicated to the contrary, such as “only one of” or “exactly one of” or, when used in the claims, “consisting of” will refer to the inclusion of exactly one element of a number or list of elements. In general, the term “or” as used herein shall only be interpreted as indicating exclusive alternatives (i.e. “one or the other but not both”) when preceded by terms of exclusivity, such as “either,” “one of,” “only one of” or “exactly one of” “Consisting essentially of,” when used in the claims, shall have its ordinary meaning as used in the field of patent law.
[0117] As used herein in the specification and in the claims, the phrase “at least one,” in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements. This definition also allows that elements may optionally be present other than the elements specifically identified within the list of elements to which the phrase “at least one” refers, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, “at least one of A and B” (or, equivalently, “at least one of A or B,” or, equivalently “at least one of A and/or B”) can refer, in one embodiment, to at least one, optionally including more than one, A, with no B present (and optionally including elements other than B); in another embodiment, to at least one, optionally including more than one, B, with no A present (and optionally including elements other than A); in yet another embodiment, to at least one, optionally including more than one, A, and at least one, optionally including more than one, B (and optionally including other elements); etc.
[0118] In the claims, as well as in the specification above, all transitional phrases such as “comprising,” “including,” “carrying,” “having,” “containing,” “involving,” “holding,” “composed of,” and the like are to be understood to be open-ended, i.e., to mean including but not limited to. Only the transitional phrases “consisting of” and “consisting essentially of” shall be closed or semi-closed transitional phrases, respectively, as set forth in the United States Patent Office Manual of Patent Examining Procedures, Section 2111.03.