Groundspeed

Overview

Groundspeed turns unstructured data from common insurance documents into structured data that can be quickly and easily analyzed to power data driven decision making for insurance carriers.

At a high level, clients work with Groundspeed to configure how they will send documents to Groundspeed for processing, and receiving back the structured data from said documents once they’ve been processed.

Key Concepts

The following concepts within our platform are important to understand:

  • File: An individual file that may contain multiple documents (ex – email files that contain attachments, zip files, etc).
  • Document: An individual document is the lowest level concept of a file.
  • Account: A collection of files/documents that are intended to be processed together. Typically this is documents that pertain to the same insured party (hence it’s called an “Account”).
  • Project: The customer configuration of ingest and delivery methods.
  • Strategy: The way in which the data is presented in the extract. This is configured at the project level.
  • Extract: The artifact that is generated from the data captured within an account.
  • Manifest File: A manifest file which contains supplementary information regarding the source files may be included in the zip file.

Account

Accounts within Groundspeed are intended to represent a collection of files that represent the detail of a single insured party.

Extract

An extract is a zip file that typically contains two or more files.One is the extracted structured data, and the other is the error report which contains any errors encountered processing the data, or documents that were considered out of scope within the account.


Manifest File

A manifest file is an optional file that is included with a submission that is used to describe the documents contained within the submission, and override or supplement the data extracted from the submission with data from the manifest.

Naming Convention

A manifest file which contains supplementary information regarding the source files may be included in the zip file. The manifest file must be a csv file in the root directory of the zip file and be named as follows:

manifest__{customer_supplied_name}.csv


  • The file needs to start with the word manifest followed by twounderscores “__”
  • Each manifest file can have multiple “file_name” values.
  • But each “file_name” can only have one row of input for each column.
  • Column headers must be provided for all manifest information included in the manifest file that the client would like to include in the extract.
Naming Convention

Each row of the manifest file will be matched to a source file in the zip. The manifest file should have the following information:

FieldDescriptionRequired
file_nameThe name of the source fileYes
doc_idClient specified doc id for each source fileOptional
customer_account_idClient specified account id for each source fileOptional
customer_account_nameThe name of the account assigned by the customerOptional
project_idSource file listed under project nameOptional
submission_effective_dateDate used to allocate claims to the correct policy year. If loss date is before submission_effective_date then the claim is assigned to the previous policy year, if after, then policy year is set to loss date year. Must be in the format “MM/DD”Optional
fill_effective_dateWhen an effective date is not present, use this date to fill in the effective date. Must be in the format “MM/DD/YYYY”.Optional
fill_valuation_dateWhen a valuation date is not present, use this date to fill in the valuation date. Must be in the format “MM/DD/YYYY”Optional
fill_line_of_businessWhen an LOB is not present, use this value to fill in the LOB.Optional
fill_insurance_carrierWhen a carrier is not present, use this value to fill in the carrier.Optional
fill_policy_numberWhen a policy is not present, use this value to fill in the policy number.Optional

Sending and Receiving
Files from Groundspeed

Groundspeed supports receiving accounts via three different methods: Email, SFTP, and API.

Document Ingestion

Groundspeed systems can ingest documents in one of three ways. Each of which is described in detail below. Documents can be sent in a zip file container. The list of support file types that can be contained within a zip file are listed below:

.jpg, .bmp, .gif, .pdf, .tif, .tiff, .doc, .docx, .xlsx, .xls, .csv, .xlsb, .xlsm, .xps, .oxps, .eml, .msg, .zip.

Files fail to ingest to Groundspeed system? Please see FAQ section

API

This is the entrypoint for all document processing requests into the Groundspeed pipeline.


Request Parameters

The /process API is a web API that allows posting processing requests to our platform. A response code will be returned indicating the status of the request. The request is sent as a multipart form POST request with the following parameters:

Attributes

customerCode string

This optional value will be associated with your request, and will be delivered back to you with the data. It can be used to map the request to an external id in your database. If no customerCode is given, the zip file’s name will be your customerCode.

file file

The file you are sending to process. The file must have one of the supported file extensions at the end of the file name.

x-api-key string

The API key will be a 40 character, unique passkey that will be used to authenticate your request with your accountId and projectId. It will be generated, and securely provided to you by Groundspeed.

content-type string

This must be set to use the multipart/form-data encoding standard.

Example Request

curl -X POST \
https://intake.groundspeed.com/api/v1/process \
-H 'cache-control: no-cache' \
-H 'content-type: multipart/form-data; boundary=----FormBoundary' \
-H 'x-api-key: $API_KEY' \
-F file=@/path/to/testfile.zip \

SFTP

Groundspeed allows document ingestion via SFTP. Clients need to share an SSH key with Groundspeed which can be registered within our server to allow access for clients to drop account zip files.


Email

Clients that wish to send documents to Groundspeed can do so via our rapid fusion email pipeline. Users are issued a dedicated email address (XXX@groundspeedrapidfusion.com) which they can send accounts to as email attachments. In some cases, documents may already be in email form, and the underwriter can just forward the email to Groundspeed.

Setup

