garbage-in garbage-out [[속담]]이면서 [[경제학]], [[IT]], [[경영학]], [[공학]]등 [[자료]]를 다루는 학문이라면 [[금과옥조]]인 격언. 흔히 기고라고 발음한다. [[쓰레기]]를 넣은 곳에 쓰레기가 나온다 정도로 번역이 가능한데, 올바르지 않은 데이터를 입력하면(garbage-in) 올바르지 않은 결과값이 나온다(garbage-out)는 의미. 한국에서 같은 의미의 속담이라면 "[[콩]] 심은데 콩 나고 [[팥]] 심은데 팥 난다"가 있다. 좀 더 비슷한 관련업계 속담으론 "(사람이 거짓말하지) 기계가 거짓말 하냐?"가 있다. 즉, 자료의 In/Out은 [[프로세스]]도 중요하지만 그 이전에 자료의 적합성과 가치에 따라서 산출되는 결과의 신뢰성이 달라질 수 있다는 것. 여기에서 자료의 적합성과 가치는 프로세스를 통해 얻으려고 하는 결과물과 이를 통한 의사결정과의 관련성의 크기에 결정된다. 적절한 사례로 [[이력서]]를 들 수 있는데 이력서에 최종학력과 성적표는 중요한 의사결정요소이자 사원 선출 프로세스(면접)에 있어서 중요한 데이터로 사용될 수 있지만, [[초등학교]] [[수우미양가]]를 넣는다면 이는 의사결정에도, 프로세스에도 영향을 미칠 수 없는 [[쓰레기]]데이터 밖에 안된다. 경우에 따라서는 의사결정과 프로세스의 원활한 작용을 방해할 소지가 있으므로 넣어서는 안 되는 데이터다. IT나 공학의 경우 DB에서의 테이블의 작성은 이 GIGO의 원칙에 따라서 필요한 항목만 개설하도록 원칙이 맞춰져 있으며 얻고자 하는 정보, 지식, 지능의사 결정에 따라서 각종 어플리케이션의 UI와 시스템들의 짜여지는 방향성에 큰 영향을 미친다. 현실세계에서 실제로 사용되어야 하는 소프트웨어는 절대로 쓰레기값을 넣었을 때 [[SQL injection|쓰레기가 나와서는 안 된다]]. 어떤 입력 값이든 쓰레기인지 아닌지를 먼저 판별하고, 쓰레기로 확인됐을 때에는 이에 대해 거부 처리(예외 처리, 메시지 출력 등)를 하는 것이 올바른 개발 방향이다. 쓰레기 판별이 어려운 경우에는 [[격리|모든 입력 값을 쓰레기로 가정]]하여, 이를 유효한 입력 데이터로 사전 가공하는 작업을 거쳐야 한다. [[분류:IT]][[분류:통계학 용어]]