embodiments of the invention are directed to a system and method for matching the fit of garments to individuals . in one embodiment , a user submits a plurality of measurements and lifestyle data to an analysis engine to develop a fit profile . the analysis engine process the plurality of measurements and lifestyle data to match the fit of a plurality of garments . the user &# 39 ; s fit profile is categorized and a fit profile code is given to the user that represents their fit profile . in one embodiment , clothing manufactures , retail outlets , and the like , label their garments according to fit profile codes based on each garments measurements . the consumer compares their fit profile code to the garment &# 39 ; s fit profile codes to find garments that match their fit profile . throughout this description , the embodiments and examples shown should be considered as exemplar rather than limitations of the present invention . in describing embodiments of the invention , female consumers and women &# 39 ; s apparel will serve as examples and for the sake of clarity . however , the invention is not intended to be limited women &# 39 ; s apparel as the invention may be used for various types of apparel including men &# 39 ; s and children &# 39 ; s apparel . fig1 is a simplified block - diagram depicting a fit specification process 100 described herein and its constituent processes : a categorization process 110 , a match assessment process 120 , and a personalized shopping process 130 , described herein . the processes are interdependent , sharing inputs and outputs . categorization process 110 categorizes human body shapes into a set of shapes ( represented by shape codes 1 through 7 in this embodiment .) categorization process 110 also assigns both shape and fit codes to individual consumers and individual garments . given an individual consumer &# 39 ; s shape and fit codes , the match assessment process 120 calculates a ranked listing of recommended garments likely to fit that consumer . personalized shopping process 130 provides a means for consumers to access a fit specification system via a customized shopping environment , as described further below . thus , specification process 100 may be described as locating a person in an n - dimensional person space , p , based on their shape , measurements , etc ., locate a garment in an n - dimensional garment space , g , repeat this for all the persons and all the garments , to generate a mapping of people and garments , f : p --& gt ; g . fig2 a - 2c depict categorization process 110 . in one embodiment , categorization process 110 includes an engine 210 that defines human body shapes as shape codes , an engine 220 that categorizes individual consumers by shape and fit code , and an engine 230 categorizes individual garments by shape and fit codes . fig2 a illustrates engine 210 for defining human body shapes . in one embodiment , engine 210 determines a list of critical measurements of the human body . table 1 lists twenty - one such measurements as used in one embodiment of the present invention . fig3 a - 3d depict the positions and techniques for acquiring such body measurements . in one embodiment , engine 210 uses a human body shape categorization algorithm , which is a series of calculations that establish arithmetic and / or geometric relationships between the different body measurements is employed to generate a profile of a user . such human body shape categorization algorithm consider the front and side profiles in 2 and 3 dimensions for each measurement and evaluate the relative proportions of certain points on the torso including , but not limited to : the proportion of the shoulders to the hips , the shoulders to the bust , the bust to the waist , the waist to the hip , the proportion of the body mass that is in the front bisection of the body , etc . for example , two of the calculations of the human body shape categorization algorithm are : table 1a lists thirteen such calculations as used in one embodiment of the present invention . referring to fig2 a , engine 210 processes body measurements from representative samples of the human population and sub - populations ( e . g ., u . s . women aged 40 - 65 ). in one embodiment , engine 210 processes the sample using the human body shape categorization algorithm . engine 210 statistically analyzes the results to discern clustered subsets within the population , each sharing common data values . in one embodiment there are seven such subsets named body shape 1 to 7 . each body shape is defined by a core set of measurement values together with an acceptable range of deviation from the mean for each value . thus , having been defined , these seven body shapes may then be assigned to individual consumers and garments as shape codes 1 to 7 . in one embodiment , engine 220 receives an individual consumer &# 39 ; s body measurements such as those listed in table 1 and fig3 a - d , inputs that data into a consumer body shape categorization algorithm . the consumer body shape categorization algorithm may be implemented using a variety of techniques . for example , the consumer body shape categorization algorithm may be implemented using a series of calculations that establish arithmetic and / or geometric relationships between the different body measurements . these calculations closely follow the transforms of the human body shape categorization algorithm described above , but also include a best - fit analysis to determine which body shape the consumer most closely matches . the consumer may then be assigned a corresponding shape code . in another embodiment , a shape code may be determined using the three - dimensional ( 3 - d ) lines of the body &# 39 ; s measurements and relative proportions of height and girth of shoulders , bust , waist , high hips and hips and knee . such 3 - d measurements may be used to determine a curve for the shape of the body in 3 - d . the 3 - d measurements of the body may be correlated to the curves of the garment and / or combination of garments that represent an outfit in 3 - d . a comparison of the two 3 - d measurements may be used to determine a body shape code geometrically . fig2 b illustrates one embodiment of engine 220 to generate a consumer &# 39 ; s fit code using a consumer body measurements and consumer profiles . in one embodiment , engine 220 collects a consumer &# 39 ; s profile , which is data describing an individual consumer and her clothing preferences . for example , table 2 lists thirty - three such data points as used in one embodiment of the present invention . as illustrated in fig2 b , engine 220 employs a consumer fit categorization algorithm to process the consumer profile data . the consumer fit categorization algorithm encodes each of the data points according to the type of data represented . for example , bust tolerance ( 1002 d ) is a numeric value ; homeowner ( 1029 d ) is a boolean value ; while “ brands i buy ” ( 1008 d ) is an alphanumeric value derived from a lookup table of popular brands . once encoded , the data points are concatenated and combined with the consumer &# 39 ; s shape code . in one embodiment , the resultant value is essentially the consumer &# 39 ; s measurement and profile record , and may be represented as a single compressed and encrypted alphanumeric string , which is the consumer &# 39 ; s fit code . fig2 c illustrates an embodiment of engine 230 employed to process garment shape codes and garments profile to generate a garment &# 39 ; s fit code . in one embodiment , engine 230 receives an individual garment &# 39 ; s measurements . table 3 lists thirty - five such measurements as used in one embodiment of the present invention . referring to fig2 c , engine 230 employs a garment shape categorization algorithm to process the garment measurement data . in one embodiment , the garment shape categorization algorithm may be a series of calculations that establish arithmetic and / or geometric relationships ( expressed as curves ) between the various garment measurements . for different garment types there are different critical measurements . for example , a dress will have different measurement points than a jacket or pants . these measurements may be taken from the pattern guide , or be imported from the cad representation in the manufacturer &# 39 ; s cutting system , or manually from the garment itself . to derive a matching shape code , engine 230 compares the garment &# 39 ; s curves , derived from the measurements , to the curves represented by each of the seven body shapes to determine whether the garment is suitable for one or more body shape . the curves are compared in front , side and back profiles . as stated above , the curves may also be compared three - dimensionally ( i . e ., 3 - d ) with the volume of the front half of a body shape being compared with the volume of the front half of the garment . once , matching curves are found , the garment is assigned its matching shape code ( s ). engine 230 processes the garment &# 39 ; s profile . the garment &# 39 ; s profile is data describing an individual garment . table 4 lists an example of twenty - three such data points as used in one embodiment of the present invention . in one embodiment , engine 230 employs the garment fit categorization algorithm to process the garment profile data . the garment fit categorization algorithm functions similar to the consumer fit categorization algorithm described above to derive resultant values . the resultant value is the garment &# 39 ; s measurement and profile record , represented as a single compressed and encrypted alphanumeric string , which is the garment &# 39 ; s fit code . fig4 depicts match assessment process 120 . in one embodiment , match assessment process 120 may be used to compare a consumer &# 39 ; s fit code with a garment &# 39 ; s fit code . as described herein , a fit code is an encapsulation of a plurality of a consumer &# 39 ; s or a garment &# 39 ; s attributes ; i . e ., measurements , profile , shape code ( s ). in one embodiment , the values of these six attributes ( three from the consumer 410 , three from the garment 420 ) are input to the match assessment process 120 . the data is passed to three corresponding filters : measurement filter 430 , profile filter 450 , and shape code filter 460 . the output of the filters is a ranked and sorted listing of those garments being assessed as illustrated in table 470 . the sorting is composed of seven “ holding bins ” 480 — one for each shape in this embodiment , and a bin d —“ don &# 39 ; t display ”, i . e ., discard 440 garments that do not fit . additionally , with each assessment a garment is temporarily assigned a priority code ( 123 d ). the priority code determines a garment &# 39 ; s rank within its holding bin 480 . this is most useful when a personal shopping process as described herein is occurring online , there the priority code will be used to determine the order in which matching garments are displayed to the consumer . a garment &# 39 ; s type ( 102 - 104 d ) necessarily affects which data points are considered in an assessment , as well as their order of consideration . for example , while a jacket may have a shoulder circumference ( 1 c ), a pair of pants may not . thus , the match assessment rules vary by garment type . as an example of the rules and steps needed to conduct a match assessment , consider a consumer , jane , and a fitted dress from designer leona edmiston . table 5 lists the data that comprises jane &# 39 ; s fit code . as illustrated in fig4 , measurement filter 430 is employed to compare the measurements of a garment with those of a consumer as part of a measurement filter process . measurement filter 430 compares the circumference data points 1 c through 5 c for garment and consumer . for example , the following are compared : bust circumference ( 2 c ), waist circumference ( 3 c ), hip circumference ( 5 c ), shoulder circumference ( 1 c ), and finally high hip circumference ( 4 c ). for each data point the measurement filter 430 calculates the difference of the garment circumference cg minus the consumer circumference cc as illustrated in the following equation : if the result ( x ) is greater than or equal to zero and less than or equal to the corresponding garment tolerance ( 28 d through 32 d ), then measurement filter 430 processes the next data point , illustrated in the following equation : otherwise , measurement filter 430 discards the current garment data into bin d and proceeds to assess the next garment , if any . a flowchart 500 a of these calculations is depicted in fig5 a . referring to fig5 a and data in tables 5 and 6 , the dress has a bust circumference ( 2 c ) of 34 and jane &# 39 ; s bust is 32 . at step 502 a , using the above equations : at step 504 a , 2 is more than zero and less than or equal to the dress &# 39 ; bust tolerance ( 29 d ): measurement filter 430 processes the next data point — waist circumference ( 3 c ). at steps 506 a and 508 a , using the equations above : measurement filter 430 processes the next data point — hip circumference ( 5 c ). at steps 510 a and 512 a , using the equations above : measurement filter 430 processes the next data point — shoulder circumference ( 1 c ). at steps 514 a and 516 a , using the equations above : measurement filter 430 processes the next data point — high hip circumference ( 4 c ). at steps 518 a and 520 a , using the equations above : measurement filter 430 proceeds to calculate the front comparisons . if any of the above steps did not match , then at step 522 a , the garment and / or data is discarded . in one embodiment , measurement filter 430 compares the front data points 6 f through 10 f for garment and consumer . for each data point measurement filter 430 calculates the difference of the garment front minus the consumer front , using the following formula : if the result ( x ) is greater than or equal to zero and less than or equal to the corresponding tolerance ( again 28 d through 32 d ) times consumer front fg divided by the consumer circumference fc ( 1 c through 5 c ), measurement filter 430 then proceed to the next data point , which may be expressed by the following equation : if ( 0 & lt ;= x & lt ;= 28 dg *( 6 fc / 1 cc )) then proceed to next data point otherwise , measurement filter 430 discards the current garment into bin d and proceeds to assess the next garment , if any . a flowchart 500 b of these calculations is depicted in fig5 b . referring to fig5 b and data in tables 5 and 6 , the dress has a front shoulder ( 6 f ) of 19 and jane &# 39 ; s front shoulder is 18 . at step 502 b a difference is determined between the garment &# 39 ; s shoulder front circumference and the consumer &# 39 ; s shoulder front circumference , which when expressed by the above equation is : at step 504 b , as 1 is more than zero and less than or equal to the dress &# 39 ; shoulder tolerance ( 28 d ) times the consumer front shoulder ( 6 f ) divided by the consumer circumference ( 1 c ), illustrated by the following calculation : measurement filter 430 proceeds to process the next data point — front bust ( 7 f ). at steps 506 b and 508 b , a difference is determined and evaluated between the garment &# 39 ; s bust front circumference and the consumer &# 39 ; s bust front circumference . for example , applying the equations above : measurement filter 430 a proceeds to process the next data point — front waist ( 8 f ). at steps 50 b and 512 b , a difference is determined and evaluated between the garment &# 39 ; s waist front circumference and the consumer &# 39 ; s waist front circumference . for example , applying the equations above : measurement filter 430 a proceeds to process the next data point — front high hip ( 9 f ). at steps 514 b and 516 b , a difference is determined and evaluated between the garment &# 39 ; s high hip front circumference and the consumer &# 39 ; s high hip front circumference . for example , applying the equations above : measurement filter 430 a proceeds to process the next data point — front hip ( 10 f ). at steps 518 b and 520 b , a difference is determined and evaluated between the garment &# 39 ; s hip front circumference and the consumer &# 39 ; s hip front circumference . for example , applying the equations above : measurement filter 430 a proceeds to height comparisons . if any of the above steps did not match , then at step 522 b , the garment and / or data is discarded . in one embodiment , measurement filter 430 calculates the heights and ensures that any differences are greater than zero . measurement filter 430 compares the consumer shoulder to hem ( 12 h ) minus the garment shoulder to hem ( 15 h ), which may be expresses in the following equation : if the result ( x ) is greater than or equal to zero and less than or equal to the consumer knee height ( 17 h ) plus the desired garment length ( 33 d ) then measurement filter 430 processes the next data point , as illustrated by the following equation : if ( 0 & lt ;= x & lt ;= 17 hc − 33 dg ) then proceed to next data point otherwise , measurement filter 430 discards the current garment into bin d and proceeds to assess the next garment , if any . a flowchart 500 c of these calculations is depicted in fig5 c . referring fig5 c and to data in tables 5 and 6 , jane &# 39 ; s shoulder to hem is 53 , and the dress &# 39 ; shoulder to hem is 38 . 75 . at step 502 c , a difference is determined between the consumer jane shoulder to hem and the garment &# 39 ; s shoulder to hem . for example , applying the above equations : at step 504 c , the difference calculated is evaluated . for example , when jane &# 39 ; s knee height is 17 and the dress &# 39 ; desired length is 0 . a match is found at step 504 c , and measurement filter 430 may proceed to shoulders to waist ( 12 h ). in one embodiment , at step 506 c , measurement filter 430 calculates the difference between consumer shoulder height ( 12 h ) and consumer waist height ( 14 h ), which may be illustrated as the following equation : if at step 508 c , the result ( x ) is greater than or equal to zero and less than or equal to the garment shoulder to waist ( 12 h ) then measurement filter 430 processes the next data point at step 510 c . step 508 c may be expressed using the following equation : otherwise , measurement filter 430 proceeds to step 522 c and discards the current garment into bin d and proceeds to assess the next garment , if any . at steps 506 c and 508 c , referring to data in tables 5 and 6 and the applying the above equations : measurement filter 430 may proceed to process sleeve comparisons at step 512 c . at step 510 c , if measurement filter 430 determines that the consumer armhole circumference ( 19 d ) is less than or equal to the garment armhole circumference ( 21 d ) then measurement filter 430 proceeds to the next data point . step 510 c may be illustrated by the following formula : otherwise , measurement filter 430 proceeds to step 522 c and discards the current garment into bin d and proceeds to assess the next garment , if any . referring to data in tables 5 and 6 , jane &# 39 ; s armhole circumference is 18 , and the dress &# 39 ; is 20 . at step 510 c , applying the equations above : measurement filter 430 proceeds to sleeve length ( 23 d ). at steps 512 c and 514 c , if measurement filter 430 determines that the garment sleeve length ( 23 d ) minus the garment sleeve tolerance ( 34 d ) minus the consumer arm length ( 21 d ) is less than or equal to zero , measurement filter 430 proceeds to process profiles using profile filter 450 , as described further below . step 514 c , may be illustrated in the following equation : if ( 23 dg − 34 dg − 21 dc & lt ;= 0 ) then proceed to profile filter 450 otherwise , measurement filter 430 proceeds to step 522 c and discards the current garment into bin d and move on to assess the next garment , if any . referring to data in tables 5 and 6 , using the above equations , a match is found : and match assessment process 120 may proceed to process profiles using profile filter 450 . referring now to fig5 d , in one embodiment , a garment &# 39 ; s priority code is generally always zero . however , during match assessment process 110 , the priority code may be temporarily given a numerical value . if a garment fails a comparison it is “ penalized ” by having a number added to its priority code . the priority code determines the order in which garments are recommended and displayed to the consumer . in one embodiment , the higher a garment &# 39 ; s priority code the less suitable it is for the consumer and the later ( e . g ., given less priority ) it will be displayed to the consumer . a garment with a priority code of “ 1 ” will be recommended and appear before ( e . g ., given greater priority ) a garment with a priority code of “ 5 ”. in one embodiment , lower priority codes have a higher priority . for simplicity during the present example , a “ 1 ” is added to the priority code when a comparison fails . note that the value of this penalty could be variable and weighted to a particular comparison . for example , failure to match a consumer &# 39 ; s color preference may penalize a garment by 3 , whereas its failure to match a consumer &# 39 ; s fabric preference may only penalize it by 2 . in one embodiment , each consumer profile data point may be assigned a secondary value , referred to as an “ importance value ”, to indicate its relative importance to the consumer . an importance value may be used to modify a corresponding penalty value , making it higher or lower depending upon how important that particular aspect of a garment is to the consumer . for example , jane may feel that a garment &# 39 ; s fabric is more important than its color . if so , jane may give fabric an importance value of 2 and color an importance value of 1 . using these importance values to modify the earlier example , it is apparent the garment &# 39 ; s color penalty remains 3 ( 3 * 1 = 3 ), while its fabric penalty jumps from 2 to 4 ( 2 * 2 = 4 ). for simplicity and clarity in the following examples , all consumer profile data are considered equally important with no importance values being assigned and no modification of penalty values being calculated . profile filter 450 compares the results of the circumference comparisons above with the consumer &# 39 ; s desired shoulder tolerance , bust , waist and hips ( 1001 d through 1004 d ). if profile filter 450 determines the consumer &# 39 ; s desired tolerance is less than the garment tolerance , profile filter 450 modifies the circumference calculations by substituting the consumer &# 39 ; s tolerance for the garment &# 39 ; s tolerance . a flowchart 500 d of these calculations is depicted in fig5 d . for example , at step 502 d if the consumer shoulder tolerance ( 1001 d ) is less than the garment shoulder tolerance ( 28 d ), then at step 504 d , profile filter 450 reprocesses the shoulder circumference calculation by substituting the consumer &# 39 ; s shoulder tolerance ( 1001 d ) for the garment &# 39 ; s shoulder tolerance ( 28 d ). therefore , applying the equations from above : if at step 506 d , ( 0 & lt ;= x & lt ;= 28dg ) then proceed to next data point if at step 506 d , ( 0 & lt ;= x & lt ;= 1001 dc ) then profile filter 450 processes the next data point referring to fig5 d and data in tables 5 and 6 , jane prefers a snug fit at her shoulders ; she has a desired shoulder tolerance of only 1 , which is less than the garment shoulder tolerance of 2 that we used in non - modified shoulder circumference comparison above . so , profile filter 450 substitutes jane &# 39 ; s value and recalculates the shoulder circumference : following steps 510 d - 522 d , the match remains as jane &# 39 ; s bust , waist and hip tolerances ( 1002 d - 1004 d ) are not less than the corresponding garment tolerances ( 29 d , 30 d and 32 d ), so there is no need to recalculate those circumferences . however , had any one of the tolerances not passed , then as in step 504 d and step 506 d above , they would be recalculated and a “ 1 ” would be added to the priority code for each recalculation failure . for example , at step 506 d if a garment fails a circumference recalculations , then a “ 1 ” is added to the garment &# 39 ; s priority code ( 123 d ) and match assessment process 120 proceeds to the profile comparisons . since in this illustration the dress has passed the shoulder circumference , recalculation match assessment process 120 proceeds to the profile comparisons process with the priority code still equaling zero . a flowchart 500 e of the profile comparison calculations is depicted in fig5 e . match assessment process 120 compares these four consumer and garment data points as follows : at step 502 e , if garment color ( 115 d ) is contained in the array of values in the consumer &# 39 ; s color palette ( 1005 d ), and at step 506 e , garment style ( 118 d ) is contained in the array of values in the consumer &# 39 ; s desires styles ( 1006 d ), and at step 508 e , garment fabric ( 119 d ) is contained in the array of values in the consumer &# 39 ; s desired fabrics ( 1007 d ), and at step 510 e , garment retail price ( 107 d ) is less than or equal to consumer &# 39 ; s “ i usually spend ” ( 1019 d ), then this garment is a match and its priority code is not changed . otherwise , match assessment process 120 proceeds to step 504 e and adds 1 to the garment &# 39 ; s priority code each time a comparison fails . referring to data in tables 5 and 6 , jane &# 39 ; s color , style , fabric and price preferences all match . match assessment process 120 proceeds to the size comparison still having a priority code of zero . at step 514 , match assessment process 120 compares the garment &# 39 ; s manufacturer size ( 121 d ) with the consumer &# 39 ; s usual size ( 1012 d ). this is an array of size values dependent on garment type . as noted above , manufacturers &# 39 ; sizes are notoriously variable from manufacture to manufacturer and even internally inconsistent . a manufacturer often has its own proprietary sizing scheme , e . g ., “ a ” versus “ 10 .” so , a separate size lookup table ( not shown here ) is employed to normalize the garment &# 39 ; s manufacturer size ( 121 d ) for use in the size comparison . referring to our example data in tables 5 and 6 , the garment &# 39 ; s manufacturer size ( 121 d ) is 1 . the size lookup table illustrates the leona edmiston size 1 dress corresponds to a size 8 . at step 512 e , match assessment process 120 subtracts the normalized garment &# 39 ; s manufacture &# 39 ; s size from the consumer &# 39 ; s usual size . if at step 514 e , the difference is more than plus or minus 4 then match assessment process 120 adds 1 to the priority code . step 514 e may be expressed in the following equation : in this example , jane &# 39 ; s usual dress size is 10 and the dress &# 39 ; normalized manufacture &# 39 ; s size is 8 . so this example dress is still a perfect match and its priority code is unchanged at zero . in one embodiment , a holding bin is employed for each body shape . as illustrated , embodiment there are seven holding bins : 1 - 7 . based on the garment shape code ( 101 ) a garment is placed in its corresponding holding bin or bins . for example , a garment &# 39 ; s shape code can be an array of numbers , e . g ., 3 , 5 , 7 . in this case it would be placed in bins 3 , 5 and 7 . once the garment &# 39 ; s shape is assessed , match assessment process 120 proceeds to a match assessment of the next garment , if any . a flowchart of these calculations is depicted in fig5 f . at step 502 f , referring to example data in tables 5 and 6 , the dress &# 39 ; shape code is “ 1 , 5 ”. so , it will be placed in holding bins 1 and 5 . this dress may be recommended to jane as a best match as the dress shares jane &# 39 ; s shape code of 5 and has a priority code of zero . when finished , match assessment process 120 proceeds to step 504 f and ends . in some situations , multiple garments would be assessed in a single shopping session . as illustrated in fig5 g , when all garments have been subjected to match assessment process 120 , they are sorted in ascending numeric order the contents of each holding bin 544 by the priority code of each garment in the bin . the garments are now segregated by shape code , and they are ordered from most suitable to least suitable . as illustrated , the garments may be displayed and recommended to the consumer those garments that are best matches . from the holding bin 544 that corresponds to the consumer &# 39 ; s shape code ( 100 c ). in one process , those garments having a priority code of zero may be selected and displayed to the consumer . while , in this illustration , garments having a priority code of zero are the best matches , which are garments most likely to fit and suit the consumer , one skilled in the art will recognize that any priority code , symbol , flag , and the like , may used to label garments with the best match . in one embodiment , the consumer may wish to consider garments that are less - than - perfect matches for her . if so , match assessment process 120 may fetch from her shape code &# 39 ; s holding bin those garments having priority codes greater than zero , and may fetch and display them in order of suitability , according to priority code . the consumer may browse garments of a different body shape . in fact , the garments can be fetched , sorted and displayed in many ways , as will be described below . fig6 depicts a match system 600 used to enable a shopping process . the shopping process allows the consumer accesses the categorization process 110 and match assessment process 120 . in one embodiment , the personalized shopping process 130 and match system 600 : 1 . measure a consumer &# 39 ; s body . 2 . provide measurements to categorization process 110 3 . receive and processes consumer &# 39 ; s shape code 4 . receive consumer &# 39 ; s profile 5 . provide profile data to categorization process 110 6 . receive consumer &# 39 ; s fit code once a consumer knows her shape code , she may use the shape code to help select appropriate garments . she has several options for selecting the appropriate garments . for example , she can select garments in a “ bricks and mortar ” retail store or may use an online shopping situation . she simply looks for a garment &# 39 ; s shape code , printed on its “ hang tag ” or label , and then compares its shape code to her own . of course , she herself will have to assure that the garment &# 39 ; s size is correct , but the shape code will give confidence that the garment is appropriate for her body shape . if the consumer finds herself in an environment with access to match system 600 ( embodiments of which are described below ), she will be able to use her fit code and take advantage of the match assessment process 120 . for example , she can : check how well a specific garment meets her needs , shop for garments of a certain type , or browse all types of garments . as the consumer &# 39 ; s body measurements and preferences can , and will , change over time . over time , she will want and need new clothes . thus , the consumer will revisit the personalized shopping process 130 repeatedly . match system 600 is an implementation of fit specification process 100 . in one embodiment the match system 600 is a computerized system , i . e ., an assemblage of hardware and software for data processing and distribution . the system hardware may include , or be , a single or multiple computers , or a combination of multiple computing devices , including but not limited to : pcs , pdas , cellphones , servers , firewalls , and routers . as used herein , the term software involves any instructions that may be executed on a computer processor of any kind . the system software may be implemented in any computer language , and may be executed as object code , assembly , or machine code , or a combination of these and others . the software may include one or more modules , software , programs , and combinations thereof . the software may be in the form of one or more applications and suites and may include lower level drivers , object code , and other lower level software . the software may be stored on and executed from any local or remote machine - readable medium such as , for example , without limitation , magnetic media ( e . g ., hard disks , tape , floppy disks , card media ), optical media ( e . g ., cd , dvd ), flash memory products ( e . g ., memory stick , compact flash and others ), radio frequency identification tags ( rfid ), smartcards ™, and volatile and non - volatile silicon memory products ( e . g ., random access memory ( ram ), programmable read - only memory ( prom ), electronically erasable programmable read - only memory ( eeprom ), and others ), and also on paper ( e . g ., printed upc barcodes ). match system 600 may make use of a network that may include web servers 644 , file and application servers , as well as database servers 648 , all operating in a networked environment that may include local area networks ( lan ) 660 , wide area networks ( wan ) and the internet 620 . data are transferred to match system 600 and among its components . this may be achieved in a conventional fashion employing the standard suite of tcp / ip protocols , including hypertext transfer protocol ( http ) and file transfer protocol ( ftp ) for the transfer of various data . the extensible markup language ( xml ), an interchange format for the exchange of data across the internet and between databases of different vendors and different operating systems , may be employed to facilitate data exchange and inter - process communication . additional and fewer components , units , modules or other arrangement of software , hardware and data structures may be used to achieve the invention described herein . match system 600 includes several interconnecting areas : the fit specification backend 640 , manufacturers &# 39 ; module 630 , and retail module 610 . in one embodiment , fit specification backend 640 contains web servers 644 , file server 650 , database 648 , and application servers 652 that house the primary location for categorization and match assessment software . match system 600 also includes master databases of individual consumers &# 39 ; shape and fit codes 642 and individual garments &# 39 ; shape and fit codes 654 . the manufacturers &# 39 ; module 630 is the software / hardware that allows a manufacturer to obtain shape and fit codes for their goods . for example , for each garment of a particular size or sku , a manufacturer enters the garment &# 39 ; s dimensional measurements and profile data into the manufacturers &# 39 ; module . this data may be entered manually or automatically by interfacing via a workstation 634 for example , with the manufacturer &# 39 ; s own internal systems , such as cad systems 632 . the data is subjected to garment categorization engine 230 , as described herein . this can occur locally or remotely through the fit specification backend 640 . the manufacturer may now employ the resultant shape and fit codes in the manufacturing process ; for example , to print and / or electronically embed the shape code ( s ) and fit code on the garment &# 39 ; s labels , sales tags , rfid tags , etc . the retail module 610 appears in two general areas : “ bricks and mortar ” retail stores and online stores . typically retail stores are located at malls , shopping centers , etc ., while online stores are typically accessed via personal computers at home or office . the retail module 610 may also be accessed through kiosks , cellular phones , pdas and other freestanding or networked devices . it is through the retail module 610 that a consumer can utilize the personalized shopping process . for example , jane enters the women &# 39 ; s apparel section of a local department store . there she avails herself of the opportunity to receive her own personal shape and fit code . her body measurements may be taken , e . g ., automatically by means of a full body scanner . her profile data is also collected and entered into the retail module 610 , which may be a software / hardware package residing at the store , or on a network . the resultant shape and fit codes may be returned to jane in a variety of forms , such as a printed receipt , a magnetic card , or a smartcard ™, etc . in one embodiment , jane obtains a printed card , die - cut with a distinctive curve representing her shape code . she may physically browse the store &# 39 ; s stock using her shape code to find garments . she may also leverage her fit code and the match assessment process to locate in - store garments that fit her . jane may do this by using the store &# 39 ; s kiosks , her cellular phone , a pda , or other portable computing devices . for example , jane may have her shape and fit codes embedded in a smartcard ™. similarly the shape and fit codes of a blouse may be embedded in an rfid tag affixed to the blouse . a handheld computing device , such as pda or cellular phone , may read jane &# 39 ; s smartcard ™ and the rfid tag and conduct a match assessment on the spot , either by having match assessment software embedded in the computing device , or by sending the fit code data to the fit specification backend 640 and displaying the returned results . accordingly , using such methods , jane may spot - check individual garments she finds on the store &# 39 ; s rack , or quickly locate garments in the store which fit her . in another embodiment , the shape and fits codes may be associated with another number or code , such as an item id . for example , a manufacturer may use the item id to look up garment information stored in a central database . the association may be used to link an arbitrary garment identifier , stored for example , in an rfid attached to the garment , with a shape and fit code stored in a database such as database 648 . jill , on the other hand , prefers to shop from home or at the office . she accesses the retail module 140 via a pc and an online store . she , too , avails herself of the opportunity to receive her own personal shape and fit code . for example , following on - screen instructions she uses a tape measure to collect her body measurements and enters them into an online form . she also enters her profile information . this data is sent to fit specification backend 640 for processing . jill &# 39 ; s returned shape code is displayed to her . she may also receive an email containing her shape code and her fit code in a printable , machine - readable format , such as a barcode . like jane , the resultant shape and fit codes may be physically or electronically sent to jill in a variety of forms , such as a printed receipt , a magnetic card , or a smartcard ™, etc . it may be forwarded to her cellular phone as a data file or an executable program . when shopping online jill may access the retail module 610 directly , or it may be presented to her through an online store , which subscribes to the retail module as a world - wide - web service . by tapping the match assessment process for many garments , retail module 610 acts as clothing search engine . in one embodiment , the results of a match assessment of multiple garments may be displayed to jill using a graphical user interface ( gui ) 700 as depicted in fig7 . this gui interface 700 allows her to quickly view and filter the results of a match assessment query . referring to fig7 , the shape control is a row 710 at the top depicting the seven body shapes of this embodiment . clicking on a body shape selects a shape and the remainder of the page 712 is updated with garments matching that body shape . when the interface 700 is first displayed , the consumer &# 39 ; s body shape may be automatically selected and the matching garments are displayed in page 712 . based upon the contents of the holding bins resulting from a match assessment as described herein , the garments may be displayed in the garment area 720 . in one embodiment , the priority code assigned each garment may be used to determine their order of display . for example , best - fit garments , those with a priority code of zero , may be displayed first . the consumer may “ page ” through the garments by selecting the page controls 760 . a garment may be displayed with picture ( s ), descriptive text , ordering information , shopping cart buttons , etc . the results of a match assessment may also be emailed to jane , delivered via cellular phone , pda , physically mailed in the form of a personalized printed catalog , or delivered by any other means . additional filter controls 770 may be displayed . for example , a garment type ( 102 dg ) filter lists the various types of matching garments , such as “ dresses ,” a brand ( 106 dg ) filter lists brands and designers , such as leona edmiston , a style ( 118 dg ) filter lists clothing styles , such as “ romantic .” in one embodiment , a filter could be displayed for any garment profile data point , such as color ( 115 dg ), fabric ( 119 dg ), sleeve style ( 112 dg ), etc . for example , when a user selects a filter option , such as “ jackets ”, interface 700 will show all matching garments that are jackets . in other embodiments , multiple and discontiguous selections are contemplated using a “ checkbox ” style selection interface . for example , jill may click “ skirts , pants , brand a , romantic , and artsy .” the garment area may be updated with garments meeting all of those filter options . the foregoing description of specific embodiments of the invention has been presented for the purposes of illustration and description . it is not intended to be exhaustive or to limit the invention to the precise form described , and many modifications and variations are possible in light of the teaching above . the embodiments were chosen and described in order to best explain the principles of the invention and its practical applications to thereby enable others skilled in the art to best utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated .
a method and system for specifying the fit of garments and matching the fit of individual garments to individual consumers is disclosed . in one embodiment , a method includes categorizing human body shapes based on dimensional and demographic body measurement data sampled from the human population , and statistically analyzing the measurement data to determine the appropriate number of discrete body shapes , as well as the range of measurement values characteristic of each body shape . the method includes assigning to each body shape a shape code , which is a unique name and / or symbol and / or curve representing that shape . in one embodiment , a recommendation engine is employed to specify and match the fit of individual garments to individual consumers .