<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Origin Data Partners</title>
    <description>The latest articles on DEV Community by Origin Data Partners (@origindatapartners).</description>
    <link>https://dev.to/origindatapartners</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4229481%2Fe30b76af-1c97-46c7-a0e7-19cc8237ec48.png</url>
      <title>DEV Community: Origin Data Partners</title>
      <link>https://dev.to/origindatapartners</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/origindatapartners"/>
    <language>en</language>
    <item>
      <title>RL environments: why AI labs pay for real company workflows</title>
      <dc:creator>Origin Data Partners</dc:creator>
      <pubDate>Mon, 09 Nov 2026 15:00:00 +0000</pubDate>
      <link>https://dev.to/origindatapartners/rl-environments-why-ai-labs-pay-for-real-company-workflows-454a</link>
      <guid>https://dev.to/origindatapartners/rl-environments-why-ai-labs-pay-for-real-company-workflows-454a</guid>
      <description>&lt;p&gt;An RL (reinforcement learning) environment is a sandbox where an AI model attempts a task with a fixed set of actions, and an automatic grader scores each attempt so the scores can update the model. For agents meant to do office work, the sandbox is a working copy of business software, filled with records, plus tasks that have a known correct outcome. AI labs pay for real company workflow records because those records make the copy realistic and the grader hard to fool.&lt;/p&gt;

&lt;p&gt;If you have written integration tests, you already understand most of this. The rest of this post covers what an environment contains, what one episode looks like as data, what environments cost to build, and which records from an ordinary company are useful.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is inside an RL environment?
&lt;/h2&gt;

&lt;p&gt;Four things: a starting state, an action space, a task and a grader. Epoch AI, which interviewed 18 people across environment startups and labs for a &lt;a href="https://epochai.substack.com/p/an-faq-on-reinforcement-learning" rel="noopener noreferrer"&gt;January 2026 FAQ&lt;/a&gt;, describes each task as a prompt with an objective, scored by a grader that is "typically automated, such as a unit test or an LLM judging against a rubric." It adds that environments are often delivered as Docker containers.&lt;/p&gt;

&lt;p&gt;The examples in this table are illustrative:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Part&lt;/th&gt;
&lt;th&gt;Coding environment&lt;/th&gt;
&lt;th&gt;Office-work environment&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Starting state&lt;/td&gt;
&lt;td&gt;A repository at a commit, with a failing test&lt;/td&gt;
&lt;td&gt;A CRM or ticketing replica loaded with records&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Action space&lt;/td&gt;
&lt;td&gt;Read files, run shell commands, edit code&lt;/td&gt;
&lt;td&gt;Click, type, call the app's API, send a message&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Task&lt;/td&gt;
&lt;td&gt;"Fix the bug described in this issue"&lt;/td&gt;
&lt;td&gt;"Resolve this ticket under refund policy v3"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Grader&lt;/td&gt;
&lt;td&gt;The test suite&lt;/td&gt;
&lt;td&gt;A check of the final database state&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Public research environments follow the same pattern. &lt;a href="https://arxiv.org/abs/2310.06770" rel="noopener noreferrer"&gt;SWE-bench&lt;/a&gt; built 2,294 tasks from real GitHub issues and the pull requests that resolved them, across 12 Python repositories. &lt;a href="https://arxiv.org/abs/2406.12045" rel="noopener noreferrer"&gt;tau-bench&lt;/a&gt; puts an agent in a customer-service setting and grades it by comparing the database at the end of the conversation with an annotated goal state.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does one episode look like as data?
&lt;/h2&gt;

&lt;p&gt;An episode is one attempt at one task: the starting state, every action and observation in order, and the reward at the end. If you have used &lt;a href="https://gymnasium.farama.org/api/env/" rel="noopener noreferrer"&gt;Gymnasium&lt;/a&gt;, the loop is familiar. &lt;code&gt;reset()&lt;/code&gt; returns the first observation, and each &lt;code&gt;step(action)&lt;/code&gt; returns the next observation, a reward, &lt;code&gt;terminated&lt;/code&gt;, &lt;code&gt;truncated&lt;/code&gt; and an &lt;code&gt;info&lt;/code&gt; dict.&lt;/p&gt;