In order for a customer to send documents via email to Groundspeed, we will need the following information as to configure our intake and delivery system:

  1. The domain you wish to send from, so that we can have it whitelisted.
    • For example, if your email is abc@lala.com, your domain would be lala.com
  2. We will then provide the email address to use to send us your documents.
    • Only include the email address provided by Groundspeed in the “To” selection while sending emails to Groundspeed.
    • Please note that if an email is sent to the improper address, it will be rejected and will not be ingested by our system.
Security
  1. Groundspeed’s email intake solution only allows emails that are sent over a Transport Layer Security (TLS) encrypted connection.
  2. All the emails delivered by Groundspeed’s email delivery solution will be sent over a connection with Transport Layer Security (TLS) encryption
Sending an email
  1. Email Body
    • All text in the body is converted to a pdf and treated as a file that will go through our ingestion process. Feel free to put anything that is appropriate for an email (note that images will not be lost in conversion and ingestion).
  2. Attachments. Any attached files will be ingested alongside the email that is sent.
    • Attachments have a 30mb limit.
    • The list of supported file types are: .jpg, .bmp, .gif, .pdf, .tif, .tiff, .doc, .docx, .xlsx, .xls, .csv, .xlsb, .xlsm, .xps, .oxps, .eml, .msg, .zip.
    • Attachments that are not supported will not be ingested.
  3. Directions for Sending an Account
    • Zip all the files for a given account.
    • Attach that zip file to the email.
    • Send one account per email.

1 The address being sent to

2 Key-value pairs in email subject

3 Email body that will be converted into an ingestible file

4 Attachments to be added and extracted

Data Delivery

API – JSON

Groundspeed returns data back to the user’s registered callback URL. Users must share the callback URL and the appropriate authorization details to ensure that the data can be returned successfully. Users also have the ability to overwrite the registered default callback URL as part of the request.


Response Payload

This delivery method requires the client to develop or deploy a HTTP service capable of receiving a POST method with an application/json payload.

Attributes

accountId string

This value will be associated with your request, and will be delivered back to you with the data. It can be used to map the request to an external id in your database.

projectId string

This is the project id provided to you by Groundspeed. A project represents a unique set of rules used to process your data. Your account can have more than one project. If your account only has one project, you do not need to supply this value.

output array

Information about the documents attached included in the API response payload.

output object

An instance of an output, typically only one is returned per callback request.

name string

The name of the extract file included in the response.

processDate string

The date that the extract was created

errors array

Error codes correspond to a particular error that occurs on ingest of the zip file or during the processing of documents.

_id string

The file id of the original file ingested to Groundspeed system.

subFileId string

The file id of the file split from original file ingested to Groundspeed system. Normally for large file and excel

fileName string

The file name of the file. If the file is split, then this is split file name.

subFileName string

The file name of the file split from original file ingested to Groundspeed system. Normally for large file and excel

docType string

The documentation type of the file.

flagReason string

The reason why the file is not processed. Normally duplicate, no_data, out_of_scope, poor_quality, can_not_open

flagCode string

The code corresponding to flag reason, 300(duplicate), 301(no_data), 302(out_of_scope), 303(poor_quality), 304(can_not_open),

fileIdDuplicateOf string

The file ID of the file duplicate of.

fileNameDuplicateOf string

The file name of the file duplicate of.

results object

The enhanced data that Groundspeed has generated from our Rapid Fusion pipeline. See Data Reference for different result objects.

content-type string

This must be set to use the application/json encoding standard.

Example Response

{
  "accountId": "client_account_ref_123",
  "projectId": "client_project_ref_123",
  "output": [
    {
      "name": "test_extract.json",
      "processDate": "2022-06-15T19:51:40+00:00",
      "errors": [],
      "results": []
    }
  ]
}

API – ZIP

A delivery callback mechanism for uploading a result is also available. This requires deploying a HTTP service capable of receiving a POST method with a multipart/form payload including the payload of a zip file.


Response Payload

A delivery callback mechanism for uploading a result is also available.
This requires deploying a HTTP service capable of receiving a POST method with a multipart/form payload including the payload of a zip file.

Attributes

accountId string

This value will be associated with your request, and will be delivered back to you with the data. It can be used to map the request to an external id in your database.

projectId string

This is the project id provided to you by Groundspeed. A project represents a unique set of rules used to process your data. Your account can have more than one project. If your account only has one project, you do not need to supply this value.

filename string

This is the zip file name provided to you by Groundspeed. Inside the zip, it contains a JSON file of extract with data(corresponding to the results section in API JSON) or/and a JSON file of error message(corresponding to the errors section in API JSON)

content-type string

This must be set to use the multipart/form-data encoding standard.

Example Response

curl -X POST -H 'Accept: */*' -H 'Accept-Encoding: gzip, deflate' \
-H 'Connection: keep-alive' -H 'Content-Length: 385' \
-H 'Content-Type: multipart/form-data; boundary=9610effdb6e2da9d69bc6b5649353ed2' \
-H 'User-Agent: python-requests/2.21.0' -H 'x-api-key: test' \
-d '--9610effdb6e2da9d69bc6b5649353ed2
Content-Disposition: form-data; name="accountId"
1
--9610effdb6e2da9d69bc6b5649353ed2
Content-Disposition: form-data; name="projectId"
1
--9610effdb6e2da9d69bc6b5649353ed2
Content-Disposition: form-data; name="file"; filename="example.zip"
Content-Type: application/zip
Binary contents goes here               
--9610effdb6e2da9d69bc6b5649353ed2--
' http://localhost:47303/upload

