查找基于位置的数据之间的相关性

Finding correlation between location based data

我试图在我们存储客户和合作伙伴信息的 MySQL 数据库中找到一些基于位置的数据之间的相关性。每个客户都有各自的 geo_zip_codegeo_region 字段,每个合作伙伴也是如此。当客户进入我们的系统时,他们会收到来自三个不同合作伙伴的报价。我想看看客户是否更有可能接受合作伙伴处于相同 geo_zip_codegeo_region 的报价,基于 geo_zip_codegeo_region 字段table 与客户端和三个合作伙伴之一之间的匹配。但是,我不知道从哪里开始才能完成此任务。如果可能,我该如何在 MySQL 中执行此操作?否则,如果您不想彻底回答,非常欢迎您指导我找到有关如何解决此问题的信息的方向。另外,如果可以在 Tableau 或 Python 中执行此操作,请告诉我。谢谢!

这应该是一个很好的起点。当然,我没有你的table名字。

DECLARE @total_matches INT 
DECLARE @non_matches INT 
DECLARE @region_or_zip_matches INT 
-- this will return a count of all matches 
SELECT @total_matches = COUNT(m.'8')
FROM Matches as m 
-- this will return a count of matches where there is no zip/region match 
SELECT @non_matches = COUNT('8') 
FROM Matches  AS m 
INNER JOIN Clients AS c 
    ON c.client_id = m.client_id
INNER JOIN Partners AS p 
    ON p.partner_id = m.partner_id
WHERE 
AND c.geo_region IS NOT NULL --not null's may be unnecessary based on column criteria. 
AND p.geo_region IS NOT NULL 
AND c.geo_zip_code IS NOT NULL 
AND p.geo_zip_code IS NOT NULL 
AND (c.geo_region != p.geo_region
AND c.geo_zip_code != p.geo_zip_code)

SET @region_or_zip_matches = @total_matches - @non_matches

SELECT (CAST(@region_or_zip_matches AS FLOAT) / CAST(@total_matches AS FLOAT) * 100;