&lt;p&gt;For an office agent the observation is usually text or a screenshot, the action is a tool call, and the reward usually arrives once, at the end. Here is an illustrative episode record for a task built from a resolved support ticket. The field names are ours, not a standard.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"task_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"refund-4812"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"instruction"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Customer reports a double charge on order 99173. Resolve per refund policy v3."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"initial_state"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"snapshots/crm-2024-03-11.sql"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"steps"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"t"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"action"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"tool"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"search_orders"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"order_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"99173"&lt;/span&gt;&lt;span class="p"&gt;}},&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"observation"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2 charges of $48.00 on 2024-03-09"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"t"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"action"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"tool"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"issue_refund"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"charge_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ch_2"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"amount"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;48.00&lt;/span&gt;&lt;span class="p"&gt;}},&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"observation"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"refund pending"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"t"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"action"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"tool"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"reply"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"We refunded the duplicate charge."&lt;/span&gt;&lt;span class="p"&gt;}},&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"observation"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"sent"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"reward"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;1.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"terminated"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"truncated"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The grader for a task like this can be a few lines. In the tau-bench style, it compares the end state with the state the real support agent reached:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;grade&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;final_db&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;goal_db&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;keys&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;refunds&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;order_status&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;float&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;Return 1.0 only if every graded table matches the recorded outcome.&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;float&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;final_db&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;goal_db&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;keys&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The goal state is the expensive part, because someone has to know what "correct" was. In a real company's records it is already written down: the ticket was refunded, the invoice was approved, the pull request merged and the tests passed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why do labs need real company records?
&lt;/h2&gt;

&lt;p&gt;Because a grader is only as good as the tasks behind it. Epoch AI's interviewees named reward hacking, a model finding a way to score without solving the task, as a top quality concern. One said that high reward "must mean the task was actually solved." Synthetic tasks written in an afternoon tend to be tidy and guessable. Real records carry the partial refunds, escalations and reversed decisions that make a task hard to game.&lt;/p&gt;

&lt;p&gt;The same interviews describe enterprise workflows (CRM updates, filing reports, spreadsheet work) as a major growth area after math and coding. Buyers building simulated workplaces look for archives that capture disagreements and tricky judgment calls, &lt;a href="https://www.technologyreview.com/2026/10/13/1145755/ai-labs-buying-data-from-dead-startups-to-train-models/" rel="noopener noreferrer"&gt;MIT Technology Review reported&lt;/a&gt; in October 2026.&lt;/p&gt;

&lt;p&gt;Labs also use one environment in three ways, per Epoch AI: for reinforcement learning, for benchmarking, and for fine-tuning on attempts that solved the task. A set of good tasks has more than one use, which is part of why builders pay for the inputs.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does an RL environment cost to build?
&lt;/h2&gt;

&lt;p&gt;These figures come from Epoch AI's interviews, as of January 2026:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Item&lt;/th&gt;
&lt;th&gt;Reported cost&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Replica of a website&lt;/td&gt;
&lt;td&gt;About $20,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;High-fidelity replica of a product like Slack&lt;/td&gt;
&lt;td&gt;About $300,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;One task, with its grader&lt;/td&gt;
&lt;td&gt;$200 to $2,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lab contract with an environment builder&lt;/td&gt;
&lt;td&gt;Six to seven figures per quarter&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Exclusive deal compared with non-exclusive&lt;/td&gt;
&lt;td&gt;Roughly 4 to 5 times more&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;At $200 to $2,000 a task, a few thousand resolved tickets with clear outcomes are a meaningful input. That is the economics behind builders paying companies for data. As of November 2026, Handshake AI says its &lt;a href="https://joinhandshake.com/blog/hai/handshake-ai-employer-data-program/" rel="noopener noreferrer"&gt;employer data partnerships&lt;/a&gt; typically range from $100K to $4M, and micro1 has &lt;a href="https://www.micro1.ai/blog/micro1-commits-1b-to-enterprise-data-acquisition" rel="noopener noreferrer"&gt;announced a commitment&lt;/a&gt; to spend $1 billion over 12 months on enterprise operational data for reinforcement learning environments. Both are published ranges and announcements, not offers. Our &lt;a href="https://origindatapartners.com/guides/rl-environment-companies" rel="noopener noreferrer"&gt;RL environment companies tracker&lt;/a&gt; lists who builds environments, for which domains, and which say they pay for company data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which company records make good environment data?
&lt;/h2&gt;