SFTP

Groundspeed also supports SFTP as a mechanism for delivering processed data.

SFTP Method

The most common way that clients consume data from Groundspeed is via SFTP pull, where Groundspeed hosts the SFTP server, and clients pull files from a delivery folder on said server.

Attributes

SSH Key

For this use case, the client must provide the public key from an SSH key pair that they generate so that Groundspeed can grant access to the server securely.

Clients also have the option to host an SFTP server of their own that Groundspeed can push data to when it’s ready. In this case, Groundspeed needs all of the information needed to access the server, and Groundspeed would share it’s public key to grant it’s systems access to the client’s SFTP server.

Attributes

Client SFTP Server

This value will be associated with your request, and will be delivered back to you with the data. It can be used to map the request to an external id in your database.

Example

[
    {
        "_id": "_id1",
        "subFileId": null,
        "fileName": "file1.xlsx",
        "subFileName": null,
        "docType": "lossrun",
        "flagReason": "no_data",
        "flagCode": "301",
        "fileIdDuplicateOf": null,
        "fileNameDuplicateOf": null
    },
    {
        "_id": "_id2",
        "subFileId": null,
        "fileName": "file2.xlsx",
        "subFileName": null,
        "docType": "exposuredoc",
        "flagReason": "out_of_scope",
        "flagCode": "302",
        "fileIdDuplicateOf": null,
        "fileNameDuplicateOf": null
    },
    {
        "_id": "_id3",
        "subFileId": null,
        "fileName": "file3.pdf",
        "subFileName": null,
        "docType": "lossrun",
        "flagReason": "poor_quality",
        "flagCode": "303",
        "fileIdDuplicateOf": null,
        "fileNameDuplicateOf": null
    }
]
[
    {
      "coverSheet": {},
      "loss_summary": [
        {
          "Account Name": "Acme_Inc_123435",
          "Line of Business": "WORKERS COMPENSATION",
          "Subcoverage": null,
          "Policy Year": "2018",
          "Carrier": "BERKSHIRE HATHAWAY GRP",
          "Total Number of Claims": 31,
          "Loss Paid": 0,
          "Loss Reserve": 0,
          "Total Loss (excl. Exp)": 0,
          "Expense Paid": 0,
          "Expense Reserve": 0,
          "Total Expense": 0,
          "Total Paid": 0,
          "Total Reserves": 0,
          "Total Losses": 0
        }
      ],
      "loss_detail": [
        {
          "Line of Business Raw": null,
          "Line of Business": "General Liability",
          "is Line of Business Predicted": true,
          "Line Type": "General Liability",
          "is Line Type Predicted": true,
          "Subcoverage": "premises",
          "Policy Year": 2020,
          "Effective Date": "02/16/2020",
          "Expiration Date": "02/16/2021",
          "Carrier": "BERKSHIRE HATHAWAY GRP",
          "Insured Name": "ACME INC",
          "Policy Number": "WC20208105600",
          "Valuation Date": "02/09/2022",
          "Claim Number": "NL002XXXX",
          "Date of Loss": "07/14/2020",
          "Date Reported": null,
          "Status": "closed",
          "Close Date": null,
          "Claimant Name": "Jane Doe",
          "Loss Type": null,
          "Nature of Injury": null,
          "At Fault": null,
          "Loss State": null,
          "Loss Location": null,
          "Loss Description": "Moving material with crane. Another party rigged up the crane and it came loose striking claimant's finger.",
          "Body Part": "FINGER(S)",
          "Gross Loss Paid": 4282.94,
          "Gross Loss Reserves": 0,
          "Gross Loss Incurred": 4282.94,
          "Indemnity Paid": 2118.29,
          "Indemnity Reserves": 0,
          "Indemnity Incurred": 2118.29,
          "Medical Paid": 2164.65,
          "Medical Reserves": 0,
          "Medical Incurred": 2164.65,
          "Expense Paid": 0,
          "Expense Reserves": 0,
          "Expense Incurred": 0,
          "Total Paid": 4282.94,
          "Total Reserves": 0,
          "Gross Total Incurred": 4282.94,
          "Deductible": null,
          "Subrogation": null,
          "Salvage": null,
          "Recoveries": null,
          "Net Total Incurred": null,
          "is Summary Record": false,
          "Summary Claim Count": null,
          "GS Occurrence ID": "0eef52ee-2d6c-31d2-b749-686ed26ff8d2",
          "Filename": "qiuogtjssl028uq754jteddhvke5urbsbenjq0o1.eml",
          "FileID": "JyAmfjKF5oYB4rkLW",
          "RecordID": "0eef52ee-2d6c-31d2-b749-686ed26ff8d2"
        }
      ],
      "large_losses": [
        {
          "Line of Business": "WORKERS COMPENSATION",
          "Policy Year": "2018",
          "Effective Date": "01/01/2018",
          "Carrier": "BERKSHIRE HATHAWAY GRP",
          "Policy Number": "WC20208105600",
          "Valuation Date": "02/09/2018",
          "Date of Loss": "01/21/2018",
          "Claim Number": "NL002XXXX",
          "Status": "closed",
          "Claimant Name": "Jack Sparrow",
          "Loss Description": "Lost leg during a boating accident",
          "Loss Type": null,
          "At Fault": false,
          "Loss State": "CA",
          "Loss Location": "San Francisco Bay",
          "Total Paid": 25718.81,
          "Total Reserves": 32000,
          "Gross Total Incurred": 25718.81,
          "Recoveries": 0,
          "Net Total Incurred": 25718.81,
          "Loss Threshold": 10000,
          "FileID": "JyAmfjKF5oYB4rkLW",
          "Filename": "qiuogtjssl028uq754jteddhvke5urbsbenjq0o1.eml",
          "RecordID": "0eef52ee-2d6c-31d2-b749-686ed26123591",
          "GS Occurrence ID": "",
          "Claim Count with Zero Dollar": 0,
          "Claim Count": 1
        }
      ],
      "exposureProperty": [
        {
          "File Name": "Acme_Exposures.csv",
          "Record ID": "62e84315-07ab-32fb-a8dc-4122c320asd1210d",
          "File ID": "yMR6plWwj5B9hzbUZ",
          "Named Insured": null,
          "Business Entity": null,
          "Currency": "USD",
          "Description of Operations": "Shipping",
          "Description": null,
          "Location Name": "Location A",
          "Location Number": "01",
          "Building Number": "02",
          "Location Address": "123 Main Street",
          "Location City": "Springfield",
          "Location County": null,
          "Location State": "MO",
          "Location Zip Code": "65619",
          "Location Country": "US",
          "Latitude": "42.718",
          "Longitude": "-83.7651",
          "Valuation Date": "03/01/2018",
          "Policy Year": "2019",
          "Effective Date": "01/01/2019",
          "Expiration Date": "01/01/2020",
          "Date Added": "07/01/2017",
          "Delete Date": "08/13/2019",
          "Building Value": 34500000,
          "Contents Value": 2200000,
          "Other Value": 15000,
          "BI Value": 100000,
          "Total Insured Value": 16890240,
          "Occupancy": "Warehousing",
          "Construction": "frame",
          "Year Built": 1987,
          "Year Upgraded": 2011,
          "Area": 42000,
          "Number of Stories": 8,
          "Number of Buildings": 3,
          "Number of Floors Occupied": 4,
          "Wind Zone": "Springfield",
          "Earthquake Zone": "Springfield",
          "Flood Zone": "Springfield",
          "Construction Quality": "Earthquake",
          "Construction Quality Convective Storm": "Medium",
          "Roof Covering": "Copper",
          "Roof Covering Convective Storm": "Plywood",
          "Roof Age": 23,
          "Roof Age Convective Storm": "19",
          "Roof Geometry": "Gambrel",
          "Roof Geometry Convective Storm": "Hip",
          "Roof Anchor": "Hurricane Ties",
          "Roof Anchor Convective Storm": "Adhesive Epoxy",
          "Roof Equipment": "No equipment",
          "Roof Equipment Convective Storm": "Vulnerable",
          "Basement": "None",
          "Basement Convective Storm": "Unfinished",
          "Other Structures": "Other fences",
          "Other Structures Convective Storm": "Shed",
          "Cladding": "Tile",
          "Cladding Convective Storm": "Clapboards",
          "Cladding Earthquake": "Stucco",
          "Frame Connection": "Gravity / Friction",
          "Frame Connection Convective Storm": "Structurally Connected",
          "Ground Level Equipment": "Vulnerable",
          "Ground Level Equipment Convective Storm": "Resilient",
          "Opening Protection": "None",
          "Opening Protection Convective Storm": "Engineered shutters",
          "Flashing and Coping": "Vulnerable",
          "Flashing and Coping Convective Storm": "Resilient",
          "Base Isolation": "Visco-elastic dampers",
          "Equipment Support Maintenance": "Unknown / default",
          "Engineered Foundation": "Crawl space masonry",
          "Frame Bolt": "Anchor Bolts",
          "Masonry Chimney": "Yes, height <= 2 ft",
          "Masonry Partitions": "Gypsum boards",
          "Equipment Bracing": "Unbraced",
          "Ornamentation": "None",
          "Vertical Irregularity": "Vertical Offset",
          "Pounding": "0-0.25 m",
          "Plan Irregularity": "Non-uniform Floor Area",
          "Short Column": "No",
          "Soft Story": "Yes",
          "Structural Upgrade": "Unknown",
          "Purlin Anchoring": "No",
          "URMRetrofit": "General",
          "Cripple Walls": "No",
          "Sprinkler": "No sprinkler",
          "Wind Missiles": "Unknown",
          "Mechanical Electrical Equipment": "Generally unbraced 3",
          "BI Preparedness": "Resilient",
          "BI Redundancy": "Vulnerable",
          "Redundancy": "Litter or No redundancy",
          "Tree Density": "Low tree risk",
          "Construction Code": "110",
          "Sprinkler Leakage Susceptibility": "Low 1",
          "Door Resistance": "Not Designed for Wind Protection 3",
          "Roof Maintenance": "Resilient",
          "Parapets Chimneys": "No Parapets 2",
          "Time Element Period": "365",
          "Unique Market Reference": "B1526ENSAM1800207"
        }
      ],
      "exposureAuto": [
        {
          "File Name": "Acme_Exposures.csv",
          "Record ID": "62e84315-07ab-32fb-a8dc-4122c320asd1210d",
          "File ID": "yMR6plWwj5B9hzbUZ",
          "Named Insured": "ABC Corp.",
          "Business Entity": "NA Operation",
          "Currency": "USD",
          "Location Name": "Warehouse BB",
          "Location Street Address": "987 Oak Lane",
          "Location City": "Springfield",
          "Location County": "Hampden",
          "Location State": "MA",
          "Location Zip Code": "01104",
          "Location Country": "USA",
          "Valuation Date": "03/01/2020",
          "Policy Year": "2019",
          "Effective Date": "01/01/19",
          "Expiration Date": "01/01/20",
          "VIN": "8401928391820AAC",
          "Vehicle Body": "Truck",
          "Vehicle Make": "Ford",
          "Vehicle Model": "F-150",
          "Vehicle Year": "2015",
          "Gross Vehicle Weight Rating": "9800",
          "Class Code": "7398",
          "Normalized Vehicle Type": "Small Truck",
          "Vehicle Value": "30000",
          "Vehicle Registered State": "MI",
          "Vehicle Radius": "51-200",
          "Miles Driven": "1340",
          "Private Passenger": 3,
          "Vehicles Count": 4,
          "Light Vehicle Count": 66,
          "Medium Vehicles Count": 43,
          "Heavy Vehicles Count": 24,
          "Extra Heavy Vehicles Count": 11,
          "Total Vehicles Count": 142,
          "Trailers Count": 23,
          "Date Added": "07/01/2017",
          "Date Deleted": "08/13/2019"
        }
      ],
      "exposurePayroll": [
        {
          "File Name": "Acme_Exposures.csv",
          "Record ID": "62e84315-07ab-32fb-a8dc-4122c320asd1210d",
          "File ID": "yMR6plWwj5B9hzbUZ",
          "Named Insured": "ABC Corp.",
          "Business Entity": "NA Operation",
          "Division": "NA - Warehousing",
          "Currency": "USD",
          "Description of Operations": "Shipping and Storage",
          "Description": "Equipment Storage",
          "Location Name": "Warehouse BB",
          "Location Street Address": "987 Oak Lane",
          "Location City": "Springfield",
          "Location County": "Hampden",
          "Location State": "MA",
          "Location Country": "USA",
          "Valuation Date": "03/01/2020",
          "Policy Year": "2019",
          "Effective Date": "01/01/2019",
          "Expiration Date": "01/01/2020",
          "Industry Class": "Legal Services",
          "Class Code": "8810",
          "Class Code Description": "Clerical Office Employees NOC",
          "Employee Type": "Full-time",
          "Full-Time Employee Count": 41,
          "Part-Time Employee Count": 45,
          "Temp Employee Count": 22,
          "Seasonal Employee Count": 0,
          "Total Employee Count": 88,
          "Experience Modifier": 0.87,
          "Payroll": 23000000,
          "Rate": 2.07,
          "Rate Type": "Prem/Ops",
          "Premium Basis Raw": "Sales per 1000",
          "Premium Basis Calculated": "S",
          "Rated Premium": 820000
        }
      ],
      "exposureRevenue": [
        {
          "File Name": "Acme_Exposures.csv",
          "Record ID": "62e84315-07ab-32fb-a8dc-4122c320asd1210d",
          "File ID": "yMR6plWwj5B9hzbUZ",
          "Named Insured": "ABC Corp.",
          "Business Entity": "NA Operation",
          "Division": "NA - Warehousing",
          "Currency": "USD",
          "Description of Operations": "Shipping and Storage",
          "Description": "Equipment Storage",
          "Location Name": "Warehouse BB",
          "Location Street Address": "987 Oak Lane",
          "Location City": "Springfield",
          "Location County": "Hampden",
          "Location State": "MA",
          "Location Country": "USA",
          "Valuation Date": "03/01/2020",
          "Policy Year": "2019",
          "Effective Date": "01/01/2019",
          "Expiration Date": "01/01/2020",
          "Occupancy": "Commercial, wholesale trade",
          "Audited Revenue": 120400000,
          "Estimated Revenue": 6540050,
          "Gross Revenue": 5200000,
          "Net Revenue": 4010000,
          "Cost of Goods Sold": 1022000,
          "Exposure Value": 500000,
          "Rate": 2.07,
          "Rate Type": "Prems/Ops",
          "Premium Basis Raw": "Sales per 1000",
          "Premium Basis Calculated": "S",
          "Rated Premium": 820000
        }
      ],
      "exposureEquipment": [
        {
          "File Name": "Acme_Exposures.csv",
          "Record ID": "62e84315-07ab-32fb-a8dc-4122c320asd1210d",
          "File ID": "yMR6plWwj5B9hzbUZ",
          "Named Insured": "ABC Corp.",
          "Business Entity": "NA Operation",
          "Division": "NA - Warehousing",
          "Currency": "USD",
          "Description of Operations": "Shipping and Storage",
          "Description": "Fontaine Trailer",
          "Location Name": "Warehouse BB",
          "Location Street Address": "987 Oak Lane",
          "Location City": "Springfield",
          "Location County": "Hampden",
          "Location State": "MA",
          "Location Country": "USA",
          "Valuation Date": "03/01/2020",
          "Policy Year": "2019",
          "Vehicle Number": "5",
          "VIN": "8401928391820AAC",
          "Serial Number": "125292871",
          "Vehicle Make": "Ford",
          "Vehicle Model": "F-150",
          "Vehicle Year": 2015,
          "Normalized Vehicle Type": "trailer",
          "Current Value": 6000,
          "Purchase Price": 12000,
          "Replacement Cost": 12500,
          "Garage Location": "872 Carlsbad Dr",
          "Garage City": "Springfield",
          "Garage State": "MA",
          "Vehicle License Plate State": "MA",
          "License Plate Number": "13B-33E",
          "Date Purchased": "04/21/2016",
          "Operational Radius": "5-50",
          "Ownership": "Fully owned",
          "Connectors": "350 gray",
          "attachmentTypeRaw": "Keg fork",
          "Fuel Type": "none",
          "Vehicle Weight": "2100",
          "Vehicle Weight With Battery": "2150",
          "Use Hours": 315,
          "Capacity": 12500,
          "Vehicle Status": "added"
        }
      ],
      "exposureDrivers": [
        {
          "ACTION CODE": "MVR",
          "ACCOUNT": "3019288",
          "BILL CODE": "000",
          "STATE": "TX",
          "DL NUMBER": "T-12983018",
          "DATE OF BIRTH": "05/09/1979",
          "LAST NAME": "jefferson",
          "SUFFIX": null,
          "FIRST NAME": "samuel",
          "MIDDLE NAME": "eugene",
          "GENDER": "male",
          "RESERVED": null,
          "REQUEST TYPE": null,
          "COMMENT": null,
          "FILL OPTION": null,
          "GROUP NAME": "CDL-B",
          "MEDICAL CERTIFICATION EXPIRATION": "02/01/2014",
          "HIRE DATE": "07/11/2011",
          "HEIGHT": "68",
          "WEIGHT": "171",
          "Record ID": "62e84315-07ab-32fb-a8dc-4122c320asd1210d",
          "File ID": "yMR6plWwj5B9hzbUZ"
        }
      ],
      "exposureAircraft": [],
      "exposureWatercraft": [],
      "setup": {
        "requestId": "client_account_ref_123",
        "submissionMetaData": {
          "emailSubject": "Fwd: Acme Inc. 2021 renewal",
          "emailSender": "acme.insurance@example.com",
          "emailDate": "10/05/2021, 15:29:17",
          "submissionAttachments": {
            "attachmentsCount": 4,
            "attachments": [
              {
                "fileName": "acme_acord_125_127.pdf",
                "fileExtension": "pdf",
                "docType": "acord"
              },
              {
                "fileName": "acme_claims.pdf",
                "fileExtension": "pdf",
                "docType": "lossrun"
              },
              {
                "fileName": "acme_policy_doc.pdf",
                "fileExtension": "pdf",
                "docType": "policyform"
              },
              {
                "fileName": "acme_sov.xlsx",
                "fileExtension": "xlsx",
                "docType": "sov"
              }
            ]
          }
        },
        "submissionData": {
          "insuredName": "Acme Inc.",
          "dateSubmitted": "09/23/2021",
          "effectiveDate": "11/30/2021",
          "expirationDate": "11/30/2022",
          "agencyName": "Insurance Inc.",
          "agencyAddress1": "123 Main Street",
          "agencyAddress2": "Suite 100",
          "agencyCity": "New York",
          "agencyState": "NY",
          "agencyPostalCode": "10001",
          "insuredAddress1": "500 Wall Street",
          "insuredAddress2": null,
          "insuredCity": "New York",
          "insuredState": "NY",
          "insuredPostalCode": "10010",
          "agencyContactEmail": "jsmith@insuranceinc.com",
          "underwriterName": "Jane Doe",
          "underwriterEmail": "jdoe@insuranceinc.com",
          "coverageTypes": [
            "Property",
            "Workers Compensation"
          ],
          "needByDate": "11/25/2021",
          "fein": "19-02931241",
          "naics": "441",
          "dunsNumber": "123456789",
          "policyTermMonths": 12,
          "segment": "A1",
          "yearOfAccount": "2022",
          "brokerPortal": "http://xyzinsuranceservices.com"
        }
      }
    }
  ]

