Základním principem je Bayesovský filtr (Thomas Bayes *1702 +1761 britský matematik). Jedná se o statistickou metodu klasifikace dokumentů. V případě klasifikace e-mailů použitím Bogofilteru se jedná o statistickou analýzu jednotlivých slov obsažených v e-mailu. K masovému rozšíření této metody došlo následně po publikování prvního a druhého článku Paula Grahama. Autorem Bogofilteru je Eric S. Raymond, který napsal první verzi. Od roku 2002 se na tvorbě podíleli David Relson, Matthias Andree, Greg Louis a mnoho dalších open source vývojářů.
Bogofilter klasifikuje slova celého e-mailu včetně hlavičky, což je důležité. Klasifikace pouhého textu a titulku by nebyla příliš účinná a docházelo by k omylům filtru. Stačilo by, aby spam obsahoval nejčastější běžná slova vyskytující se v běžných e-mailech a prošel by přes spam filtr. Po zpracování každého e-mailu se Bogofilter naučí pravděpodobnost výskytu slov v e-mailu a čím více normálních e-mailů a spamu jím projde, tím lépe je později schopen spam rozpoznávat. Slova jsou ukládána do databáze a ke každému slovu je přiřazena tato klasifikace a četnost výskytu v již dříve zpracovaných e-mailech. Metoda je vylepšena o rozdílnou klasifikaci slov podle toho, v které části e-mailu se nacházejí. Například jinou klasifikaci má slovo obsažené v titulku a jinou v těle zprávy apod.
To se provádí zařazením slova do databáze ne ve formě „slovo”, ale „titulekslovo” nebo „těloslovo”, tím je možno přiřadit různou klasifikaci. Klasifikace je prováděna desetinným číslem od 0 do 0.99, kdy nejvyšší hodnota znamená, že se jedná o spam. Klasifikaci pro ruční třídění, které je zpočátku nutné, můžete sami nastavit zadáním parametru do Bogofilteru. Nejvhodnější kombinace je 0.4 a 0.9, kdy 0.9 určuje spam a 0.4 se osvědčilo jako střední mezní hodnota. To jsou hodnoty, které se používají pro třístavový provoz Bogofilteru a osvědčily se. Pro učení jsou zpracovávána všechna slova z e-mailu, ale pro vyhodnocení ne, protože by opět docházelo k omylům filtru.
Při zpětném zpracování je vyhodnocováno jen určité množství slov z e-mailu (např. 15) a to podle jejich četnosti v databázi Bogofilteru. Jinak řečeno, každé slovo má svoji váhu, podle toho, jak často se v e-mailech vyskytuje, a jeho aktuální klasifikace uložená v databázi má při vyhodnocování vyšší nebo nižší prioritu. Největší zbraní Bogofilteru je lokální databáze každého uživatele a její obsah podle toho, jaký obsah přijímá daný uživatel. Spamer tedy nemůže vytvořit e-mail, který by univerzálně prošel spam filtry 90 % uživatelů.
Konkrétní příklad by mohl být na slovu Nigerie, které se často ve spamech vyskytovalo. Pokud by filtr fungoval podle jednoznačné klasifikace slov a označoval za spam všechny e-mailu obsahující slovo Nigerie, nemohl by toto slovo nikdo používat. Bogofilter je však schopen se naučit, že toto slovo používáte ve svých e-mailech a třídit e-maily dokáže podle výskytu dalších N slov. To je pro případ, že by vám chodily e-maily se spamem, který obsahuje slovo Nigerie a přitom vy sami byste slovo používali při komunikaci e-mailem.
Účinnost Bogofilteru je vyšší než 99 % a pokud některý spam projde, jsou to jednotlivé kusy, které člověka již zdrží minimálně. Navíc v případě třístavového provozu se spamy objevují roztříděné ve složce „nejisté”, nemusíme je tudíž třídit okamžitě a neobtěžují v příchozí poště. Wizardem defaultně nastavený filtr nechává e-maily v příchozí poště, pokud si není jistý, zda se jedná o spam. To je také jeden z důvodů proč je vhodné použít nastavení publikované v mém předchozím článku a nepoužívat wizarda pro nastavení Bogofilteru.