&lt;p&gt;Records that pair a task with its outcome and link across systems. A ticket tied to the email thread and the commit that fixed it is worth more than any of the three alone, because a builder can turn it into a task with a reference answer.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Support tickets with resolutions.&lt;/strong&gt; Each one is a task with a known correct ending.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code repositories with issues and commits.&lt;/strong&gt; The SWE-bench recipe: issue, fix, tests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CRM pipelines and activity history.&lt;/strong&gt; CRM work is among the most-cited enterprise workflows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spreadsheets and reports with their inputs.&lt;/strong&gt; The inputs are the starting state, and the approved report is the goal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Project trackers.&lt;/strong&gt; Multi-step tasks with dependencies and owners.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Slack, Teams and email threads.&lt;/strong&gt; Context and coordination, but also the most personal information.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Builders look for consistent IDs across systems, recorded outcomes, real exceptions and years of history. They also need names replaced consistently rather than deleted, so a thread still reads as a conversation after de-identification. The &lt;a href="https://origindatapartners.com/guides/rl-environments-company-data" rel="noopener noreferrer"&gt;guide to RL environments and company data&lt;/a&gt; has a fuller table, and the &lt;a href="https://origindatapartners.com/guides/license-workflow-data-for-ai-agents" rel="noopener noreferrer"&gt;workflow data guide&lt;/a&gt; shows how to describe one workflow end to end without exporting anything.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common questions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is an RL environment the same as a training dataset?&lt;/strong&gt;&lt;br&gt;
No. A dataset is a fixed set of examples a model learns from. An environment is working software with data, tasks and a grader, where the model acts and gets scored. The same company records can feed either, so a license should say which uses it allows: training, building environments, evaluating models, or all three.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is an RL gym?&lt;/strong&gt;&lt;br&gt;
Another name for an RL environment. The term comes from earlier reinforcement learning toolkits such as OpenAI Gym, now maintained as Gymnasium. Several environment builders sell "RL gyms" to labs, and the word now covers office-software replicas as well as games and physics simulators.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do I need to export data to find out whether it is useful?&lt;/strong&gt;&lt;br&gt;
No. A first conversation needs a description at company level: which systems, how many years, roughly how many records, and whether outcomes are recorded. Exports come later, under an NDA, and only after the de-identification approach is agreed with the buyer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can an operating company license records, or only a closed one?&lt;/strong&gt;&lt;br&gt;
Both. Closed startups are common sellers because their archives are complete and no longer needed, but environment builders also license copies of records from operating companies. An operating company usually wants a non-exclusive license, limits on use and a deletion clause at the end of the term.&lt;/p&gt;

&lt;p&gt;If your company has tickets, CRM history or code with outcomes attached, our &lt;a href="https://origindatapartners.com/check-fit" rel="noopener noreferrer"&gt;free estimate&lt;/a&gt; asks six questions and needs no files.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Origin Data Partners is an independent data partner that helps companies get their data bought. We are independent of the companies named here, and a buyer may pay Origin when a deal closes.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>agents</category>
      <category>python</category>
    </item>
    <item>
      <title>What AI companies pay for company data: 22 public deals and 8 buyer programs</title>
      <dc:creator>Origin Data Partners</dc:creator>
      <pubDate>Sat, 07 Nov 2026 18:47:09 +0000</pubDate>
      <link>https://dev.to/origindatapartners/what-ai-companies-pay-for-company-data-22-public-deals-and-8-buyer-programs-25ld</link>
      <guid>https://dev.to/origindatapartners/what-ai-companies-pay-for-company-data-22-public-deals-and-8-buyer-programs-25ld</guid>
      <description>&lt;p&gt;AI labs used to train mostly on the public web. Now they also pay for records that only exist inside companies: Slack and email, code with its history, tickets, runbooks. If you build software, you probably sit on some of this. So what does it actually sell for?&lt;/p&gt;