Email

Most commonly used in conjunction with email ingest, clients can register a list of email addresses that should receive the processed data from Groundspeed.

Frequently Asked Questions


How does line of business and linetype prediction work?

The Line of Business (LOB) and Linetype Fields

For claims, Groundspeed populates two related fields in the loss detail output to describe the relevant class of insurance business and coverage: line of business and linetype.

Line of business describes the class of insurance business the claim pertains to, and can include umbrella, package, or excess lines.

Linetype describes the underlying coverage type relevant to the claim, and does not include umbrella, package, or excess classifications.

In practice, these fields will always be the same unless the LOB is umbrella, package, or excess. In which case, the linetype will specify the underlying coverage type relevant to the claim.

How Groundspeed determines LOB and Linetype

The Groundspeed pipeline uses capture values, heuristics, and machine learning models to identify the line of business and linetype for a given claim in the following order:

  1. Utilizing the Coverage Type captured from original Loss Run document:
    1. If a coverage type value is present in the document we will capture it and normalize the data. Example: For the following input values: GL, CGL, General Liability, the output will show General Liability.
    2. If a value is captured but cannot be normalized, it will display in the “Line of Business Raw” field, but #2 or #3 below will be used for the “Line of Business” and “Linetype” Fields.
      1. For example “Liability,” which is too vague to be assigned a normalized value.
  2. Predict using one of a set of heuristics:
    1. Policy/Claim Number: if policy or claim number prefix is “WC” or “GL,” then the LOB/Linetype will be set accordingly.
    2. Monoline WC carrier: if carrier tied to claim is recognized as a WC-only carrier, lob and linetype will be set to WC for that claim. Groundspeed maintains a list of carriers in this space and frequently updates that list.
    3. Losstype: if products completed, premises, or prem/ops captured as a claims losstype, a lob/linetype of “General Liability” will be inferred.
  3. Predict using Groundspeed AI:
    1. When there is no explicit coverage type in the original document and no heuristic applies, Groundspeed uses a series of models to predict LOB and Linetype values.
    2. These models leverage the entire captured claim record to assign a lob/linetype and are trained using our vast contributory dataset.
    3. If a predicted value is low confidence, the models will abstain from making a prediction, leaving the lob/line type as unknown.
      1. For example, we often see claims with no claim description or phrases like “N/A”.
    4. Given that our contributory dataset reflects the real world with a mix of various lines, some lines are better represented in the data than others. Those lines with higher volumes provide more consistent and high confidence predictions, while those lower volumes tend to result in lower confidence scores.

