A system for classifying an entity or classifying the similarity of the entity to other entities, the system comprising; a server comprising: storage means arranged to store characteristics of a first plurality of entities, wherein each one of the first plurality of entities is classified with a first classification; a training module arranged to train a classification model to classify an input entity based on characteristics of the input entity, wherein the classification model is trained using the characteristics of the first plurality of entities as training data; and a transmitter arranged to transmit the trained classification model to a client device; and wherein the system comprises the client device, wherein the client device comprises: a receiver arranged to receive the trained classification model; and memory arranged to store the trained classification model; and a processor arranged to process data comprising characteristics of at least one input entity using the trained classification model stored at the client device thus causing the trained classification model to output a similarity score in order to classify the similarity of the at least one input entity to the first plurality of entities, characterised in that the training module is arranged to train the classification model by determining a weighting for each of a plurality of parameters, and in that the weighting for each one of the parameters indicates the magnitude of the effect that the parameter has on the output of the classification model. a server comprising: storage means arranged to store characteristics of a first plurality of entities, wherein each one of the first plurality of entities is classified with a first classification; a training module arranged to train a classification model to classify an input entity based on characteristics of the input entity, wherein the classification model is trained using the characteristics of the first plurality of entities as training data; and a transmitter arranged to transmit the trained classification model to a client device; and wherein the system comprises the client device, wherein the client device comprises: a receiver arranged to receive the trained classification model; and memory arranged to store the trained classification model; and a processor arranged to process data comprising characteristics of at least one input entity using the trained classification model stored at the client device thus causing the trained classification model to output a similarity score in order to classify the similarity of the at least one input entity to the first plurality of entities, storage means arranged to store characteristics of a first plurality of entities, wherein each one of the first plurality of entities is classified with a first classification; a training module arranged to train a classification model to classify an input entity based on characteristics of the input entity, wherein the classification model is trained using the characteristics of the first plurality of entities as training data; and a transmitter arranged to transmit the trained classification model to a client device; and a receiver arranged to receive the trained classification model; and memory arranged to store the trained classification model; and a processor arranged to process data comprising characteristics of at least one input entity using the trained classification model stored at the client device thus causing the trained classification model to output a similarity score in order to classify the similarity of the at least one input entity to the first plurality of entities, characterised in that the training module is arranged to train the classification model by determining a weighting for each of a plurality of parameters, and in that the weighting for each one of the parameters indicates the magnitude of the effect that the parameter has on the output of the classification model.