&lt;p&gt;Short answer: there is no price list, but there is now a public record. The median published range across Mercor's 24 company listings is &lt;strong&gt;$50K to $843K&lt;/strong&gt;. The largest public sale of ordinary company records is a &lt;strong&gt;$10M winning bid&lt;/strong&gt; for a bankrupt airline's emails and chats, and that sale is still awaiting court approval. Below is what the deals show, what the buyer programs publish, and what drives the number.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the public deals show
&lt;/h2&gt;

&lt;p&gt;We keep a sourced &lt;a href="https://origindatapartners.com/guides/ai-data-licensing-deals" rel="noopener noreferrer"&gt;tracker of AI data licensing deals&lt;/a&gt;. A row goes in only if a named outlet reported the deal or a party disclosed it. Values are as reported, talks and pending sales are labeled, and copyright settlements are left out. The CSV is CC BY 4.0, so you can load it yourself:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;csv&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;io&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;urllib&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;collections&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Counter&lt;/span&gt;

&lt;span class="n"&gt;URL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://origindatapartners.com/downloads/ai-data-licensing-deals.csv&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;urllib&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;urlopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;URL&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;read&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;rows&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;csv&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;DictReader&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;io&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;StringIO&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Seller&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;  &lt;span class="c1"&gt;# skip the attribution line
&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rows&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;deals&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;category&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nc"&gt;Counter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Category&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;rows&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;most_common&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;  &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;category&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;22 deals
 7  News publishers
 5  Platforms, images and user content
 4  Video, driving, spatial and audio datasets
 3  Company and operational records
 3  Books and academic publishing
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The big numbers belong to publishers and platforms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;News Corp and OpenAI: more than $250M over five years.&lt;/li&gt;
&lt;li&gt;Reddit: about $60M a year from one buyer.&lt;/li&gt;
&lt;li&gt;Shutterstock: $104M of AI licensing revenue in 2023.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The three company-records rows are the ones that matter for an ordinary business:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Seller&lt;/th&gt;
&lt;th&gt;What was sold&lt;/th&gt;
&lt;th&gt;Reported value&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Spirit Airlines (bankruptcy estate)&lt;/td&gt;
&lt;td&gt;About 100 million emails, 500 million Teams chats, documents and spreadsheets; passenger profiles excluded&lt;/td&gt;
&lt;td&gt;$10M winning bid; $7.5M alternate bid&lt;/td&gt;
&lt;td&gt;Not yet approved; sale hearing moved to Nov 17, 2026 (&lt;a href="https://chapter11cases.com/blogs/news/spirit-airlines-case-update-the-data-sale-slips-to-november-as-spirit-moves-to-unwind-the-hfs-aircraft-deal" rel="noopener noreferrer"&gt;Chapter 11 Cases&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shut-down startups, through wind-down firms&lt;/td&gt;
&lt;td&gt;Slack chats and email threads, used to build simulated workplaces for AI agents&lt;/td&gt;
&lt;td&gt;Some deals reportedly reached six figures&lt;/td&gt;
&lt;td&gt;Ongoing (&lt;a href="https://www.newser.com/story/387644/failed-startups-sell-slack-chats-emails-to-train-ai.html" rel="noopener noreferrer"&gt;Forbes, via Newser&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A closed crypto startup&lt;/td&gt;
&lt;td&gt;Its code base, plus Google, Notion, Figma and Slack workspace data&lt;/td&gt;
&lt;td&gt;About $25,000 for the code&lt;/td&gt;
&lt;td&gt;Code sold; workspace data pending (&lt;a href="https://www.technologyreview.com/2026/10/13/1145755/ai-labs-buying-data-from-dead-startups-to-train-models/" rel="noopener noreferrer"&gt;MIT Technology Review&lt;/a&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;One wind-down firm reported nearly 100 such transactions in a year. Operational archives outside chat sell too. Aerometrex, an aerial survey firm, licensed existing 3D and LiDAR datasets to two AI companies for A$1.07M combined.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the buyer programs publish
&lt;/h2&gt;

&lt;p&gt;Deals are rare and mostly private. Published terms are easier to compare. On October 26, 2026 we read the public terms of 8 programs and all 24 of Mercor's company listings (&lt;a href="https://origindatapartners.com/guides/ai-company-data-buyer-programs-study" rel="noopener noreferrer"&gt;full study and CSVs&lt;/a&gt;):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Typical range.&lt;/strong&gt; The median Mercor listing publishes $50K to $843K, and only 6 of the 24 go above $1M. The highest ceilings are manufacturing and industrial ($1.5M), hardware engineering ($1.3M) and law firms ($1.2M). Software companies with private code list $50K to $500K.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Headlines versus calculators.&lt;/strong&gt; Handshake AI advertises $100K to $4M+, while the calculator on the same page shows up to $100,000. Treat any headline as the best case.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Size gates are low.&lt;/strong&gt; Several Mercor listings start at 5 staff. micro1 asks for 30+ full-time staff, and Handshake AI for 20+ full-time staff and 3+ years in operation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Payment timing&lt;/strong&gt; runs from 2 to 4 weeks after signing (Mercor) to about 60 days (micro1 and BizBuyData).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Terms move.&lt;/strong&gt; Since October 26, micro1 has raised its range to $100K to $3M+. Turing's Project Lazarus has switched from a single payment to a revenue share. For codebases, Lazarus asks for 50K+ lines of code, in English, that run in Docker.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What drives the number
&lt;/h2&gt;

&lt;p&gt;Across all 22 deals, three patterns hold. Buyers pay for data they cannot scrape. They pay more when rights are clear and documented. And they pay for structure: dated archives with categories beat raw exports.&lt;/p&gt;

&lt;p&gt;For company records specifically, five factors move the value:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Years of history.&lt;/strong&gt; Long, continuous records beat recent ones.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Linkage.&lt;/strong&gt; A ticket tied to the commit that fixed it is worth more than either alone. If your issue tracker, repo and support desk share IDs, that counts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rights.&lt;/strong&gt; Records the company owns outright are licensable, and personal information has to be removable. Client-owned files usually are not licensable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Language and market.&lt;/strong&gt; English-language records from US companies fit the most buyers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exclusivity.&lt;/strong&gt; An exclusive license should pay more than a non-exclusive one.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The catch for developers is that the most-wanted types also carry the most personal information: chat, email and call audio. For source code, the risks are ownership, open-source licenses and secrets in the commit history.&lt;/p&gt;

&lt;h2&gt;
  
  
  Before you export anything
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Don't. A first conversation with a buyer only needs a description at company level: systems, years covered, headcount and approximate volume.&lt;/li&gt;
&lt;li&gt;If the company is closing, keep admin access until you know what you hold. Slack's Free and Pro plans export public channels only.&lt;/li&gt;
&lt;li&gt;Check who can sign. In a formal insolvency, that is no longer the founders.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want a rough range for your own company's records, our &lt;a href="https://origindatapartners.com/check-fit" rel="noopener noreferrer"&gt;free estimate&lt;/a&gt; asks six questions and needs no files.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Origin Data Partners is an independent data partner that helps companies get their data bought. We are not affiliated with any buyer named here, and a buyer may pay Origin when a deal closes.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>data</category>
      <category>startup</category>
      <category>machinelearning</category>
    </item>
  </channel>
</rss>