How does Groundspeed detect duplicate loss run claims?

Overview

The Groundspeed claim detail duplication detection logic works to identify individual claim records that are duplicates.

Rules

All fields must match in the record to detect a duplicate:

  • Account ID – the account to which the claim belongs
  • Line of Business – the line of business of the claim
  • Carrier – the carrier responsible for the claim
  • Claim Number – the cleaned claim number
  • Policy Year – the policy year of the claim
  • Date of Loss – the date on which the claim occurred
  • Valuation Date – the date on which the claim financials were updated
  • Claimant Name – the name of the claimant
  • Claimant Number – the number of the claimant
  • Loss Type – the classification of the claim within the LOB
  • Medical Incurred – the incurred medical financials for a claim
  • BI Incurred – the incurred bodily injury financials for a claim
  • PD Incurred – the incurred property damage financials for a claim
  • Expense Incurred – the total incurred expense financials for a claim
  • Indemnity Incurred – the incurred indemnity financials for a claim
  • Indemnity Reserves – the indemnity reserve financials for a claim
  • Indemnity Paid – the indemnity paid financials for a claim
  • Gross Total Incurred – the total incurred financials for a claim
  • Total Reserves – the total reserves financials for a claim
  • Total Paid – the total paid financials for a claim

How does Groundspeed detect duplicate loss run summary records?

