Mockers
Last updated
Last updated
Mockers can be especially useful in the following situations:
To fill columns that contain directly identifiable information, such as Personally Identifiable Information (PII).
To fill columns that do not contain any data yet. Also, see: related FAQ question.
You can apply mockers in two different manners, via the Job Configuration tab, or via the PII tab.
You can apply a mocker on a column via the Job Configuration tab as follows:
Open your Workspace.
On the Job Configuration tab, select the column icon on the top left of the column where you want to apply a mocker.
Under Column settings > Generation Method, select Mocker to view the list of available mockers.
Select the Mocker that you wish to apply from the dropdown list of available mockers.
Set the relevant mocker parameters.
Select Confirm.
You can apply a mocker on a column via the PII tab as follows: Identify PII columns manually.
To edit any mock data settings you have applied previously:
Open your Workspace.
Now you can either:
On the Job Configuration tab, select the column icon on the top left of the column where you want to edit a mocker.
On the Job Configuration tab, under Applied steps, select the Edit icon next to the column name where you want to edit a mocker.
On the PII tab, select the Edit icon behind the column where you want to edit a mocker.
Under Generation Method, define the parameters that you want to change.
Select Confirm.
When setting the parameters for a mocker, you have various options to tailor the data according to your needs. Here are the main mocker parameters that are shared across mockers:
Consistent mapping
Description: Enabling the consistent mapping allows you to generate the same mock data values for a given set of original data values every time the mocker is applied.
Options:
Enable: Turn on to consistently generate the same mock values for the same some original values.
Disable: Turn off consistent mapping to generate random mock data.
Considerations: It is possible that same original input value is consistently mapped to the same output mock value. For example, John and Mike in the original data can possibly both be mapped to Eric in the mock data.
Usage: When you need to consistently generate the same mock values for testing or demonstration purposes.
For more information on consistent mapping, please check Consistent mapping.
Unique
Description: This option ensures that only unique values are generated in the specified column.
Options:
Enable: Turn on to generate only unique values.
Disable: Turn off to allow for repeated values.
Considerations: When the range of possible values is small, it may become impossible to generate unique values after a certain number of iterations.
Usage: When mocking columns that should contain distinct values like IDs or usernames.
Mocker
Return Type
Description
Aba
String
A 9-digit American Bankers Association routing number used for electronic transactions.
Address
String
A street address, including street name and number, city, state/province, and postal code.
Age
Integer
A numerical representation of a person's age.
AM or PM
String
Either 'AM' or 'PM'.
Android platform token
String
A 10-character Android platform token.
Ascii company email
String
An ASCII company email address.
ASCII email
String
An ASCII email address.
ASCII free email
String
An ASCII free email address.
ASCII safe email
String
An ASCII safe email address.
Bank branch code
String
A numeric identifier for a specific bank branch.
Bank code
String
A numeric identifier for a bank institution.
Bank country
String
A country that uses the International Bank Account Number (IBAN) system.
Bank location code
String
A code representing the geographical location of a bank.
BBAN
String
A Basic Bank Account Number (BBAN) used in countries that do not use the IBAN system.
Boolean
Boolean
Either True or False.
BSN
String
A Dutch citizen service number (Burgerservicenummer).
Bs
String
A business slogan or catchphrase.
Building number
String
A building number.
Catch phrase
String
A catchphrase or slogan used by a company.
Century
String
A century, such as '19th' or '21st'.
City
String
A city name.
City suffix
String
A common suffix for city names, such as 'town' or 'ville'.
Color
String
A random color in hexadecimal format.
Color (HSL)
String
A random color using the HSL (Hue, Saturation, Lightness) color model.
Color (HSV)
String
A random color using the HSV (Hue, Saturation, Value) color model.
Color (RGB)
String
A random color using the RGB (Red, Green, Blue) color model.
Color name
String
A color name, such as 'red' or 'green'.
Company
String
A company name.
Company description
String
A brief summary describing a company's operations or services.
Company email
String
A company email address.
Company suffix
String
A common suffix for company names, such as 'Inc.' or 'Ltd.'.
Coordinate
String
A random geographical coordinate (latitude and longitude).
Country
String
A country name.
Country code
String
A two-letter country code, such as 'US' or 'GB'.
Credit card number
String
A valid credit card number.
Credit card provider
String
A credit card provider name, such as 'Visa' or 'MasterCard'.
Credit card security code
String
A security code for a credit card.
Cryptocurrency
String
A cryptocurrency name.
Cryptocurrency code
String
A cryptocurrency code, such as 'BTC' or 'ETH'.
Cryptocurrency name
String
A cryptocurrency name.
Currency
String
A currency name.
Currency code
String
A three-letter currency code, such as 'USD' or 'EUR'.
Currency name
String
A currency name.
Currency symbol
String
A random currency symbol.
Day of month
String
A day of the month, from 1 to 31.
Day of week
String
A day of the week, such as 'Monday' or 'Friday'.
Degree
String
A formal educational degree, such as Bachelor’s or Master’s degree.
DE TIN
String
A German Tax Identification Number (Steuerliche Identifikationsnummer).
Domain name
String
A domain name, such as 'example.com'.
Domain word
String
A single word that could be used in a domain name.
Driving license
String
A government-issued driving license number.
ES TIN
String
A Spanish Tax Identification Number (Número de Identificación Fiscal).
Ethnicity
String
A descriptor for a person’s ethnic background.
File extension
String
A random file extension from a set of common file types.
File name
String
A random file name including an extension.
File path
String
A random file path, optionally including a file name at the end.
Firefox
String
A user agent string for the Firefox browser.
First name
String
A first name.
First name female
String
A female first name.
First name male
String
A male first name.
First name nonbinary
String
A non-binary first name.
Free email
String
A free email address.
Free email domain
String
A domain name used for free email addresses.
Health plan name
String
The name of a health insurance plan.
Hex color
String
A hexadecimal color code, such as '#FF0000'.
Honorific
String
A formal title used before a person's name, such as Mr. or Dr.
Host name
String
A random host name for a website or a networked device.
HTTP method
String
An HTTP method, such as 'GET' or 'POST'.
HTTP status code
String
A random HTTP status code from a list of commonly used codes.
IANA ID
String
An Internet Assigned Numbers Authority (IANA) ID.
IBAN
String
An International Bank Account Number (IBAN).
ICD9
String
A code from the International Classification of Diseases, 9th Revision.
ICD10
String
A code from the International Classification of Diseases, 10th Revision.
iOS platform token
String
An Apple iOS platform token.
Insurance policy number
String
A unique identifier for an insurance policy.
Internet explorer
String
A user agent string for the Internet Explorer browser.
IPv4
String
An IPv4 address.
IPv4 network class
String
The network class of an IPv4 address.
IPv4 private
String
A private IPv4 address.
IPv4 public
String
A public IPv4 address.
IPv6
String
An IPv6 address.
ISBN-10
String
An ISBN-10 book identifier.
ISBN-13
String
An ISBN-13 book identifier.
IT TIN
String
An Italian Tax Identification Number (Codice Fiscale).
ITIN
String
A U.S. Individual Taxpayer Identification Number.
Job
String
A job title, such as "Marketing Manager" or "Software Engineer".
JP TIN
String
A Japanese Tax Identification Number.
Language code
String
A language code, such as "en" for English or "fr" for French, based on ISO 639-1.
Language name
String
The name of a language, such as "English" or "French", based on ISO 639-1.
Last name
String
A last name, such as "Smith" or "Garcia".
Last name female
String
A last name suitable for a female person, such as "Johnson" or "Gonzalez".
Last name male
String
A last name suitable for a male person, such as "Smith" or "Rodriguez".
Last name nonbinary
String
A last name suitable for a nonbinary person, such as "Taylor" or "Lee".
Latitude
Decimal
A randomly generated latitude coordinate in the range of -90.0 to 90.0.
Longitude
Decimal
A randomly generated longitude coordinate in the range of -180.0 to 180.0.
Latitude longitude
Decimal
A tuple of (latitude, longitude) coordinates.
License plate
String
A randomly generated license plate number.
Linux platform token
String
A randomly generated Linux platform token.
Linux processor
String
A randomly generated Linux processor name.
Locale
String
A randomly generated locale string.
Localized ean13
String
A randomly generated localized EAN-13 barcode number.
Localized ean8
String
A randomly generated localized EAN-8 barcode number.
Mac address
String
A randomly generated MAC address.
Mac platform token
String
A randomly generated macOS platform token.
Mac processor
String
A randomly generated macOS processor name.
Major
String
An academic major or field of study.
Marital status
String
A descriptor of a person's marital condition.
Medical history
String
A summary of a patient's past medical events and conditions.
Medical procedure
String
A description of a medical procedure performed.
MD5
Bytes, String
A randomly generated MD5 hash.
Month
String
A randomly generated month number in the range of 1 to 12.
Month name
String
A randomly generated month name.
Name
String
A randomly generated full name.
Name female
String
A randomly generated female full name.
Name male
String
A randomly generated male full name.
Name nonbinary
String
A randomly generated non-binary full name.
NIF
String
A Spanish Tax Identification Number (Número de Identificación Fiscal).
NINO
String
A UK National Insurance Number.
Null boolean
Boolean
A randomly generated boolean value or null.
Opera
String
A randomly generated Opera browser user agent string.
Passport number
String
An identifier found on a passport document.
Phone number
String
A randomly generated phone number.
Port number
Integer
A random network port number used for computer networking.
Postcode
String
A randomly generated postal code.
Prefix
String
A randomly generated name prefix.
Prefix female
String
A randomly generated female name prefix.
Prefix male
String
A randomly generated male name prefix.
Prefix nonbinary
String
A randomly generated non-binary name prefix.
Pricetag
String
A randomly generated price tag in a format like $12.34.
Pronoun
String
A word used to refer to a person without using their name.
Pybool
Boolean
A randomly generated Python boolean value.
Random digit
Integer
A randomly generated digit character.
Random digit not null
Integer
A randomly generated non-zero digit character.
Random digit not null or empty
String
A randomly generated non-zero digit or an empty string.
Random digit or empty
String
A randomly generated digit or an empty string.
Random letter
String
A randomly generated letter character.
Random lowercase letter
String
A randomly generated lowercase letter character.
Random uppercase letter
String
A randomly generated uppercase letter character.
Religion
String
A descriptor for a person’s religious belief or affiliation.
Rgb color
String
A randomly generated RGB color in the format (r, g, b).
Rgb css color
String
A randomly generated RGB color in the format "rgb(r, g, b)".
Ripe id
String
A randomly generated RIPE network identifier.
Safari
String
A randomly generated Safari browser user agent string.
Safe color name
String
A randomly generated safe color name.
Safe domain name
String
A randomly generated safe domain name.
Safe email
String
A randomly generated safe email address.
Safe hex color
String
A randomly generated safe hexadecimal color.
Salary
Integer
A numerical representation of a person's salary.
Sex type
String
A descriptor indicating a person's biological sex.
Sexual orientation
String
A descriptor for a person’s sexual orientation.
SIN
String
A Canadian Social Insurance Number.
SHA-1
Bytes, String
A randomly generated SHA-1 hash.
SHA-256
Bytes, String
A randomly generated SHA-256 hash.
SSN
String
A randomly generated US Social Security Number.
Street address
String
A randomly generated street address.
Street name
String
A randomly generated street name.
Street suffix
String
A randomly generated street suffix.
Suffix
String
A randomly generated name suffix.
Suffix female
String
A randomly generated female name suffix.
Suffix male
String
A randomly generated male name suffix.
Suffix nonbinary
String
A randomly generated non-binary name suffix.
Swift
String
A randomly generated SWIFT/BIC code.
Swift11
String
A randomly generated 11-character SWIFT/BIC code.
Swift8
String
A randomly generated 8-character SWIFT/BIC code.
Time
String
A random time of day.
Timezone
String
A string representing a timezone, such as "America/New_York" or "UTC".
Tld
String
A top-level domain name, such as "com", "org", or "net".
Unix time
Decimal
A random Unix timestamp, representing seconds since the Unix epoch (January 1, 1970).
Uri
String
A complete URI, including scheme, hostname, path, and query parameters.
Uri extension
String
A file extension, such as ".html" or ".pdf", suitable for use in a URI.
Uri page
String
A URI path component suitable for use as a page name or ID, such as "/about".
URL
String
A complete URL, including scheme, hostname, path, query parameters, and fragment identifier.
User agent
String
A string representing a web browser user agent, such as "Mozilla/5.0".
User name
String
A string representing a username, typically formatted as "firstname.lastname".
UUID
UUID
A string representing a UUID (universally unique identifier) in version 4 format.
VAT ID
String
A randomly generated VAT ID, supported for specific locales.
Vehicle identification number
String
A unique identifier for a motor vehicle.
Vehicle name
String
The name or model of a vehicle.
Windows platform token
String
A string representing a version of the Windows operating system, like "Windows NT 10.0".
Year
String
A randomly generated year between 1 AD and the current year.
String
Generates a string with each placeholder in custom text
replaced according to the following rules:
Number signs (#) are replaced with a random digit (0 to 9).
Question marks (?) are replaced with a random character from letters
.
By default, letters
contains all ASCII letters, uppercase and lowercase.
Note: When adding a Custom text mocker as part of an initialization mode (when creating a workspace), there is a limit of 100 ?
placeholders in the custom text input.
If you configure:
The results will be:
Integer
Generate numeric values with each placeholder in custom integer
replaced according to the following rules:
Number signs (‘#’) are replaced with a random digit (0 to 9).
Percent signs (‘%’) are replaced with a random non-zero digit (1 to 9).
Dollar signs (‘$’) are replaced with a random digit above two (2 to 9).
Additionally, any digits between 0 and 9 can be used in the pattern, apart from 0 as the first character.
For example, '%#$#' will create a 4 digit number following the rules above.
If you configure:
The results will be:
Date
A random date object between two specified date objects, from year until days.
If you configure:
The results will be:
Generates random date or datetime values between a specified range.
Datetime
A random datetime object between two specified datetime objects, from year until seconds.
String
(String version): Returns a formatted string representation of a random datetime object between two specified datetime objects, from year until seconds..
Start date
: The start date for the generation range. (Format: %d/%m/%Y %H:%M:%S
)
End date
: The end date for the generation range.
Blank
: Percentage of missing values (0 to 100%
).
Date format
: (String version only) Optional parameter to return the result in a custom string format (e.g., "%d/%m/%Y %H:%M:%S"
).
If you configure:
The results will be:
If you configure:
The results will be:
Generates a sequence of date or datetime values at regular intervals based on a specified time unit and step size.
Datetime
A series of datetime values based on a specified start date, time unit, and time increment.
String
(String version): Returns a series of formatted datetime strings based on a specified start date, time unit, and time increment.
Start date
: The starting date or datetime for the series.
Blank
: Percentage of missing values (0 to 100%
).
Time unit
: The unit of time for the step increment ("day"
, "week"
, "month"
, "year"
).
Number
: The number of units to step forward per iteration.
Date format
: (String version only) Optional parameter for formatted string output.
If you configure:
The results will be:
If you configure:
The results will be:
JSON
This mocker uses Faker to create randomized, complex JSON data, simulating real-world scenarios with specified data types across fields.
Parameters:
data_columns
(dict): Specification for the data structure
num_rows
(int): Number of rows the returned
indent
(int): number of spaces to indent the fields
cls
(json.JSONEncoder): Optional JSON encoder to use for non-standard objects such as datetimes
Returns:
A string
representation of the generated JSON data.
If you configure:
The results will be:
String or Numeric (depending on provided values)
A random string object, sampled from a provided list of input values.
Parameters:
values
(comma separated values): The list of values to sample from.
Returns:
A randomly sampled value from values
.
If you configure:
The results will be:
Decimal
Generates a random float between two given values.
Parameters:
min_value
(float): The minimum value of the float (inclusive).
max_value
(float): The maximum value of the float (exclusive).
precision
(int, optional): The number of decimal places to include in the float (default is 10
, which generates a float with up to 10 decimal places).
Returns:
A random float between min_value
and max_value
, with precision
decimal places.
If you configure:
The results will be:
Integer
uniform_integer
: Generates a random integer between two given values.
Parameters:
min_value
(int): The minimum value of the integer (inclusive).
max_value
(int): The maximum value of the integer (exclusive).
Returns:
A random integer between min_value
and max_value
.
If you configure:
The results will be:
Numeric Series: Generates integer series at given steps.
Parameters:
Start
(int): The minimum value of the integer (inclusive).
Step
(int): The step at a size integer series will continue.
Returns:
Integer series starting at Start
with Steps
. If Start
= 2 and Steps
= 3, then series will be 2,5,8,11...
If you configure:
The results will be:
Syntho supports each mocker in multiple different languages. For the complete list of supported languaged, see the following section:
The default language used by each mocker is English (United States). In case a language is not available for a particular mocker, the mocker will revert back to this language.
Constraints on Key Columns: Mockers cannot be applied to primary key or foreign key columns.
Column-by-Column Operation: Mockers function on individual columns. At this point, they can't be used to preserve logical relationships across multiple columns.
Automatically Cutoff Values: The Syntho platform automatically cuts off generated mock string/text values based on the data type's supported length. For example, a mocker applied on an NVARCHAR(5) column, will cutoff all values beyond the first 5 characters of the string.
Automatically Clip Values: The Syntho platform automatically clips numerical values that exceed the maximum or minimum size, to the largest or smallest value supported by the data type, respectively.
No Link with Original Records: Mockers do not link back to the original data records, enhancing privacy but potentially reducing the usefulness of the data. If you want to retain the link with the original values, you can enable the Consistent Mapping feature.
Database Type Compatibility: The return type of a mocker indicates its compatibility with specific database data types. For example, a mocker with a String return type is compatible with database types like (N)VARCHAR or TEXT, but not with a database type INTEGER. It is important to this into account when applying mockers on your columns to prevent your data generation job to fail.
Being aware of these limitations and considerations will help you effectively use mockers while understanding their constraints.
For more information, refer to the .