Customer preference driven vehicle supply management system
A system includes an application configured to, based on user inputs, generate a target vehicle specification, and a database including a collection of inventory specifications of vehicles in a vehicle inventory. The system also includes a spec encoder configured to: encode the target vehicle specification as a first code; encode the collection of inventory specifications as a collection of second codes; and map the target vehicle specification and inventory specifications into a multidimensional space. The multidimensional space includes one dimension for each specification category. A preference class vector includes a weight for each dimension. A matching engine, based on the preference class vector, defines a search neighborhood around the target specification in the multidimensional space; identifies inventory specifications that fall within the search neighborhood, computes match scores for the identified vehicles; and reports the match scores and corresponding vehicles.
1 . A system comprising:
a first processor operatively coupled to a memory comprising:
a user application configured to, based on inputs from a user, generate a target vehicle specification;
a second processor operatively coupled to a second memory comprising:
a database comprising a plurality of inventory specifications of a respective plurality of vehicles in a vehicle inventory;
a spec encoder configured to:
encode the target vehicle specification as a first code;
encode the plurality of inventory specifications as a plurality of respective second codes; and
map the target vehicle specification and the plurality of inventory specifications into a multidimensional specification space, wherein the multidimensional specification space includes one dimension for each specification category of the target vehicle specification;
a preference class vector comprising a respective weight for each dimension of the multidimensional specification space; and
a matching engine configured to:
based on the preference class vector, define a search neighborhood around the target vehicle specification in the multidimensional specification space;
identify inventory specifications of the plurality of inventory specifications that fall within the search neighborhood; and
for each identified inventory specification:
compute a match score; and
report, to the user, the match score and the vehicle corresponding to the identified inventory specification.
2 . The system of claim 1 , wherein the first code and the plurality of second codes are SR codes.
3 . The system of claim 1 , wherein the first code and the plurality of second codes are hexadecimal strings.
4 . The system of claim 1 , wherein the specification categories of the target vehicle specification include at least one of an exterior color, an interior color, an engine type, a transmission type, an accessory, or a trim package.
5 . The system of claim 1 , further comprising a user feedback module configured to:
receive user feedback regarding the vehicles corresponding to the identified inventory specifications; and
based on the user feedback, update the preference class vector.
6 . The system of claim 1 , further comprising a specification manager configured to, based on changes in the vehicle inventory, update the database comprising the plurality of inventory specifications.
7 . The system of claim 1 , further comprising a tightness updater configured to:
based on the mapped target vehicle specification, the mapped plurality of inventory specifications, and the search neighborhood, compute a tightness for the target vehicle specification; and
report the tightness to the user, or to a dealer or manufacturer.
8 . The system of claim 1 , further comprising gap glut analyzer configured to:
based on a plurality of target vehicle specifications and the plurality of inventory specifications, compute a gap-glut estimate; and
report the gap-glut estimate to a dealer or manufacturer.
9 . The system of claim 8 , further comprising a goal maximizer configured to, based on the gap-glut estimate:
request changes to the vehicle inventory; or
adjust prices of at least some vehicles in the vehicle inventory.
10 . The system of claim 1 , wherein the user application is a smartphone application or web application.
11 . A non-transitory computer-readable medium containing instructions which, when executed by at least one processor, perform operations which include:
with a user application executing on a first processor, based on inputs from a user, generating a target vehicle specification;
with a database stored in a memory of a second processor, storing a plurality of inventory specifications of a respective plurality of vehicles in a vehicle inventory;
with a spec encoder executing on the second processor:
encoding the target vehicle specification as a first code;
encoding the plurality of inventory specifications as a plurality of respective second codes; and
mapping the target vehicle specification and the plurality of inventory specifications into a multidimensional specification space, wherein the multidimensional specification space includes one dimension for each specification category of the target vehicle specification;
with a preference class vector stored in the memory, storing a respective weight for each dimension of the multidimensional specification space;
with a matching engine:
based on the preference class vector, defining a search neighborhood around the target vehicle specification in the multidimensional specification space;
identifying inventory specifications of the plurality of inventory specifications that fall within the search neighborhood; and
for each identified inventory specification:
computing a match score; and
reporting, to the user, the match score and the vehicle corresponding to the identified inventory specification.
12 . The non-transitory computer-readable medium of claim 11 , wherein the first code and the plurality of second codes are SR codes.
13 . The non-transitory computer-readable medium of claim 11 , wherein the first code and the plurality of second codes are hexadecimal strings.
14 . The non-transitory computer-readable medium of claim 11 , wherein the specification categories of the target vehicle specification include at least one of an exterior color, an interior color, an engine type, a transmission type, an accessory, or a trim package.
15 . The non-transitory computer-readable medium of claim 11 , wherein the instructions further comprise, with a user feedback module:
receiving user feedback regarding the vehicles corresponding to the identified inventory specifications; and
based on the user feedback, updating the preference class vector.
16 . The non-transitory computer-readable medium of claim 11 , wherein the instructions further comprise, with a specification manager, based on changes in the vehicle inventory, updating the database comprising the plurality of inventory specifications.
17 . The non-transitory computer-readable medium of claim 11 , wherein the instructions further comprise, with a tightness updater:
based on the mapped target vehicle specification, the mapped plurality of inventory specifications, and the search neighborhood, computing a tightness for the target vehicle specification; and
reporting the tightness to the user, or to a dealer or manufacturer.
18 . The non-transitory computer-readable medium of claim 11 , wherein the instructions further comprise, with a gap glut analyzer:
based on a plurality of target vehicle specifications and the plurality of inventory specifications, computing a gap-glut estimate; and
reporting the gap-glut estimate to a dealer or manufacturer.
19 . The non-transitory computer-readable medium of claim 18 , wherein the instructions further comprise, with a goal maximizer, based on the gap-glut estimate:
requesting changes to the vehicle inventory; or
adjusting prices of at least some vehicles in the vehicle inventory.
20 . A computer implemented method, comprising, in real time, with a first processor comprising a memory:
defining a vehicle specification format comprising a plurality of specification categories;
defining a specification code format comprising at least one digit for each specification category of the plurality of specification categories;
receiving, from a second processor, a vehicle specification in the vehicle specification format;
mapping the vehicle specification into a multidimensional specification space, wherein the multidimensional specification space includes one dimension for each specification category of the vehicle specification;
identifying a second vehicle specification proximate to the vehicle specification in the multidimensional space;
mapping the second vehicle specification into the specification code format;
representing the mapped second vehicle specification as a two-dimensional SR code;
storing the two-dimensional SR code;
receiving a user request; and
based on the user request, electronically transmitting the two-dimensional SR code to the second processor.