Overview

The Groundspeed claim summary duplication detection logic works to identify claim summary records that are duplicates.

Rules

  • All fields must match in the record to detect a duplicate summary record:
    • Line of Business – the line of business of the claim
    • Carrier – the carrier responsible for the claim
    • Policy Year – the policy year of the claim
    • Summary Claim Count – the number of claims listed for the summary record
    • Policy Number – if policy number is present, policy number is included in the mandatory fields. If policy number is not present it is not included in the mandatory fields
  • At least 1 of these fields must match to detect a duplicate summary record:
    • Total Paid
    • netTotal Paid
    • netGross Total Incurred
    • Gross Total Incurred

How does Groundspeed identify loss run claim occurrences?

Overview

The Groundspeed claim occurrence identification logic aims to identify a singular occurrence from which claims originated.

Examples include an auto accident, a hail storm, or an explosion at a factory which resulted in multiple claims.

Rules

  • All fields must match in the record to identify an occurrence:
    • Account ID – the account to which the claim belongs
    • Line of Business – the normalized line of business of the claim
    • Carrier – the carrier responsible for the claim
    • Policy Number – the cleaned policy number of the claim
    • Policy Year – the policy year of the claim
    • Loss State – the loss state in which the claim occurred
    • Date of Loss – the date on which the claim occurred
  • At least 1 of these fields must match in the record to identify an occurrence:
    • Claim ID – identifier of the claim
    • Occurrence ID – identifier of the occurrence
    • Driver Name – the name of the driver
    • Claimant Name – the name of the claimant
    • Loss Description – the description of the loss
    • Claim Number – the cleaned claim number

