<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/jev-for-analytics-turn-text-columns-into-gold-in-plain-sql-1a7pumryh" -->

---
title: Jev for analytics: turn text columns into gold, in plain SQL
description: MotherDuck's prompt_jev() function classifies free-text columns into typed labels using a fast, non-generative 'System One' model (Jev by TypeSafe), instead of...
canonical: https://daily.dev/posts/jev-for-analytics-turn-text-columns-into-gold-in-plain-sql-1a7pumryh
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Jev for analytics: turn text columns into gold, in plain SQL | daily.dev
og:description: MotherDuck's prompt_jev() function classifies free-text columns into typed labels using a fast, non-generative 'System One' model (Jev by TypeSafe), instead of...
og:url: https://daily.dev/posts/jev-for-analytics-turn-text-columns-into-gold-in-plain-sql-1a7pumryh
og:image: https://api.daily.dev/og/posts/1a7puMRYH.png
og:image:alt: Jev for analytics: turn text columns into gold, in plain SQL
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Jev for analytics: turn text columns into gold, in plain SQL

**[MotherDuck](https://daily.dev/sources/motherduck)** · 11 min read · 0 upvotes · 0 comments

## Summary

MotherDuck's prompt_jev() function classifies free-text columns into typed labels using a fast, non-generative 'System One' model (Jev by TypeSafe), instead of a token-by-token LLM. Tested on 100,000 CFPB complaint narratives, Jev classified all rows in 82.2 seconds for about $0.50, versus 6+ minutes and $1.58-$37.58 for LLMs like gpt-5-nano and GPT-5.6 on far fewer rows. The walkthrough covers defining a labeled taxonomy, running prompt_jev() with choice/bool/score question shapes, checking confidence scores to build a review queue, comparing Jev's labels against GPT-5 and Claude Opus 5.5 agreement rates, and then querying the resulting typed column with plain SQL GROUP BY. The author notes prompt_jev() is available on MotherDuck paid plans and sends data to TypeSafe for inference.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://motherduck.com/blog/jev-for-analytics>

## Questions this post answers

### How fast and cheap is prompt_jev() compared to using an LLM like gpt-5-nano for classifying text columns in SQL?

prompt_jev() classified 100,000 complaint narratives in 82.2 seconds for about $0.50, while gpt-5-nano via prompt() took 6 minutes 9 seconds to classify only 10,000 rows, and GPT-5.6 Terra cost $37.58 for the same 100,000-row job. That puts Jev's cost at roughly 1% of a frontier model's bill for the same bounded classification task.

_Weigh cost and speed trade-offs for text classification pipelines with benchmarks like this on daily.dev._

### How do I know if I can trust a label that prompt_jev() assigns to a row?

Check the confidence score returned alongside the choice: across a 100,000-row complaint dataset, mean confidence was 0.83, with 65.8% of rows at 0.8 or above and 10.9% below 0.5. Rows below a chosen threshold like 0.8 should be routed to a human or a larger model rather than trusted automatically, since even higher-confidence rows can still be wrong.

_Developers building trustworthy classification pipelines can track validation techniques like this on daily.dev._

## Similar posts on daily.dev

- [5 Jev use cases for analytics, with real queries and datasets](https://daily.dev/posts/5-jev-use-cases-for-analytics-with-real-queries-and-datasets-xijgxxj63) · MotherDuck · 1 upvotes · 0 comments

---

Tags: [#machine-learning](https://daily.dev/tags/machine-learning), [#sql](https://daily.dev/tags/sql), [#ai-inference](https://daily.dev/tags/ai-inference), [#duckdb](https://daily.dev/tags/duckdb)

[View this post on daily.dev](https://daily.dev/posts/jev-for-analytics-turn-text-columns-into-gold-in-plain-sql-1a7pumryh)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Jev for analytics: turn text columns into gold, in plain SQL","url":"https://daily.dev/posts/jev-for-analytics-turn-text-columns-into-gold-in-plain-sql-1a7pumryh","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/jev-for-analytics-turn-text-columns-into-gold-in-plain-sql-1a7pumryh"},"datePublished":"2026-09-29T20:41:31.120Z","dateModified":"2026-09-30T03:00:49.377Z","description":"MotherDuck's prompt_jev() function classifies free-text columns into typed labels using a fast, non-generative 'System One' model (Jev by TypeSafe), instead of...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/3cdccf95bdc13526391a588886a89ba3?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/3cdccf95bdc13526391a588886a89ba3?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"MotherDuck","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"MotherDuck","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/f084d6835eef4c2b83f889f9a4e85ed6","url":"https://daily.dev/sources/motherduck"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/jev-for-analytics-turn-text-columns-into-gold-in-plain-sql-1a7pumryh","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"machine-learning,sql,ai-inference,duckdb","timeRequired":"PT11M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"MotherDuck","item":"https://daily.dev/sources/motherduck"},{"@type":"ListItem","position":3,"name":"Jev for analytics: turn text columns into gold, in plain SQL"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/jev-for-analytics-turn-text-columns-into-gold-in-plain-sql-1a7pumryh#faq","mainEntity":[{"@type":"Question","name":"How fast and cheap is prompt_jev() compared to using an LLM like gpt-5-nano for classifying text columns in SQL?","acceptedAnswer":{"@type":"Answer","text":"prompt_jev() classified 100,000 complaint narratives in 82.2 seconds for about $0.50, while gpt-5-nano via prompt() took 6 minutes 9 seconds to classify only 10,000 rows, and GPT-5.6 Terra cost $37.58 for the same 100,000-row job. That puts Jev's cost at roughly 1% of a frontier model's bill for the same bounded classification task. Weigh cost and speed trade-offs for text classification pipelines with benchmarks like this on daily.dev."}},{"@type":"Question","name":"How do I know if I can trust a label that prompt_jev() assigns to a row?","acceptedAnswer":{"@type":"Answer","text":"Check the confidence score returned alongside the choice: across a 100,000-row complaint dataset, mean confidence was 0.83, with 65.8% of rows at 0.8 or above and 10.9% below 0.5. Rows below a chosen threshold like 0.8 should be routed to a human or a larger model rather than trusted automatically, since even higher-confidence rows can still be wrong. Developers building trustworthy classification pipelines can track validation techniques like this on daily.dev."}}]}
```

