팜모닝 활동 데이터 기반 FMS의 농민 평가 및 규모, 수준 등 파악할 수 있는 스코어링 개발하여 업무 효율 증대
FMS 농민 정보의 정확도 부족
앱 내 작물, 재배 정보 획득할 수 있는 피쳐들의 가중치와 커뮤니티 콘텐츠 LLM 추출하여 스코어링 모델을 개발하면 농민 정보 정확도가 개선될 것이다
FMS 생산자 스코어링 모델 개발
작물 정확도 20% → 95% 달성
만들긴 했지만, 성능이 부족한 프로덕트를 AI를 활용하여 적극적으로 개선하고 상용화해본 경험. 사업부를 설득하기 위해 논리를 관철시킨 경험.
문제 정의
그린랩스는 농산물 유통 단계를 줄여 농민의 판매 단가를 높이고 소비자 가격을 낮추는 '직소싱' 사업을 추진하고 있었다. 대형 마트나 온라인 커머스가 산지에서 직접 소싱하면 중간 유통 마진이 사라진다. 당시 전사 매출 약 1,000억 원 중 직소싱 비중을 30%(약 300억 원)까지 끌어올리는 것이 목표였다.
문제는 첫 단계부터 막혀 있었다. 직소싱하려면 특정 작물을 키우는 농민을 찾아 컨택해야 하는데, 내가 소싱팀의 컨택 결과를 추적해보니 데이터가 맞지 않았다. 대추토마토 소싱을 위해 200명의 농민 리스트를 뽑아 전화를 돌렸을 때, 실제 재배 중인 농민은 10명뿐. 최종 소싱 성공은 1~2명에 그쳤다. 퍼스트파티 데이터의 작물 정확도가 약 20%에 머물러 있었고, 이 구조로는 300억 목표에 도달할 수 없었다.
팜모닝에 등록된 농민은 90만 명이었지만, 고연령층 유저가 정확한 정보를 기입하지 않는 경우가 많았고 가비지 데이터와 아웃데이티드 데이터가 상당했다. 외부 데이터(AGRIX 농림사업정보시스템, 도매시장 경락데이터, 직판매 커머스 농민 데이터)를 조인하여 보완하려 했으나, 특정인을 식별할 CI가 없어 동일인 추론에 의존할 수밖에 없었다.
가설 수립
앱 내 작물, 재배 정보 획득할 수 있는 피쳐들의 가중치와 커뮤니티 콘텐츠 LLM 추출하여 스코어링 모델을 개발하면 농민 정보 정확도가 개선될 것이다
작물을 키우는지 아는 것만으로는 부족했다. 실제 직소싱에는 세 가지를 알아야 했다. 해당 작물을 현재 키우고 있는지('작물 정확도'), 충분한 규모와 품질로 재배하는지('소싱 적합도'), 팜모닝을 통한 거래 의사가 있는지('거래적합도'). 물론 "키우는지"와 "살 의사가 있는지" 두 단계로 단순화할 수도 있었으나, 소싱 담당자들과 논의한 결과 규모와 품질을 모르고 컨택하면 결국 헛수고가 반복된다는 판단이었다. 내가 제안한 것은 이 세 단계를 하나의 스코어링 모델로 통합 설계하는 것이었다.
인자 선정은 현장 소싱 담당자의 경험에서 출발했다. "농사 면적이 크면 소농이 아니니 품질 관리 역량이 있을 확률이 높다" 같은 가설을 세우고, 이를 뒷받침할 프로덕트 지표를 찾고, 정답 데이터와 대조하는 이터레이션을 반복했다. 인자가 많아지면 모델 유지보수가 어려워지고 혼선이 생기기 때문에 4~5개로 제한했다. 목표는 작물 정확도 100%. 타협은 없었다. 소싱 적합도도 높은 수준으로 맞출 수 있다고 봤고, 거래적합도는 난이도를 인정하되 점진적으로 개선할 계획이었다.
솔루션 도출
데이터 소스는 크게 유저 행동과 자연어 텍스트, 두 축이었다. 행동 데이터 쪽에서는 특정 작물 관련 콘텐츠의 좋아요, 글·댓글 작성, 작물별 모임 방문, 농자재 구매 이력에 가중치를 부여했다. 텍스트 쪽에서는 커뮤니티 글, 영농일지, 상담 신청글에서 작물 정보를 추출해야 했는데, 시니어 농민이 쓴 글은 짧고 오타가 많아 규칙 기반 키워드 매칭으로는 한계가 있었다. 내가 LLM 기반 추출을 제안한 이유가 여기에 있다. 오타와 비정형 표현을 문맥으로 이해할 수 있는 방식이 필요했다. 이 중 영농일지와 병해충 관련 글이 정확도에 가장 결정적이었는데, 영농일지 데이터를 모델에 반영한 시점에서 정확도가 크게 뛰면서 전환점이 됐다.
가장 큰 난관은 기술이 아니라 사업부였다. 유통 경력이 긴 소싱 담당자들은 자기 영업 루트가 있었고, 앱으로 컨택한 농민은 비협조적이라며 꺼렸다. 모델을 고도화하려면 정답 데이터가 필요한데, 이것도 사업부 협조 없이는 확보할 수 없었다. 그래서 방식을 바꿨다. "데이터를 달라"고 요청하는 대신, 소싱 담당자의 통화·문자 내용을 쉽게 기록할 수 있는 업무 도구를 만들어줬다. 그들의 일을 편하게 해주면서 데이터를 수집한 것이다. 동시에 앱 내에도 자가 학습 루프를 설계했다. 유저가 특정 작물의 농자재를 구매하거나 병해충 상담을 신청하면 해당 작물 재배 확률을 자동으로 올리는 피드백 구조로, 사업부에 기대지 않고도 모델이 개선되는 구조를 만들었다.
결과 & 배운 점
작물 정확도는 20%에서 95%로 올랐고, 직소싱 매출 비중은 3%에서 17%(약 170억 원)까지 성장했다. 95%는 사업부의 실제 소싱 결과를 역검증하여 확인한 수치다. 사업부 담당자들이 정확도를 체감하기 시작하면서 태도가 바뀌었다. 자기 전문 작물이 아닌 영역까지 소싱을 확장하겠다는 시도가 나왔고, 협업이 붙기 시작했다.
하지만 데이터 수집 과정은 돌이켜보면 아쉽다. "딸기 키우세요? 예/아니오" 같은 스팸성 넛지가 반복되었고, 출석체크 끝나면 답해야 화면이 꺼지는 다크 패턴도 있었다. 당시 나도 속도를 우선시하는 방향에 동의했고, 효율보다 볼륨에 치중했다. 데이터는 쌓였지만, 유저 경험을 해치는 방식이었다. 소구점을 공략하거나 기능 자체에 녹여내는 설계를 했어야 했다.
이 프로젝트에서 데이터 모델링이라는 개념을 처음 배웠다.
나로서는 예측과 학습을 위한 보상 시그널, 즉 정답 데이터가 얼마나 중요한지를 이때 체감했다. 모델을 돌리려면 상상 이상의 원천 데이터가 필요하다는 것도 알게 됐고, 제품을 설계할 때 데이터 확보 전략을 함께 그려야 한다는 사고방식도 여기서 생겼다. 기업이 기술적 해자를 만드는 방법, 결국 벨류를 만든다는 것이 무엇인지를 가장 많이 고민한 시기였다.
에서의 다른 경험도 살펴보기
농약사 계정의 신뢰도를 평가할 수 있는 요인을 파악하여 프로필 페이지를 개편하고 전화 상담하는 유저 패턴에 맞게 기능 추가
병해충 상담 커뮤니티 카테고리를 활용하여 농민의 농약 구매 과정 개선과 농약사의 판로 확대
공동구매를 온라인으로 모객하고 배송비 및 MOQ별 할인율을 적용한 비용으로 저렴하게 판매하여 유저 획득