What insurance documents does Groundspeed support?

Product TypeSupport Document Type
Setup and Clearance/SubmissionEmail
ACORD Forms
Loss RunsPDF Loss report
Excel/CSV loss report
ExposuresStatements of Value
Schedule of Hazards
Driver List
Vehicle Schedule
Payroll Schedule
Location Schedule
Revenue Schedule
Aircraft Schedule
NCCI Emod
CA WCRIB Emod
ACORD Forms
EmodNCCI Emod
CA WCRIB Emod

Supported Acord Forms

Note: All versions and variants of each form will be supported. This includes state-specific variants, old form versions, and ACORD forms generated from an agency management system. For example: “Applied 130API,” “INS 127,” and “137 TX.”

Form NumberNotes
25
27
45
101
125Including: “ANI” and “CIS” supplements
126
127
129
130Including: “ANI” supplement
131
132
137Including: State-specific variants, ex. “137 FL”
139Including: CISGEM C540 SOV supplement
140
141
143
146
147
148
152
160Including: “ANI” supplement
163
211
401
402
404
810
823
829
98
Acord Additional Info (2004/08)
APPLIED 125/130/160 ANI (2008/01)
APPLIED 125CIS (2009/08)
APPLIED 126GL (2006/10)
APPLIED 127COV (2006/10)
APPLIED 133RIS WI (2005/009)
APPLIED 98 (2001/01)
CISGEM 108
CISGEM 125.4 (3/93)
CISGEM 127.3 (8/94)
CISGEM 127.4 (8/94)
CISGEM C108 (8/88)
CISGEM C115 (8/88)
CISGEM C540
OFADTLCV
OFEQSCHED
OFSCHEQP
OFILSCI
OFPTOFRL
OFCLADCOVAdditional Endorsement/Supplement
OFGARVEHAdditional Endorsement/Supplement
OFSOICOVAdditional Endorsement/Supplement
OFAPPINFAdditional Endorsement/Supplement
OFREMARKAdditional Endorsement/Supplement
OFSCHHAZ
OFCONINFAdditional Endorsement/Supplement
OFAPPINFCNIAdditional Endorsement/Supplement
OFBAADCVAdditional Endorsement/Supplement
OFSUPPNAMESupplemental names of other named insureds
APDWCLOCApplied WC form associated with the ACORD 130
OFWCRATEAMS WC form associated with the ACORD 130
OFWCPTOFRL
Premises Info Overflow
VERTAFORE C104

What documents doesn’t Groundspeed support?

Out-Of-Scope TypeDescriptionExamples
Unsupported DocumentFile extensions or file types that are not machine-readable, OR are not relevant to commercial insurance.
These documents will likely never be on our product roadmap
PPTX
TXT
Signature Block Images
Audio, Video files
Executables, scripts
Password protected
Low Image Quality
No data – empty files
Incorrect MIME/Content type
Files with handwriting
Files that do not pass virus scanning checks
Company Brochure
White Paper
Marketing Materials
Any Personal Lines Submission

Why do some files fail to ingest?

Error CodeErrorDescription
100unsupported_file_typeThe archive file type sent to our intake process was not on the list of supported file types
101failed_virus_scanThe file, or the file container sent failed the virus scan step, and was quarantined
102bad_zip_fileThe file extension was a zip, however the file itself could not be opened
106unsupported_document_typeNo files within the zip are supported

What ACORD forms doesn’t Groundspeed support?

This list only covers commercial lines ACORD forms that we consider out-of-scope. All personal lines ACORD forms are out-of-scope at the moment.

  • Form ID: 143, 88, 89, 145, 138 TX, 128, 125PCIS, 125LHS, 127COV, 130PCS, 131CCCS, 133, 133FL, 133TN, 144, 155BM, 188, 194, 25, 39NY, 60US, 61FL, 62FL, 63, 75, 815, 829, 829CLAP, 829LOB, 832.

I sent a ZIP file and then later sent another, but they’re not coming back under the same account?

  • An account is created for each individual ZIP file. If 2 ZIP files were sent, they would each get their own unique accountId and be returned as separate outputs.

How is data populated in extracts for fields that can be drawn from multiple documents?

Groundspeed uses doctype precedence to determine which document a field is pulled from. If that field is not present in any of the doctypes listed then that field will appear blank on the extract.

Example: “insuredName” in the submissionData section of standard submission extracts.

insuredName has a doctype preference order of slip, email, acord, policyform, brokerspec, exposuredoc, sov, application, and locationschedule.

Scenario: An insured name of “Acme Corp Inc.” is found on a slip doctype and an insured name of “Acme Corp” is found on a brokerspec in the same submission. Because the slip doctype precedes the brokerspec in the doctype precedence rules set for this field, the insured name presented on the extract would be “Acme Corp Inc.”